Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[vim] les copie en console foire ...(resolu)
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Anthyme
Guru
Guru


Joined: 25 Jun 2004
Posts: 498

PostPosted: Thu Oct 26, 2006 8:58 am    Post subject: [vim] les copie en console foire ...(resolu) Reply with quote

Bonjour!

J'ai un probleme pas vraiment neuf mais qui commence a me les briser ...

J'aimerai savoir pourquoi, lorsque je colle du texte dans vim via une console (comme gnome-terminal)

le texte copier :

Code:

<ul>
    <li/>toto
    <li/>tata
</ul>


ça me donne des truc dans ce style la une fois copier dans vim :

Code:

<ul>
    <li/>toto
        <li/>tata
                    </ul>


Là sur 4 ligne c'est pas tres génant mais sur 20 ligne l'effet est démultiplié ... une ligne en prend 5 remplis de tabulations ...
Et ca ne me le fait pas dans emacs !!! c'est ça qui m'enerve le plus !

Si vous avez une solution ...

Merci !
_________________
Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire...


Last edited by Anthyme on Thu Oct 26, 2006 9:24 am; edited 1 time in total
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2868
Location: Grenoble, France

PostPosted: Thu Oct 26, 2006 9:05 am    Post subject: Reply with quote

deux solutions
soit tu utilises
Code:
set paste
puis
Code:
set nopaste
quand tu as fini de coller, ça te permet de garde rl'auto indentation pour le reste
Sinon dans ton .vimrc tu mets set pastetoggle=<F12> (ou autre touche) et tu appuies sur F12 pour passer en mode copie ou en sortir.

Dernièrement, tu veux enlever l'autoindententation, ce qui est pas pratique pour le reste avec set noai
Back to top
View user's profile Send private message
Anthyme
Guru
Guru


Joined: 25 Jun 2004
Posts: 498

PostPosted: Thu Oct 26, 2006 9:24 am    Post subject: Reply with quote

ok merci :)
_________________
Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire...
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2868
Location: Grenoble, France

PostPosted: Thu Oct 26, 2006 9:27 am    Post subject: Reply with quote

Mais de rien.
Au passage la recherche "vim indentation" sur le forum français t'aurais donné la réponse. Enfin je dis ça je dis rien.
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Thu Oct 26, 2006 12:51 pm    Post subject: Reply with quote

j'connaissais pas l'astuce du set past / nopaste, moi je faisais simplement:
Code:
:set noautoindent
et son copain
Code:
:set autoindent

j'suis d'accord, ce commentaire ne sert pas à grand chose, si ce n'est à nous conforter dans le fait qu'il existe toujours plein de manière de faire la même chose... :)
_________________
The End of the Internet!
Back to top
View user's profile Send private message
SoukoussMan
n00b
n00b


Joined: 15 Aug 2006
Posts: 32
Location: Montrouge (92)

PostPosted: Fri Oct 27, 2006 5:31 am    Post subject: Reply with quote

truc wrote:
j'connaissais pas l'astuce du set past / nopaste, moi je faisais simplement:
Code:
:set noautoindent
et son copain
Code:
:set autoindent

j'suis d'accord, ce commentaire ne sert pas à grand chose, si ce n'est à nous conforter dans le fait qu'il existe toujours plein de manière de faire la même chose... :)


Encore une :
Quote:
:set noai


:)
_________________
-----
Gentoo 4 Ever
-----
Back to top
View user's profile Send private message
Temet
Advocate
Advocate


Joined: 14 Mar 2006
Posts: 2579
Location: 92

PostPosted: Fri Oct 27, 2006 6:25 am    Post subject: Reply with quote

Même avec ces commandes, il me rajoute un espace au début de chaque ligne ... l'utilise kwrite rien qu'à cause de ça quand je dois c/c dans des fichiers de conf....
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1590
Location: 127.0.0.1

PostPosted: Fri Oct 27, 2006 9:05 am    Post subject: Reply with quote

Temet wrote:
l'utilise kwrite rien qu'à cause de ça quand je dois c/c dans des fichiers de conf....


