Il rientro intelligente in vim (normalmente eccezionale) è un disastro quando si incolla in una porzione di codice
-
19-08-2019 - |
Domanda
Suppongo che altri editor siano abbastanza intelligenti da disattivare quella roba per incollare, ma quando si utilizza vim in un terminale non è in grado di distinguere tra incollare e digitare effettivamente.
Che tipo di soluzioni o soluzioni alternative hai per questo?
Aggiunto: c'è anche un'impostazione che fa in modo che i commenti continuino automaticamente sulla riga successiva. Il rientro almeno non cambia la semantica del codice ma la continuazione del commento automatico rovina davvero le cose. Vieni a pensarci bene, dovrei semplicemente disattivarlo del tutto - qualcuno sa come si chiama quell'opzione?
Soluzione
: imposta incolla è la strada da percorrere, ma se dimentichi, come faccio spesso, quindi se stai usando una lingua con {} come apertura / chiusura di blocchi, quindi fai un =% sul primo {o last} riapplica il rientro.
Altri suggerimenti
: imposta incolla
aggiungi questo al tuo .vimrc e usalo con il tasto F2 per attivare / disattivare lo stato incolla prima e dopo aver aggiunto pezzi di codice:
set pastetoggle=<F2>
Un altro modo per farlo, supponendo che gli Appunti di sistema siano configurati correttamente è quello di farlo
"*p
Questo verrà incollato dagli Appunti di sistema.
Controlla il tuo vim --version
. Su OS X avrai bisogno di + appunti
e su Linux + xterm_clipboard
, credo.
Se usi OS X, puoi sempre preparare macvim
e usare mvim -v
invece del Vim in bundle (non è stato compilato con + appunti
).