Come copio l'output del comando in vim?


33

Ad esempio, se digito ' :pwd' per ottenere la directory di lavoro corrente, posso selezionare il testo in gvim ma non riesco a capire come copiarlo negli appunti. Se provo lo stesso in console vim, non riesco nemmeno a selezionarlo con il mouse. Vorrei che questo funzionasse con tutti i comandi di vim, come set guifontcopiare l' guifont=Consolas:h10:cANSIoutput.

Risposte:


41

Stai cercando questo

:redir @* | set guifont | redir END

: comando redir reindirizza l'output di un comando su un registro (@ *). Il registro @ * si riferisce agli Appunti.

Per maggiori informazioni su questo,

:help :redir

non ha funzionato in Vim-GTK qualche indizio?
Sergio Abreu,

@SergioAbreu try @+invece di @*(beh, funziona in gvim).
leeand00,

10

Prova ' :r !pwd' per ottenere la directory di lavoro corrente direttamente nel file aperto GVIM.
Puoi quindi copiarlo negli appunti come faresti con qualsiasi altro contenuto di file di testo aperto lì.


Questo è utile, ma posso usarlo con set guifontad esempio?
Steven,

No, questo non è un comando shell quindi non funzionerà.
Kevin Panko,

4

Per questo esempio particolare potresti fare (nota il "!" Che lo fa passare attraverso la shell):

:!pwd | xclip

o

:!pwd | xclip -selection secondary

(a seconda della selezione X desiderata).

Potrebbe essere necessario installare prima xclip

sudo apt-get install xclip

(o equivalente)


3

Se stai eseguendo vim in un xterm, tenendo premuto il tasto MAIUSC mentre selezioni il testo, il testo verrà copiato nell'equivalente X degli Appunti.


X ha due appunti (almeno); il tuo suggerimento inserirà il testo nella selezione PRIMARY (incolla con il clic centrale) anziché nella selezione CLIPBOARD (incolla con Ctrl + V nella maggior parte delle app).
Marius Gedminas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.