copié/coupé/collé :
Toutes les opérations se font en mode commande (mode par défaut de vim lors de l'ouverture d'un fichier, sauf si vous avez spécifié un autre mode par défaut dans votre .vimrc)

  • vous positionnez le curseur sur la ligne que vous voulez copier/couper
  • raccourcis claviers copié :

    • yy --> la ligne actuelle vient d'être copiée
    • y2y --> 2 lignes viennent d'être copiées, en partant de la ligne actuelle
    • y3y --> 3 lignes viennent d'être copiées, en partant de la ligne actuelle
    • ...

  • raccourcis claviers coupé :

    • dd --> la ligne actuelle vient d'être coupée
    • d2d --> 2 lignes viennent d'être coupées, en partant de la ligne actuelle
    • d3d --> 3 lignes viennent d'être coupées, en partant de la ligne actuelle
    • ...

  • collage :

    • dans le même fichier : positionnez-vous à l'endroit où vous vous coller, appuyez sur p.
    • dans un autre fichier (si vous avez coupé, il faut sauvegarder le fichier d'origine avant d'en ouvrir un autre) :

      • :sp /chemin/vers/fichier (ou :sp enew pour nouveau fichier)
      • p pour coller
      • raccourci Ctrl-ww pour passer d'un fichier à l'autre


Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2868
Location: Grenoble, France

PostPosted: Fri Oct 27, 2006 10:57 am    Post subject: Reply with quote

Mais c'est qu'on apprends des choses intéressantes sur vim ici.
Déjà, j'ai toujours cru que dd d2d etc, c'était pour supprimer définitivement, pas pour couper. Du coup je vais pouvoir l'utiliser avec moins de craintes le d15d dans les gros trucs où j'ai des blocs à supprimer :)
Back to top
View user's profile Send private message
Anthyme
Guru
Guru


Joined: 25 Jun 2004
Posts: 498

PostPosted: Sat Oct 28, 2006 10:03 am    Post subject: Reply with quote

Moi je pensais au copier en dehors du logiciel (comme dans un firefox par exemple pour rajouter des lignes de conf)

hummm je prefere quand même emacs pour ce genre de manipulation... les racourci clavier c'est plus rapide que de taper des commandes...
ctrl + k => coupe jusqu'a la fin de ligne actuel et la met dans un buffer
alt + d => coupe le mot suivant et la met dans un buffer
ctrl + y => colle tout ce qui a été mis dans le buffer

pour les débutants qui aimerai s'y mettre : voici le minimum vital :

ctrl + x , ctrl + s => Enregistrer
ctrl + w => Enregistrer Sous
ctrl + x , ctrl + c => Quitter
ctrl + r => Rechercher

;)
_________________
Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire...
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3755
Location: Lyon, France

PostPosted: Sat Oct 28, 2006 10:14 am    Post subject: Reply with quote

Anthyme wrote:
hummm je prefere quand même emacs pour ce genre de manipulation... les racourci clavier c'est plus rapide que de taper des commandes...

Les équivalents sous vim :
Anthyme wrote:
ctrl + k => coupe jusqu'a la fin de ligne actuel et la met dans un buffer

d$
Anthyme wrote:
alt + d => coupe le mot suivant et la met dans un buffer

daw coupe tout le mot sous le curseur (delete a word), dw coupe depuis le curseur jusqu'à la fin du mot, espace suivant compris, de pareil mais sans l'espace suivant.
Anthyme wrote:
ctrl + y => colle tout ce qui a été mis dans le buffer

p (déjà dit celui là)

Bon et bien sûr, ya énormement de combinaisons comme ça :)

EDIT: et donc c'est lequel le plus simple pour taper des commandes hein ? :D
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
Anthyme
Guru
Guru


Joined: 25 Jun 2004
Posts: 498

PostPosted: Sat Oct 28, 2006 10:43 am    Post subject: Reply with quote

nan mais justement moi je soutien le faite qu'un combinaison de touche c bien plus rapide que de tapper des commandes :

je veux deplacer 4 mots :

Je fais 4 fois alt + d, je me deplace et je fais ctrl + y et c'est fini

Avec vim je doit deja me mettre en mode console : touche inser, ensuite je me de place sur les mots a copier puis je doit taper un certain nom de fois la comande pour couper le mot en suite je me redeplace, il faut que je retape une comande de copie puis ensuite je réapuie sur inser pour me remetre en mode edition.

Meme si il n'y avais eu q'un mot ça aurai été plus rapide avec emacs !
_________________
Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire...
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2868
Location: Grenoble, France

PostPosted: Sat Oct 28, 2006 10:53 am    Post subject: Reply with quote

