2012-09-26 7 views
6

Lo faccio tutto il tempo:Modifica "modificato file" bandiera della barra di stato di vim per essere più evidente

modificare un file, tornare al terminale ed eseguire lo script che sto scrivendo ... solo per rendersi conto che ho non l'ho ancora scritto sul disco.

Come faccio a fare in modo che Vim stia praticamente gridando ai miei occhi ogni volta che il file non è scritto? Quel piccolo [+] non è abbastanza buono. Idealmente, mi piacerebbe aumentare il numero di plusses rossi mostrati, o qualcosa di più drastico.

PER ISTANZA, sto usando powerline (puramente nel tentativo di ottenere un notificante più evidente 'il file è stato modificato'). Penso che sarebbe bello se il colore principale in fondo alla barra fosse cambiato ogni volta che il file non è stato salvato.

Qualche idea?

risposta

2

Ho scritto il StatusLineHighlight plugin per quello. Cambia il colore della statusline in rosso (personalizzabile) per i buffer modificati.

Tuttavia, non funzionerà con Powerline o altre modifiche di statusline.

2

non è la risposta alla domanda che hai chiesto, ma perché non basta fare

set autowrite 

per rendere il problema lei ha citato (“tornare al terminale ed eseguire lo script Sono scrivendo ... solo per rendersi conto che non l'ho ancora scritto sul disco ") vai via: questa opzione rende vim salvare le modifiche che hai fatto quando lo si sospende (nota: non quando si usa :shell per generare una nuova shell).

Per powerline l'unica cosa che potete fare facilmente è quello di modificare colorscheme per rendere l'evidenziazione più evidente: copiare autoload/Powerline/Colorschemes/default.vim-~/.vim/autoload/Powerline/Colorschemes/my.vim, trovare Pl#Hi#Segments(['fileinfo.flags' ed in ogni linea di aggiungere il secondo colore (sfondo uno): trasformare ['brightestred', ['bold']]-['white', 'brightestred', ['bold']] e così via . Quindi aggiungere

let g:Powerline_colorscheme='my' 

al vimrc ed eseguire :PowerlineClearCache.

+0

Ah, ma mi piace che tutto sia esplicito, quindi l'autowrite è fuori. Ho provato i tuoi suggerimenti, il più completo e pertinente, ma non ha fatto un'enorme differenza. È molto fastidioso come non ci sia un modo semplice per modificare il segmento - o meglio, che non riesco a capire come funziona Powerline. Grazie mille per la tua risposta. – phillmv

+0

@phillmv Questo segmento è definito in 'autoload/Powerline/Segments.vim', è possibile aumentare il numero di'% M' lì. Ma poi devi usare git e preoccuparti delle tue modifiche, non è una cosa che puoi copiare in ~ ~/.vim' e aspettare che Powerline funzioni dopo il prossimo aggiornamento (a meno che non copi anche il tema predefinito). Potrebbe anche entrare in conflitto con un numero massimo di elementi statusline (fino a 80, ma powerline ne utilizza molti. AFAIR Ho sentito che il tema predefinito usa tutti gli 80 elementi se tutti i plug-in richiesti sono installati, non sono sicuro che sia vero: on il mio sistema ci sono solo 29 di loro). – ZyX

+0

Con il colorscheme modificato, l'aggiunta di un gruppo di spazi in quel segmento ha fatto il lavoro, quindi sono tornato a powerline. QUESTO È IL CASO DI QUELLO CHE VOGLIO, grazie! È un po 'un casino con gli altri miei segmenti se la finestra ha dimensioni ridotte, ma non ho davvero bisogno di sapere il tipo di file e la codifica in ogni momento. Powerline è un genere di voodoo vimscript; Non riesco nemmeno a capire come riordinare i segmenti. – phillmv

Problemi correlati