Copie toutes les lignes dans le presse-papiers

Est-il possible de copier toutes les lignes à partir d'ouvrir le fichier dans le presse-papiers dans l'éditeur VI. J'ai essayé y G mais ce n'est pas en utilisant un presse-papiers pour stocker ces lignes.

est-ce possible?

443
demandé sur 3 to 5 business days 2009-10-25 07:33:45
la source

22 ответов

Vous devez tirer sur le texte de la * ou + registres :

g g " * y G

explication:

  • gg pour obtenir le curseur au premier caractère du fichier
  • "*y pour lancer une commande yank vers le registre * à partir de la première ligne, jusqu'à...
  • G pour aller à la fin du fichier
517
répondu CMS 2018-04-09 23:39:52
la source

Utiliser:

: % o +

pour tirer toutes les lignes.

explication:

  • % pour désigner la commande suivante pour travailler sur toutes les lignes
  • y à tirer de ces lignes,
  • + à copier sur le bloc-notes système

NB : dans Windows, + et * sont équivalents voir cette réponse.

578
répondu Rook 2017-05-23 14:47:32
la source

à la Mac

  • copier la partie sélectionnée: sélectionner visuellement le texte (tapez v ou V en normal mode) et du type :w !pbcopy

  • copier le fichier entier :%w !pbcopy

  • par le passé, à partir du presse-papiers :r !pbpaste

64
répondu Brian 2014-01-17 06:35:54
la source

le bloc-notes est tampon + . Pour copier dans le presse-papiers, ne " + y et [mouvement].

, g g " + y G copier l'ensemble du fichier.

de même, à coller à partir de presse-papiers, " + p

46
répondu Tordek 2014-11-28 20:37:52
la source

un autre moyen facile de copier le fichier entier si vous avez des problèmes avec L'utilisation de VI, est simplement en tapant"cat filename". Il fera écho au fichier à l'écran et alors vous pouvez simplement faire défiler en haut et en bas et copier/coller.

32
répondu Zack 2016-11-14 20:17:28
la source

C'est ce que je fais pour yank le dossier entier:

ggVGy
25
répondu EmilianoGNFNR 2012-08-18 20:31:33
la source

(en réponse à @rshdev, et pour éviter d'avoir à recompiler vim avec +xterm_clipboard per @nelstrom dans les commentaires sur OP)

il y a un programme appelé xclip qui fonctionne comme putclip sur Ubuntu 11:

:%!xclip -sel clip
u

il n'est pas installé par défaut. pour l'installation, utilisez:

sudo apt-get install xclip
10
répondu Stew 2012-03-02 19:35:25
la source

On Ubuntu 12

vous pourriez essayer d'installer le vim-gnome paquet:

sudo apt-get install vim-gnome

Je l'ai essayé, parce que vim --version m'a dit qu'il aurait le drapeau xterm_clipboard disabled (indiqué par - ), qui est nécessaire afin d'utiliser la fonctionnalité de presse-papiers.

- > installation du vim-gnome Paquet sur Ubuntu 12 également installé une version de console basée de vim, qui a cette option activée (indiqué par un + avant le drapeau xterm_clipboard)

On Arch Linux

, vous pouvez installer vim-clipboard pour la même raison.

9
répondu Arch Linux Tux 2018-08-29 11:57:42
la source

j'ai essayé quelques commandes que les gens ont mentionné ci-dessus. Aucune n'a fonctionné. Puis j'ai trouvé le plus simple d'entre eux.

Step 1: vi <filename>

Étape 2: clic droit sur la barre de titre de la fenêtre Putty

Étape 3: Sélectionnez "Clear scrollback" (pour éviter de copier le reste de votre session SSH)

Étape 4: Cliquez à nouveau sur le bouton droit de la souris et sélectionnez "Copier tout au bloc-notes".

6
répondu Abhinav Deshpande 2016-10-14 22:48:14
la source

vous pouvez appuyer sur gg pour localiser votre curseur au début du fichier,puis appuyez sur yG pour copier tout le contenu du début à la fin(g localisé) à la mémoire tampon.bonne chance!

5
répondu gameboy90 2013-11-07 13:27:39
la source

si vous utilisez Vim en mode visuel, les touches standard cut and paste s'appliquent aussi, au moins avec Windows.

  • CTRL UN signifie "Marque de la totalité du fichier.
  • Ctrl c signifie " copier la sélection.
  • ESC signifie "désélectionner", de sorte que la touche suivante ne remplace pas tout le fichier :-)