Je pense qu'il y a certainement la possibilité de faire d4w ou quelque chose du genres sous vim, pour couper directement les 4 mots, ce qui se révèle même plus rapide que sous Emacs.
Quoi qu'il en soit, si c'est pour troller sur VI Vs EMACS, on a fait un DOW dessus et déjà beaucoup a été dit :
http://forums.gentoo.org/viewtopic-t-433303.html
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3755
Location: Lyon, France

PostPosted: Sat Oct 28, 2006 11:09 am    Post subject: Reply with quote

Anthyme wrote:
nan mais justement moi je soutien le faite qu'un combinaison de touche c bien plus rapide que de tapper des commandes :

je veux deplacer 4 mots :

Je fais 4 fois alt + d, je me deplace et je fais ctrl + y et c'est fini

Avec vim je doit deja me mettre en mode console : touche inser, ensuite je me de place sur les mots a copier puis je doit taper un certain nom de fois la comande pour couper le mot en suite je me redeplace, il faut que je retape une comande de copie puis ensuite je réapuie sur inser pour me remetre en mode edition.

Meme si il n'y avais eu q'un mot ça aurai été plus rapide avec emacs !

ESC, je me déplace sur le premier mot, 4daw, je me redéplace et p. Je vois ce qu'il y a de plus lent :)
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sat Oct 28, 2006 11:38 am    Post subject: Reply with quote

kiorky m'avait filé ce lien, c'est une vraie mine d'information ce truc (le lien..):
http://truth.sk/vim/vimbook-OPL.pdf

quelque chose d'un peu plus concentré:
http://www.faqs.org/docs/Linux-HOWTO/Vim-HOWTO.html#vim-tutorial
_________________
The End of the Internet!
Back to top
View user's profile Send private message
Anthyme
Guru
Guru


Joined: 25 Jun 2004
Posts: 498

PostPosted: Sat Oct 28, 2006 11:54 am    Post subject: Reply with quote

geekounet wrote:

ESC, je me déplace sur le premier mot, 4daw, je me redéplace et p. Je vois ce qu'il y a de plus lent :)

Ahhh ca fait plaisir de voir un lapsus si révélateur !! ;)

Escuse moi mais je pense pas que que tapper 4daw au clavier puis entrée ca soit plus rapide que de faire ctrl maintenu puis k,k,k,k sans parler des echap et insert a refaire

Mais bon comme je sent que tu va pas me croire je vais decortiquer avant de me faire bannir par les modos !

VIM :
- J'apuie sur la touche "echap"
- J'enfonce shift (clavier azerty bien sur)
- J'appuie sur le '4'
- Je tape 'd' puis 'a' puis 'w'
- Je vais ou je veux
- Je tape p
- Pour continuer l'édition je doit repasser en mode edition donc "inser" ou "i"

EMACS :
- J'enfonce ctrl
- Je fais 4 fois k (et comme c'est la même touche ca va plus vite que de chercher des touches sur le clavier !)
- je vais ou je veux
- ctrl + y

emacs a une ergonomie plus rapide, c'est assez évidant !

CQFD
_________________
Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire...
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2868
Location: Grenoble, France

PostPosted: Sat Oct 28, 2006 12:01 pm    Post subject: Reply with quote

là on peut pousser les choses plus loin. Sur un azerty, tu as aussi le pavé numérique, donc pas besoin du shift.
Ensuite, taper quatre fois une même touche rapidement, t'es pas sur du nombres (enfin, sauf si on voit les mots disparaitres au fur et à mesure)
Puis, ne plus être en mode edition, ça permet de pas faire de boulette en appuyant sur une mauvaise touche aussi.
Moi je vote, le troll s'arrête ici avant que les modos s'en mêlent :p
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sat Oct 28, 2006 3:43 pm    Post subject: Reply with quote

Anthyme wrote:
emacs a une ergonomie plus rapide, c'est assez évidant !
CQFD

je suis aussi contre le troll, je ne vois pas non plus l'interet de dire tout ça.. mais bon.. pour avoir utiliser emacs, et maintenant vim, je dirai que tout est question d'habitude..

Maintenant, si je dois effacer les 17 mots, ou mieu, si je dois effacer tous les mots à partir du mot courant jusqu'a qu'a l'ocurrence de 'the' alors, mon choix quand à l'éditeur est très vite fait...

l'avantage des commandes n'est plus à démontrer, j'préfère rentre un commande que de cliquer sur 4 bouton pour faire la même chose..., mais il en faut pour tout le monde.. donc pourquoi pas! Mais dire que c'est lent montre que tu n'as pas eu besoin de faire des opérations un peu tordues, car pour de tels opérations le gain en temps est indéniable, maintenant, il est vrai que pour effacer 2-3 mots, c'est plus rapide avec un ptit coup de ^K ;)

