Cambia i buffer in vim senza salvare in un file attualmente modificato


24

Ok, sono un utente VIM con il plugin Minibufexl che mostra le schede buffer, ho mappato Shift + J e Shift + K per passare da una scheda all'altra. Una cosa che mi frustra spesso è durante la modifica di un file e il passaggio a un altro buffer, DEVO scrivere sul file corrente e quindi passare.

Ad esempio, ho foo.cpp e foo.h aperti in due buffer e sto modificando foo.cpp e non l'ho salvato, ho bisogno di controllare foo.h per vedere una definizione di funzione. Quindi uso rapidamente il plug-in dei file alternativi (a.vim) o il mio collegamento sopra. Qui è dove devo salvare prima di passare, diventa fastidioso rapidamente.

Non so quale query di ricerca utilizzare in Google, quindi chiedo qui, mi scuso se è fuorviante.

Risposte:


39

Vuoi avere

set hidden

nel tuo .vimrcfile. Leggere un (poco) di più sul nascosto di opzione e buffer nascosti


il tuo primo link è solo un reindirizzamento da vim.wikia.com alla pagina vimdoc nel secondo link. vim.wikia.com/wiki/… potrebbe anche essere di interesse.
Jamessan,

@jamessan - sì, lo so, ma la pagina a cui reindirizza ha virgolette singole nell'URL e non sono riuscito a farlo apparire correttamente usando il markdown, quindi ho usato l'indirizzo di reindirizzamento.
Hamish Downer,

0

Potresti trovare utile usare le finestre divise. Ad esempio, durante la modifica di foo.c, eseguire

:split foo.h

Questo aprirà foo.h in una finestra sopra foo.c. Puoi spostarti tra le finestre con ^W^W(Ctrl-W Ctrl-W) e ingrandire la finestra corrente con ^W_. Puoi trovare maggiori informazioni su questo eseguendo

:help windows

Lo facevo un po 'di tempo fa, ma il mio mignolo è diventato dolorante rapidamente e non volevo davvero rimappare Cntrl su Maiusc, ma se mi sposto su una macchina senza il mio pratico file .vimrc, seguirò assolutamente il tuo suggerimento. Grazie.
Kai,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.