So che CTRLgvisualizza il file corrente su cui stai lavorando. C'è un modo per modificare il mio in modo .vimrc
tale che il nome del file / percorso sia sempre visualizzato?
Risposte:
Nella tua statusline, aggiungi un %F
per visualizzare il percorso completo:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Nota, %F
sarà il percorso completo. Per ottenere un percorso relativo alla directory di lavoro, utilizzare %f
.
Se la tua statusline non è già visibile, potrebbe essere necessario prima configurarla in modo che sia sempre visibile, tramite laststatus=2
set laststatus=2
Guarda :help laststatus
cosa significano le opzioni. Normalmente, la riga di stato può essere nascosta o nascosta a meno che non siano aperti più buffer, ma trovo estremamente utile avere tutto il tempo con personalizzazioni come questa, vale la pena rinunciare a una riserva di riga dello schermo per questo.
:set statusline=%F
senza il+
:set statusline=%F
? Guarda a destra oa sinistra per vedere se il nome del file si nasconde laggiù nella statusline
set laststatus=2
per mantenere la statusline sempre visibile. Ho dimenticato di averlo addosso.
impostare ls = 2
aggiungilo in vimrc e vedrai sempre il nome del file in fondo.
set modeline
è un po 'pericoloso e non ha nulla a che fare con la domanda. Permette l'esecuzione di comandi Vim nelle 5 righe di inizio / fine di un file. Dovrebbe essere attivato solo da chi sa perché e lo desidera davvero. (Ecco perché ho -1 questa risposta)
Ho trovato 2 modi per visualizzare il percorso del file nella barra del titolo di gnome-terminal durante la modifica di un file con Vim.
Il modo più semplice (e migliore): aggiungi la seguente riga a ~/.vimrc
:
set title
Che ti mostrerà in alto:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
Il modo più complicato ti mostrerà il percorso del file assoluto. È documentato un po 'più in dettaglio in questo post sul blog che ho scritto di recente.
L'unico modo che ho trovato per ottenere il percorso completo del file sto lavorando in è: :echo expand('%:p')
. Puoi mappare nuovamente ctrl + g se vuoi, ma personalmente non mi piace allontanarti troppo dagli standard. Ho mappato F7 in questo modo:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
e guarda due paragrafi verso il basso CTRL-G
con conteggio.
1 CTRL-G
mostra il nome completo del file. Stavo cercando questa opzione.
~
.
Se stai usando vim-airlines , inserisci .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Questa è una modifica dell'impostazione predefinita della compagnia aerea, cambiando %f
da %F
.
La statusline è molto potente e pratica credo. Appena fuori dalla scatola mostrerà il nome del file, la posizione del cursore e alcune bandiere. Ma vuoi fare lo stesso di me e sostituire il nome del file -part con il percorso completo del file.
Quindi durante la modifica della mia .vimrc
riga di stato potrebbe apparire qualcosa di simile come predefinito:
.vimrc 26,16 7%
È possibile visualizzare le impostazioni della riga di stato con:
:set statusline?
Ma se non hai apportato modifiche e nessun modulo è stato modificato, sarebbe vuoto. Ma dagli esempi nella sezione della guida ( :help statusline
) potresti scoprire che l'impostazione predefinita è:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Quindi includi questo nel tuo .vimrc
e cambia %f
in %F
. Ho anche aggiunto il flag filetype ( %y
) alla mia statusline poiché lo trovo conveniente. Quindi la mia configurazione risultante è simile a questa:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
E il risultato sarebbe simile a questo:
~/.vimrc [vim] 26,16 7%
Buona lettura:
PS. Eseguo vim 7.3
Se desideri che il percorso includa collegamenti simbolici risolti, utilizza quanto segue:
set statusline +=%{resolve(expand('%:p'))}\ %*
Per mantenere l'abbreviazione "~" della directory home, includi fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
alla mia~/.vimrc
non sembra fare quello che dici. Anche se i docs sembrano certamente essere d'accordo con te ...