EDIT: d'autre part, on ne débat pas comme ça en annonçant une soidisant évidence! c'est de la démagogie! (enfin presque quoi..)
EDIT2: d'autre part
Quote:
et comme c'est la même touche ca va plus vite que de chercher des touches sur le clavier !

et bien non, et c'est probablement d'ailleurs une des raisons pour lesquelles le morse n'est plus vraiment utilisé...
_________________
The End of the Internet!
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3755
Location: Lyon, France

PostPosted: Sat Oct 28, 2006 3:58 pm    Post subject: Reply with quote

truc wrote:
Maintenant, si je dois effacer les 17 mots, ou mieu, si je dois effacer tous les mots à partir du mot courant jusqu'a qu'a l'ocurrence de 'the' alors, mon choix quand à l'éditeur est très vite fait...

Ha tiens, j'avais pas encore pensé à faire ça, mais j'ai vite trouvé : d/le_mot :) c'est formidable comment on peut combiner toutes ces commandes :) VI 4EVA ! :D
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sat Oct 28, 2006 4:08 pm    Post subject: Reply with quote

c'est encore mieux, tu peux même faire d3/lemot pour effacer jusqu'a la troisième occurence.. donc vala quoi;)
_________________
The End of the Internet!


Last edited by truc on Sun Oct 29, 2006 12:10 am; edited 1 time in total
Back to top
View user's profile Send private message
Anthyme
Guru
Guru


Joined: 25 Jun 2004
Posts: 498

PostPosted: Sat Oct 28, 2006 4:34 pm    Post subject: Reply with quote

C'est un peu facile de dire qu'on est contre le troll pour le relancer dans la phrase suivante ...

Moi je peux réenchainner en disant que les commande existe aussi en emacs ... bien que je ne voyent pas l'interet de couper un nombre de mot prédéfini à l'avance, moi je coupe les mots les un apres les autres jusqu'a ce que je n'ai plus envie d'en retirer a cette endroit la (en général on utilise ca au milieu de lignes de codes pour deplacer des morceaux de lignes et on ne s'amuse pas a compter les mots à l'avance)

bon moi je ne suis pas spécialement contre les comparaisons d'éditeurs même si je n'etait pas du tout venu pour ça ... appellez ça troll si vous voullez, mais que ce soit en éditeur en langage ou en top model, y a toujours des difference, des avantage etc ... et je vois pas pourquoi il serait INTERDIT d'en parler ...

Je voullais à la base je voullais juste parler d'une alternative que je trouvais plus rapide pour l'avoir tester (et pourtant j'ai bien plus utiliser vim que emacs, et je trouve deja qu'emacs est bien au dessus) je me suis dis que ça interesserait ceux qui galeraient avec vim... (notement temet)

Apres si même ma demonstration n'arrive pas a vous convaincre, tester le vous même et vons comprendrez vite ...

Bon pour ceux que ca interresse voici un comparatif dedié a l'emacs VS vim :

[url]http://fr.wikipedia.org/wiki/Guerre_d'éditeurs[/url]

moi j'ajouterais plus rien ici car j'ai d'autres trucs a faire ...

@++
_________________
Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire...
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sat Oct 28, 2006 5:14 pm    Post subject: Reply with quote

on s'est mal compris
Quote:
je ne vois pas non plus l'interet de dire tout ça.
ça voulait dire que je savais que ça trollait ici, mais que j'allais quand même modre à l'hameçon

et
Quote:
maintenant, il est vrai que pour effacer 2-3 mots, c'est plus rapide avec un ptit coup de ^K
monter bien que j'étais d'accord avec toi sur ce point. C'est jusque que je n'ai pas balancé quelque chose comme;
Quote:
emacs a une ergonomie plus rapide
A la limite sans le plus j'pourrai me dire que c'est ton opinion , mais là.. c'est énorme et bien poilu.. :lol:


voili-voilou..
Sinon, voici quelque chose que je viens d'avoir à faire, à l'instant même du moement précis! c'est pour des trucs comme ça que les guerre d'éditeur sont aussi passionnées!

