parfois j'utilise sed -n5,10ppour imprimer les lignes 5-10 afin que je puisse plus facilement copier et coller sans que vim réagisse à la souris.
grantbow
en fait depuis l'intérieur de vim, la commande ressemble à:!sed -n 5,10p %
grantbow
Merci pour tous les commentaires et réponses. xclip est parfois utile, merci @ sergiy-kolodyazhnyy. Lorsque je travaille sur différentes machines, je n'ai parfois pas le contrôle sur quel vim est installé, mais avoir les instructions pour vérifier la réponse de @muru est utile, merci @ ashutosh-tripathy. Je dois utiliser les commandes de registre vim plus souvent pour m'en souvenir lorsque j'en ai besoin. Comme je l'ai mentionné dans la question ci-dessus, si je veux le faire rapidement et que le fichier est petit, la commande dans vim ressemble à:!cat %
grantbow
Réponses:
12
Vous devez avoir Vim avec les clipboardet xtermclipboardfonctionnalités compilées. Dans Ubuntu, ceux - ci ne sont disponibles qu'avec les packages de l' interface graphique (vim vim-gnome, vim-gtk, vim-athena, etc.).
Une fois que vous en avez installé un, vous pouvez copier (et coller) dans les registres du presse-papiers ( *et +). De ce post très instructif sur Vi et Vim :
Pour les systèmes basés sur X11 (c.-à-d. Linux et la plupart des autres systèmes de type UNIX ), il existe 2 presse-papiers indépendants les uns des autres:
PRIMARY - Il s'agit d'une copie sur sélection et peut être collée avec le bouton central de la souris.
CLIPBOARD - Ceci est copié avec (généralement) ^Cet collé avec ^V(c'est comme MS Windows).
Vim dispose de 2 registres spéciaux correspondant à ces presse-papiers:
*utilise PRIMARY; mnémonique: s goudron est s élisent (pour la copie-on- s élisent)
+utilise CLIPBOARD; mnémonique: CTRL + C (pour le raccourci clavier commun)
Pour copier dans un registre, vous faites précéder la commande de copie ( y) avec "et le nom du registre ( *, par exemple). "*y, puis cliquez avec le bouton central pour coller, ou "+yet ShiftInsertpour coller.
Une solution assez intéressante vient de cette question. Installez xclip, puis dirigez la sortie d'une commande vers xclip ( cat file | xclip -selection clipboardpar exemple), puis collez-la n'importe où (si c'est dans le terminal - utilisez CtrlShiftV
). Maintenant, il s'avère que vous pouvez réellement raccourcir cette commande xclip -sel clip, ce qui n'est pas exactement apparent à la lecture de la page de manuel ou des exemples.
sed -n5,10p
pour imprimer les lignes 5-10 afin que je puisse plus facilement copier et coller sans que vim réagisse à la souris.:!sed -n 5,10p %
:!cat %
Réponses:
Vous devez avoir Vim avec les
clipboard
etxtermclipboard
fonctionnalités compilées. Dans Ubuntu, ceux - ci ne sont disponibles qu'avec les packages de l' interface graphique (vimvim-gnome
,vim-gtk
,vim-athena
, etc.).Une fois que vous en avez installé un, vous pouvez copier (et coller) dans les registres du presse-papiers (
*
et+
). De ce post très instructif sur Vi et Vim :Pour copier dans un registre, vous faites précéder la commande de copie (
y
) avec"
et le nom du registre (*
, par exemple)."*y
, puis cliquez avec le bouton central pour coller, ou"+y
et ShiftInsertpour coller.la source
Une solution assez intéressante vient de cette question. Installez xclip, puis dirigez la sortie d'une commande vers xclip (
cat file | xclip -selection clipboard
par exemple), puis collez-la n'importe où (si c'est dans le terminal - utilisez Ctrl ShiftV ). Maintenant, il s'avère que vous pouvez réellement raccourcir cette commandexclip -sel clip
, ce qui n'est pas exactement apparent à la lecture de la page de manuel ou des exemples.la source
/dev
, mais le texte se trouve toujours quelque part, non?J'ai eu un problème car mon vim ne supportait pas le presse - papiers :
J'ai installé vim-gnome (qui prend en charge le presse-papiers), puis vérifié à nouveau:
Maintenant, je peux copier et coller en utilisant respectivement "+ y et" + p.
la source