sous Ubuntu terminal (Gnome) au moins, la copie standard fonctionne aussi ( CTRL SHIFT c , bien qu'il ne semble pas y avoir de raccourci clavier standard pour select all (autre que ALT "151960920 151950920" e suivi de a ).

4
répondu paxdiablo 2009-10-25 08:29:14
la source

Vous pouvez utiliser la commande "cat" pour ouvrir le fichier et utilisez la souris pour copier

4
répondu Luan Pham 2018-04-02 15:50:51
la source

:%y a renvoie tout le contenu dans le tampon de vim, En appuyant sur p en mode commande, vous collerez le contenu retiré après la ligne sur laquelle se trouve actuellement votre curseur.

3
répondu Ma'moon 2012-07-03 03:04:56
la source

gVim:

:set go=a

g g V G

voir :help go-a :

'a' Autoselect:  If present, then whenever VISUAL mode is started,
 or the Visual area extended, Vim tries to become the owner of
 the windowing system's global selection.  This means that the
 Visually highlighted text is available for pasting into other
 applications as well as into Vim itself.  When the Visual mode
 ends, possibly due to an operation on the text, or when an
 application wants to paste the selection, the highlighted text
 is automatically yanked into the "* selection register.
 Thus the selection is still available for pasting into other
 applications after the VISUAL mode has ended.
     If not present, then Vim won't become the owner of the
 windowing system's global selection unless explicitly told to
 by a yank or delete operation for the "* register.
 The same applies to the modeless selection.
3
répondu kev 2012-07-25 09:12:17
la source

il n'y avait pas de concept de "bloc-notes" dans la vi de Bill Joy donc je ne pense pas qu'il y ait une façon intégrée de le faire.

la fonction de copie automatique de gvim-anything-surligné-au-bloc-notes est la plus facile ou utilisez un programme externe via:!

Pour Cygwin du vim-je utiliser

:%!putclip
u

peut-être Qu'Ubuntu a une application CLI comme putclip??

2
répondu rshdev 2009-10-25 17:58:17
la source

bien, toutes ces approches sont intéressantes, mais comme programmeur paresseux j'utilise yank toute la ligne en utilisant la combinaison du nombre + y

par exemple, vous avez fichier de code source avec un total de 78 lignes, vous pouvez faire comme ci-dessous:

  1. gg pour obtenir le curseur à la première ligne
  2. insérer 78 + y -- > il y a 78 lignes sous votre curseur et la ligne courante
2
répondu arfo 2015-08-15 22:48:38
la source

si vos doigts par défaut à CTRL-A CTRL-C , puis essayer les mappings de $VIMRUNTIME/mswin.vim .

" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y

" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG

je les ai mis en correspondance avec <Leader><C-a> et <Leader><C-c> .

2
répondu go2null 2015-11-27 20:57:39
la source

Voici une commande de carte pour sélectionner tout au bloc-notes en utilisant Ctrl + a :

"
" select all with control-a
"
nnoremap <C-a> ggmqvG"+y'q

ajoutez-le à votre .vimrc et vous êtes prêt à partir...

1
répondu jahroy 2013-06-21 04:27:37
la source

Faire copier l'ensemble du fichier à l'intérieur de la vim ou de ses onglets

y G 

puis passer à un onglet et coller par

p

et pour couper le fichier entier utiliser

d G
1
répondu Abdul Basit 2017-12-23 21:09:09
la source

Je ne pouvais pas copier les fichiers en utilisant les réponses ci-dessus, mais j'ai putty et j'ai trouvé une solution de contournement sur Quora.

  1. changez les paramètres de votre session PuTTY, allez dans la journalisation et changez-la en"caractères imprimables". Définir le fichier journal
  2. Faire un chat de fichier respectif
  3. Allez dans le fichier défini dans l'étape #1 et vous aurez votre contenu dans le fichier journal.

Note: les caractères imprimés de cette session dans le fichier journal, donc il va devenir grand finalement. Dans ce cas, supprimez le fichier log et cat le fichier cible de sorte que vous obtenez le contenu de ce fichier particulier copié sur votre machine.

0
répondu lucifer 2017-10-31 09:50:24
la source

j'ai créé une fonction pour effectuer cette action, placez-le sur votre ~/.vimrc .

fun! CopyBufferToClipboard()
    %y+
endfun
nnoremap <Leader>y :call CopyBufferToClipboard()<CR>
command! -nargs=0 CopyFile :call CopyBufferToClipboard()

OBS: si vous utilisez neovim, vous avez aussi besoin d'un gestionnaire de presse-papiers comme xclip. pour plus d'information tapez dans neovim :h checkhealth

il est également important de mentionner que pas toujours un simple y copie au bloc-notes, afin de faire chaque alimentation de copie + qui est" Registre de bloc-notes "essayer de mettre: :set clipboard=unnamed,unnamedplus . Pour pour plus d'informations, voir: :h unnamed .

ici plus d'informations sur vim wikia.

0
répondu SergioAraujo 2018-02-16 16:17:12
la source

cliquez sur le bouton gauche de la souris, faites glisser à travers la section que vous voulez copier et libérer. Le code est automatiquement copié dans le presse-papiers.

-2
répondu Kapeel Kokane 2014-08-20 15:35:32
la source

Autres questions sur