Quando si diffondono 2 file in VIM, preferisco che le linee siano avvolte. Tuttavia, vimdiff imposta il wrap su off di default.Forzare vimdiff per avvolgere le linee?
C'è un modo per impostare il ritorno a capo automatico per ogni diff?
Quando si diffondono 2 file in VIM, preferisco che le linee siano avvolte. Tuttavia, vimdiff imposta il wrap su off di default.Forzare vimdiff per avvolgere le linee?
C'è un modo per impostare il ritorno a capo automatico per ogni diff?
Io uso il seguente:
autocmd FilterWritePre * if &diff | setlocal wrap< | endif
FilterWritePre
viene attivato immediatamente prima di un diff generato viene scritto nel buffer e setlocal wrap<
copia il valore globale di wrap
. Ovviamente è anche possibile forzare semplicemente setlocal wrap
.
Grazie mille! Questo e 'esattamente quello che stavo cercando. Vorrei votare, ma non posso (troppo nuovo) ... – mgouin
Non so perché, ma questo non funziona. Sto usando vim 7 su debian machine. user2442259 La risposta funziona, però. – eddy147
@ eddy147 Le impostazioni globali sono 'wrap' o' nowrap'? Se quest'ultimo, prova lo stesso 'autocmd' con' setlocal wrap' invece di 'setlocal wrap <'. –
È possibile inserire quanto segue in vimrc.
au VimEnter * if &diff | execute 'windo set wrap' | endif
In realtà, questo funziona per me e in qualche modo non è quello che è la risposta accettata. – BHS
Quando Vim è già stato avviato, i comandi per avviare un diff e un involucro sono, su ciascuno dei file finestra divisa:
:diffthis
:set wrap
Tuttavia, viene visualizzato in modo non corretto il diff + involucro:
Se hai una lunga fila su un file e una linea corta o mancante sull'altro, allora la lunga linea occuperà, diciamo, 2 linee sul primo lato, per la linea corta o mancante occuperà solo 1 riga sul secondo lato.
Questo risulta in uno spostamento verticale dei 2 file. Certo, i colori aiutano a compensare visivamente questo cambiamento. Ma su più righe di diff, lo spostamento potrebbe essere superiore all'altezza della finestra, rendendo diff illeggibile.
Quindi la domanda non è completamente risolta ... Si prega di avvisare.
': windo set wrap' imposta l'avvolgimento in entrambe le fessure. –
ho dovuto risolvere questo problema per una demo in cui ho voluto vimdiff
per avvolgere solo volta lanciato da un certo terminale.
ho finalmente fatto ricorso al greggio:
alias vimdiff='vimdiff +"windo set wrap"'
vimdiff file.orig file
È possibile eseguire questo
vimdiff -c 'set wrap' -c 'wincmd w' -c 'set wrap' file1 file2
Grazie per il vostro input. Funziona ma solo quando vim viene avviato in modalità diff. Sono anche interessato a forzare il ritorno a capo quando un diff viene avviato dall'interno di vim. È anche possibile da un comando simile? Grazie! – mgouin