Come visualizzi il nome del file su cui stai lavorando in vim?
Come visualizzi il nome del file su cui stai lavorando in vim?
Risposte:
:f
( :file
) farà lo stesso di <C-G>
. :f!
fornirà una versione non troncata, se applicabile.
:f!
non funziona sempre, premi 1, quindi Ctrl-G per il percorso completo.
~/dev/file.py
ed eseguo :f
all'interno di vim, ottengo file.py
come output anziché ~/dev/file.py
.
ctrl-g
per restituire path + file. :f
restituirà il nome file senza percorso, come potrebbe ctrl-g
. Un 1
prima ctrl-g
mostrerà il percorso e il nome (non necessariamente espansi però). cioè mostrerà ~/dev/file.py
invece di file.py
. 2
seguita da ctrl-g
comprenderanno che buffer: buf 1: "~/dev/file.py"
.
ctrl+ glo farà.
Inoltre, mi piace avere:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Che produce:
foo.c [C] [0x23] <code / foo.c 1, 1 2% su 50
Inoltre, come qualcuno ha menzionato (ma ora eliminato) %
verrà sostituito con il nome file corrente. Per esempio:
:! echo "file corrente:%" file corrente: foo.c Premere INVIO o digitare il comando per continuare
[C]
e [0x23]
?
'statusline'
è una stringa, ma non includi le virgolette nel set: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
necessita anche di spazi di escape
imposta la riga di stato. maggiori informazioni con:help statusline
Questi comandi possono andare nel tuo file .vimrc, oppure puoi inserirli come comandi mentre sei in vim digitando ':' in modalità comando.
Innanzitutto, imposta l'ultimo stato su 2 utilizzando quanto segue:
set laststatus=2
Quindi impostare la riga di stato su% f per il nome file breve.
set statusline=%f
Per il percorso completo del file, utilizzare% F.
Per mostrare il percorso completo di qualsiasi file, inclusi i collegamenti simbolici risolti, utilizzare quanto segue.
:echo resolve(expand('%:p'))
Questo può essere aggiunto alla barra di stato aggiungendo la riga in basso alla tua ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Uno dei suggerimenti di cui sopra ha dovuto essere modificato in
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
per farlo funzionare. Anche
set laststatus=2
era usato.
Uso l'incredibile vimrc
di amix: https://github.com/amix/vimrc
Utilizza il lightline.vim
plug-in e visualizza il nome file sulla barra di stato.
La cosa grandiosa dell'uso di questo amix/vimrc
è che questo plugin si occupa della maggior parte della personalizzazione, è molto stabile ed è stato testato da migliaia di persone, come puoi verificare guardando il numero di stelle github .. e i problemi rari.
Inoltre è aggiornato abbastanza frequentemente.
PS: non l'autore di nessuno dei plugin .. solo un fan :)
Ho anche dovuto metterlo nel mio file .vimrc:
set noruler
set laststatus=2
Quindi potrei inserire qualcosa di simile set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
nel mio file .vimrc e dopo aver riavviato il mio terminale la linea di stato viene visualizzata correttamente.
'statusline'
è una stringa, ma non includi le virgolette nel set: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
necessita anche di spazi di escape