2010-11-06 3 views
90

Come si visualizza il nome file del file su cui si sta lavorando in vim?Come si visualizza il nome file del file su cui si sta lavorando in vim?

+1

Se del terminale impostato correttamente, si dovrebbe ottenere il nome del file nel titolo della finestra. – Cascabel

+0

Vedi anche: [Come posso visualizzare in modo permanente il percorso del file corrente in Vim?] (Http://stackoverflow.com/questions/10488717/how-can-i-permanently-display-the-path-of-the -current-file-in-vim) – User

+1

Correlati: [Come visualizzare il percorso completo del file corrente?] (http://vi.stackexchange.com/q/104/467) in Vim SE – kenorb

risposta

137

:f (:file) farà stesso <C-G>. :f! darà una versione non troncata, se applicabile.

+2

Bello, ma è possibile mostrarlo nella barra in alto del terminale? (o terminatore) o da qualche parte senza digitare un comando. – eMarine

+13

'' ': f!' '' Non funziona sempre, premere 1, quindi Ctrl-G per il percorso completo. – ives

+0

Come su un percorso completo? Quando avvio vim da '~/dev/file.py' ed eseguo': f' all'interno di vim, ottengo 'file.py' come output invece di' ~/dev/file.py'. – gxyd

12

impostare la riga di stato. maggiori informazioni con :help statusline

Questi comandi possono essere inseriti nel tuo file .vimrc, oppure puoi inserirli come comandi in vim digitando ':' in modalità comando.

In primo luogo, impostare ultimo stato al 2 utilizzando la seguente:

set laststatus=2

Quindi impostare riga di stato al% f per il nome di file breve.

set statusline=%f

Per l'intero percorso del file, utilizzare% F.

+0

E518: sconosciuto Opzione:% f – Isius

+0

Ho aggiornato la risposta, Isius. Spero che questo lo renda più chiaro. –

50

ctrl + g lo 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% of 50 

Inoltre, come qualcuno ha detto (ma ora cancellato) % sarà sostituito con il nome del file corrente. Per esempio:

 
:!echo "current file: %" 
current file: foo.c 
Press ENTER or type command to continue 
+0

Cosa significano le parti '[C]' e '[0x23]'? – LangeHaare

3

Per visualizzare il percorso completo per qualsiasi file, inclusi i collegamenti simbolici risolti, utilizzare quanto segue.

:echo resolve(expand('%:p')) 

Questa può essere aggiunto alla tua barra di stato aggiungendo la riga qui sotto al tuo ~./vimrc

set statusline +=%{resolve(expand('%:p'))}\ %*