添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Forum Astuces.divers besoin d'un ou deux conseils pour VIM

Posté par . Étiquettes :

Salut,

je suis de plus en plus adepte de vim. Je suis encore loin de le maîtriser à fond, mais déjà plus productif qu'avec nano ou Gedit. Une ou deux choses me posent encore problème.
j’espère que vous pourrez m'aidez :

quel est la meilleure méthode pour sélectionner tout le document ? (l'équivalent de ctrl-a pour les gens normaux)

est-il possible de faire des copier-coller depuis vim vers une autre app ?
J'arrive à copier vers vim en mode insertion avec MAJ+CTRL+V

Merci

( 13 commentaires ). Markdown

pour tout sélectionner :
– tu te mets tout en haut du document : gg
– passe en mode « visuel ligne » : shift+V
– vas tout en bas : G

pour les copier-coller : c'est un peu galère. Le sélectionner/copier avec le clic du milieu peut fonctionner, à condition de virer la gestion de la souris (:set mouse=)

J'ajouterai que la souris dans ViM, elle est tellement pas pratique, que je préfère ne jamais l'avoir.

Autrement, sur le tout sélectionner, outre ce qui est dit plus haut, géneralement c'est pour en faire qqch, alors autant le faire directement sans sélectionner.

Par exemple pour copier l'intégralité :

  • gg (début)
  • y (yank)
  • G (bas)

Soit en version courte ggyG .

De même pour tout effacer ggdG , pour tout indenter gg=G , pour rewrapper les lignes (si textwidth est défini) gggqG .

Bref, en fait c'est rare qu'on ai vraiment besoin de sélectionner , même si des fois c'est bien pratique.

Et en un peu plus court:
:%y

Et pour le copier/coller, dans mon .vimrc, j'ai mis set clipboard=unnamedplus .
Avec avec ça vim utilise le "presse-papier" (ctrl-c/ctrl-v dans les autres applis) par défaut.
Donc je copie dans vim (yy) et je colle directement ailleurs (ctrl-v), et ça marche aussi dans l'autre sens.

Pour plus d'infos sur ce paramètre: :help 'clipboard'

bon après, ce n'est que pour coller dans vi, ça ne passe pas dans le presse-papier pour coller dans gedit par exemple

Pour ça, il faut utiliser le registre « * » (et que vim soit compilé avec la bonne option). Un coup de « gg"*yG » et c'est dans le presse papier.

Plus d'infos ici .

Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

Sélection de fichier

Pour sélectionner le fichier en entier, il faut aller au début, entrer en mode sélection, et aller à la fin. Ça se traduit par :

Attention, avec ça tu ne sélectionneras que le premier caractère de la dernière ligne. Tu peux donc aller à la fin de la ligne ou, plus simplement, faire les mêmes mouvements en entrant en mode sélection de ligne au lieu de sélection simple :

gg<C-v>G

Copier-coller

Le copier-coller était une vraie plaie, mais je viens tout juste de tomber (grâce à toi, merci) sur le vimtip qui va bien , où on t'explique que le registre " dans vim correspond au presse-papiers système de sélection , et le registre + de vim correspond au presse-papiers X11 de copier-coller . Puisque tu apprends vim (félicitations !), je te laisse pour exercice la manipulation des registres =]

Le premier correspond au presse-papiers que tu as lorsque tu surlignes du texte (ce texte est alors automatiquement "copié"); tu peux ensuite le coller où tu veux en cliquant sur la molette. Le deuxième correspond au plus traditionnel <C-c> / <C-v> .

Sinon, si ça ne marche pas (la page indique quelques problèmes avec Mac OSX et Windows), tu peux utiliser xclip conjointement avec ces deux raccourcis :

vmap <C-b> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR> nmap <C-g> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p

<C-b> te servira à coller ce qu'il y a dans ton presse-papiers sélection dans vim, et <C-g> fera l'inverse.

Tu sélectionnes la zone qui te plaît à la souris en appuyant sur shift , puis tu utilises la fonction copier de ton terminal.

Pour coller tu as déjà trouvé il faut utiliser la fonction coller de ton terminal, Ctrl-Shift-v dans ton cas qui semble être gnome-terminal.

La plupart du temps le presse-papier c'est le buffer + dans vim.

Donc gg"+yG met tout le fichier dans le presse papier.

Après on peut faire le classique ^V dans une autre appli.

  • Aussi sur un blog du Monde
  • Re: "malgré son succès"
  • Re: «Vous pourrez sortir de cette salle en homme libre»
  • Re: Pour les autres également
  • Re: Js
  • Re: Décalage binaire
  • Étiquettes (tags) populaires

  • ancestris
  • intelligence_artificielle
  • firefox
  • vie_privée
  • union_européenne
  • chine
  • microsoft
  • freecol
  • mozilla
  • merdification
  • linux
  • france
  • Sites amis

  • April
  • Agenda du Libre
  • Framasoft
  • Éditions Eyrolles
  • Éditions Diamond
  • Éditions ENI
  • La Quadrature du Net
  • Grafik Plus
  • Lea-Linux
  • TuxFamily
  • En Vente Libre
  • À propos de LinuxFr.org

  • Mentions légales
  • Faire un don
  • L’équipe de LinuxFr.org
  • Informations sur le site
  • Aide / Foire aux questions
  • Suivi des suggestions et bogues
  • Règles de modération
  • Statistiques
  • API pour le développement
  • Code source du site
  • Plan du site
  •