voila ce que j'ai
Code:
static const char *BOLD = MAKE_COLOR("00", "01");
static const char *NORM = MAKE_COLOR("00", "00");
static const char *BLUE = MAKE_COLOR("36", "01");
static const char *DKBLUE = MAKE_COLOR("34", "01");
static const char *CYAN = MAKE_COLOR("00", "36");
static const char *GREEN = MAKE_COLOR("32", "01");
static const char *DKGREEN = MAKE_COLOR("00", "32");
static const char *MAGENTA = MAKE_COLOR("00", "35");
static const char *RED = MAKE_COLOR("00", "31");
static const char *BRED = MAKE_COLOR("31", "01");
static const char *YELLOW = MAKE_COLOR("00", "33");
static const char *BYELLOW = MAKE_COLOR("01", "33");
static const char *WHITE = MAKE_COLOR("01", "37");
et voici ce que je veux
Code:
BOLD, NORM, BLUE, DKBLUE, CYAN, GREEN, DKGREEN, MAGENTA, RED, BRED, YELLOW, BYELLOW, WHITE


donc voila, j'me mets sur la première ligne première colonne, et bam:
q a (commence d'enregistrer une macro de nom 'a' )
d f *
f ' ' (le caractère espace)
c $
, ' '
ESC (retour au mode commande)
J (pour joindre la ligne suivante à la ligne courante)
q (pour arreter d'enregistrer la macro)

à ce stade, j'ai

Quote:
BOLD, static const char *NORM = MAKE_COLOR("00", "00");
static const char *BLUE = MAKE_COLOR("36", "01");
static const char *DKBLUE = MAKE_COLOR("34", "01");
static const char *CYAN = MAKE_COLOR("00", "36");
static const char *GREEN = MAKE_COLOR("32", "01");
static const char *DKGREEN = MAKE_COLOR("00", "32");
static const char *MAGENTA = MAKE_COLOR("00", "35");
static const char *RED = MAKE_COLOR("00", "31");
static const char *BRED = MAKE_COLOR("31", "01");
static const char *YELLOW = MAKE_COLOR("00", "33");
static const char *BYELLOW = MAKE_COLOR("01", "33");
static const char *WHITE = MAKE_COLOR("01", "37");

avec le curseur sur le 's'

donc si je fais @a ça me refait la même operation, mais bon, autant profiter du fait qu'on peut lancer plusieurs fois la commande, donc, donc je fais au hasard 15@a (y'en a surement trop mais bon..) et voila ce que j'ai
Code:
BOLD, NORM, BLUE, DKBLUE, CYAN, GREEN, DKGREEN, MAGENTA, RED, BRED, YELLOW, BYELLOW, WHITE,
ne me reste plus qu'à effacer la dernière virgule en trop..

Bon certes sur ce coup, en vous expliquant tout ça, j'ai reperdu le temps gagné mais bon.. :)
_________________
The End of the Internet!
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3755
Location: Lyon, France

PostPosted: Sat Oct 28, 2006 5:37 pm    Post subject: Reply with quote

truc je t'adore \o/ :D
J'aurai encore appris plein de choses aujourd'hui :)
_________________
Google+ | Twitter
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1590
Location: 127.0.0.1

PostPosted: Sat Oct 28, 2006 5:38 pm    Post subject: Reply with quote

@truc : sympa, merci :D

Je suis loin de connaître tout çà, je vais vous expliquer pourquoi, je crois que vous allez rire.
La première chose que j'ai faite en commençant vim, c'est bien sûr : :help

Dès le début de l'aide, il est noté :
Quote:

Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].

Et bien, je ne sais pas pour vous, mais ici, CTRL-] çà ne fait rien du tout.
Alors après, pas évident de naviguer dans l'aide :lol:
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2868
Location: Grenoble, France

PostPosted: Sat Oct 28, 2006 5:40 pm    Post subject: Reply with quote

Ok truc, c'est rapide. Mais faut reconnaitre que ça semble pas du tout évident. Moi je n'utilise que vim, mais je m'en sers aussi que pour modifier mes fichiers de conf (oui j'ai du mal avec nano, qui ferait pourtant très bien l'affaire pour l'utilisation que j'en fais) et ça me semble plus compliqué que le suédois... et pourtant ;)
Enfin bref, y a plus facile.
Sur ce, j'ai appris des trucs, c'est cool. ça me rappelle qu'il faut que j'arrete gedit :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum