Quando esco da VIM e apro di nuovo lo stesso file, sono posizionato all'inizio del file. Come posso mantenere l'ultima posizione del cursore?Mantieni l'ultima posizione di modifica in VIM
risposta
Il "out of the box" .vimrc
permette questo con l'affermazione:
source $VIMRUNTIME/vimrc_example.vim
si può solo bisogno di ripristinare questa dichiarazione nel vostro .vimrc
. In ogni caso, vedere vimrc_example.vim
e vedere anche la funzione line()
in the Vim manual per una discussione su come funziona.
Questo ha funzionato per me su mac os x. Ho copiato il file, chmod 600, e la vita era grandiosa. – tggagne
È possibile provare il comando :mks
(effettua sessione). Memorizza un file di script che, una volta eseguito tramite vim, ripristina la sessione di modifica corrente, inclusi tutti i file aperti e la posizione del cursore.
Crea un file Session.vim nella directory locale. Questo non è quello che volevo. Ora posso salvare automaticamente la posizione di modifica e ripristinarla quando viene aperto lo stesso file. Io proprio non so come. –
Tratto da http://amix.dk/vim/vimrc.html
" Return to last edit position when opening files (You want this!)
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
Puoi spiegare cosa sta facendo l'istruzione 'if' qui? Lo sto leggendo come "Ripristina il cursore solo se il cursore si trova dopo la prima riga o prima dell'ultima riga", e non mi è chiaro quale sia la differenza. Al momento ho aggiunto 'autocmd BufReadPost * normale! g \ '" zv' al mio vimrc e sembra funzionare, ma credo di non capire le potenziali insidie del ripristino incondizionato del segno. – robru
Ah, se il file è troncato al di fuori di vim, e il segno di vim è su una riga che non esiste più, vim lancia un errore, risolto con 'autocmd BufReadPost * silenzioso! normal! g \' "zv' – robru
C'è un plugin (io sono l'autore) chiamato vim-lastplace che intelligentemente si torna alla ultima modifica che hai fatto.
Ha anche un'opzione di configurazione per ignorare determinati tipi di file. Per impostazione predefinita ignorerà i messaggi di commit per git, svn e mercurial. Per questi tipi di file inizierà il cursore sulla prima riga. I frammenti di codice sopra salteranno nel mezzo del tuo file dei messaggi di commit (in cui hai lasciato il commit precedente) anche se probabilmente non è ciò che desideri. vim-lastplace risolve questo problema.
L'ultima posizione di modifica viene automaticamente conservata da Vim ed è disponibile come "speciale" segno di salto .
. Altri marchi speciali includono "
(posizione in cui è stato salvato da) e '
(posizione in cui è stato effettuato il salto da).
È possibile passare ad un marchio digitando '<mark>
, così '.
vi porterà al luogo dell'ultima modifica, ''
vi porterà indietro a dove eravate, e '"
vi porterà alla posizione in cui si è salvato il file a.
Questo e altro su Vim segna a Vim.Wikia.
- 1. Mantieni sempre il cursore centrato in Vim
- 2. Modifica caso in Vim
- 3. Cursore di salto/posizione in Vim
- 4. Impedisci a Vim di ricordare una modifica
- 5. Modifica formato indentazione vim
- 6. Modifica in posizione vs. pagina di modifica separata/modale?
- 7. Modifica posizione barra di scorrimento
- 8. ASP.NET MVC3 Razor - Mantieni la posizione di scorrimento sul postback
- 9. Posizione del cursore nell'abbreviazione VIM
- 10. Modifica posizione dell'opzione "esportazione"
- 11. Vim - Vai alla posizione precedente
- 12. UIButton Modifica posizione
- 13. Modifica posizione testata GridView
- 14. Modifica posizione php.ini
- 15. Modifica posizione applicazione GAE
- 16. Modifica posizione node_modules
- 17. Eliminazione/modifica del testo cercato in Vim
- 18. Modifica un file sul posto in vim
- 19. Vim: modifica comportamento clic del mouse
- 20. Vim: Modifica dei numeri di buffer
- 21. Modifica posizione di sass-cache per SASS
- 22. Modifica posizione Gruppo risorse di Azure
- 23. Mantieni l'ordine degli attributi durante la modifica con minidom
- 24. Modifica della posizione di TFS Build
- 25. Mantieni il contenuto del database sulla modifica del modello
- 26. Modifica la posizione predefinita di Pycharm Project
- 27. Riempimento errato durante la modifica di Yaml in Vim
- 28. Posizione directory Linux/Ubuntu ~/.vim/syntax/
- 29. Come passare all'ultima posizione di modifica in Android Studio
- 30. Mantieni cmd.exe aperto
possibile duplicato di [Come si fa in modo che Vim ti riporti dove eri l'ultima volta che hai modificato un file?] (Http://stackoverflow.com/questions/1682536/how-do-you-make-vim-take -si-back-dove-tu-were-when-you-last-edited-a-file) – mloskot
: help viminfo dovrebbe dirti cosa ti serve –