View previous topic :: View next topic |
Author |
Message |
Anthyme Guru
Joined: 25 Jun 2004 Posts: 498
|
Posted: Thu Oct 26, 2006 8:58 am Post subject: [vim] les copie en console foire ...(resolu) |
|
|
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 |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Thu Oct 26, 2006 9:05 am Post subject: |
|
|
deux solutions
soit tu utilises puis 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 |
|
|
Anthyme Guru
Joined: 25 Jun 2004 Posts: 498
|
Posted: Thu Oct 26, 2006 9:24 am Post subject: |
|
|
ok merci _________________ Vraiment, je ne suis pas là pour détruire Microsoft. Ça sera juste un effet secondaire tout à fait involontaire... |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Thu Oct 26, 2006 9:27 am Post subject: |
|
|
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 |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Thu Oct 26, 2006 12:51 pm Post subject: |
|
|
j'connaissais pas l'astuce du set past / nopaste, moi je faisais simplement: et son copain
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 |
|
|
SoukoussMan n00b
Joined: 15 Aug 2006 Posts: 32 Location: Montrouge (92)
|
Posted: Fri Oct 27, 2006 5:31 am Post subject: |
|
|
truc wrote: | j'connaissais pas l'astuce du set past / nopaste, moi je faisais simplement: et son copain
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 :
_________________ -----
Gentoo 4 Ever
----- |
|
Back to top |
|
|
Temet Advocate
Joined: 14 Mar 2006 Posts: 2586 Location: 92
|
Posted: Fri Oct 27, 2006 6:25 am Post subject: |
|
|
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 |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1896 Location: 127.0.0.1
|
Posted: Fri Oct 27, 2006 9:05 am Post subject: |
|
|
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 |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Fri Oct 27, 2006 10:57 am Post subject: |
|
|
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 |
|
|
Anthyme Guru
Joined: 25 Jun 2004 Posts: 498
|
Posted: Sat Oct 28, 2006 10:03 am Post subject: |
|
|
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 |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Oct 28, 2006 10:14 am Post subject: |
|
|
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 ? |
|
Back to top |
|
|
Anthyme Guru
Joined: 25 Jun 2004 Posts: 498
|
Posted: Sat Oct 28, 2006 10:43 am Post subject: |
|
|
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 |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Sat Oct 28, 2006 10:53 am Post subject: |
|
|
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 :
https://forums.gentoo.org/viewtopic-t-433303.html |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Oct 28, 2006 11:09 am Post subject: |
|
|
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 |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
|
Back to top |
|
|
Anthyme Guru
Joined: 25 Jun 2004 Posts: 498
|
Posted: Sat Oct 28, 2006 11:54 am Post subject: |
|
|
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 |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Sat Oct 28, 2006 12:01 pm Post subject: |
|
|
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 |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Sat Oct 28, 2006 3:43 pm Post subject: |
|
|
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 |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Oct 28, 2006 3:58 pm Post subject: |
|
|
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 ! |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Sat Oct 28, 2006 4:08 pm Post subject: |
|
|
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 |
|
|
Anthyme Guru
Joined: 25 Jun 2004 Posts: 498
|
Posted: Sat Oct 28, 2006 4:34 pm Post subject: |
|
|
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 |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Sat Oct 28, 2006 5:14 pm Post subject: |
|
|
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..
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 |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Sat Oct 28, 2006 5:37 pm Post subject: |
|
|
truc je t'adore \o/
J'aurai encore appris plein de choses aujourd'hui |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1896 Location: 127.0.0.1
|
Posted: Sat Oct 28, 2006 5:38 pm Post subject: |
|
|
@truc : sympa, merci
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 |
|
Back to top |
|
|
kopp Advocate
Joined: 09 Apr 2004 Posts: 2885 Location: Grenoble, France
|
Posted: Sat Oct 28, 2006 5:40 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|