Come faccio a far riconoscere a VIM la riga in cui mi trovavo quando riapri un file? [duplicare]

14

Mi sono appena trasferito da RH / Fedora a Ubuntu 12.04. In RedHat, quando riapro un file con VIM, si apre con il cursore sulla riga in cui si trovava quando ho chiuso il file. Tuttavia, quello che sto vedendo ora è che quando riapro un file, il cursore è sempre in alto, ogni tempo. Dato che alcuni dei file con cui lavoro sono lunghi 20k, questo diventa un po 'vecchio in fretta.

Ho installato la versione completa di VIM tramite apt-get sul mio nuovo Ubuntu in modo da poter usare i tasti freccia nella modalità di inserimento. La versione stampata è VIM - Vi IMproved 7.3.

Qualsiasi aiuto sarebbe gradito.

    
posta pennyrave 17.10.2012 - 15:33
fonte

2 risposte

30

Aggiungi le seguenti righe al tuo ~/.vimrc o globale /etc/vim/vimrc

if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

Questo salterà all'ultima posizione del cursore conosciuta a meno che:

  • la posizione non è valida
  • la posizione è all'interno di un gestore di eventi
risposta data Sentry 17.10.2012 - 15:40
fonte
9

Questa è una configurazione predefinita in / etc / vim / vimrc come menzionato vim non è ricordando l'ultima posizione

contiene già la funzionalità necessaria. Devi solo decommentarlo:

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

Questo è un comando automatico che cerca i numeri di riga delle espressioni valutate. Il comando g salta all'ultima posizione se è stato registrato. Usando: comandi di aiuto per BufReadPost, line () e g 'spiegheranno i dettagli di come funziona.

    
risposta data grantbow 19.01.2013 - 03:50
fonte

Leggi altre domande sui tag