Domanda Come cambio il cursore Vim in modalità Insert / Normal?
Vorrei sapere, se possibile, come cambiare il cursore in vim (colore, forma, ecc.) A seconda della modalità in cui ti trovi.
Mi dimentico costantemente che non sono in modalità di inserimento e inizio a digitare il codice, il che si traduce in tutti i tipi di cose pazzesche che accadono. Sarebbe utile se ci fosse una sorta di indicazione visiva sul cursore.
65
2018-06-27 04:49
origine
risposte:
Di solito ho la modalità Vim attuale sulla statusline, tra le altre cose. Se cerchi la semplicità, puoi impostare solo questa informazione sulla statusline.
Tuttavia, di solito le cose veramente pazze accadono quando hai il blocco delle maiuscole premuto e sei in modalità di comando (dal momento che hjkl ora sono HJKL - solo J e K sono sufficienti per farti tirare fuori i capelli quando non capisci cosa sta succedendo. :h J
e :h K
per vedere cosa intendo). Appena attenti al tasto di blocco maiuscole e starai bene la maggior parte del tempo IMO.
-3
2018-06-28 02:26
Un'opzione popolare per indicare il passaggio alla modalità Insert (e ritorno a Normal
modo) sta commutando il cursorline
opzione che è responsabile per se il
la riga corrente dello schermo è evidenziata.
:autocmd InsertEnter,InsertLeave * set cul!
o
:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul
72
2018-06-27 06:34
I seguenti lavori per xterm / urxvt / ... (Linux), iTerm2 (Mac), Git Bash con ConEmu (Windows) e altro (vedi commenti):
let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"
" optional reset cursor on start:
augroup myCmds
au!
autocmd VimEnter * silent !echo -ne "\e[2 q"
augroup END
Quando usi tmux è importante che lo si usi in questo modo (senza a \<Esc>Ptmux;
escape) - tmux manterrà traccia della corretta forma del cursore quando cambi finestra / riquadri. Potrebbe essere necessario impostare TERM=xterm-256color
prima di avviare tmux se non funziona per te.
Altre opzioni (sostituisci il numero dopo \ e [):
Ps = 0 -> blinking block.
Ps = 1 -> blinking block (default).
Ps = 2 -> steady block.
Ps = 3 -> blinking underline.
Ps = 4 -> steady underline.
Ps = 5 -> blinking bar (xterm).
Ps = 6 -> steady bar (xterm).
21
2018-02-08 16:23
Per cambiare la forma del cursore in diverse modalità, puoi aggiungere quanto segue al tuo vimrc.
Per Gnome-Terminal (versione 2.26) Modifica
if has("autocmd")
au InsertEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
au InsertLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
au VimLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape ibeam"
endif
Se si utilizza più di un profilo in gnome-terminal, potrebbe essere necessario adattarlo ai propri profili.
Per Konsole in KDE4Edit
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
Funziona con più schede e finestre.
http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes
12
2018-06-27 04:54
Se stai usando tmux e iTerm2 sopra OSX,
il seguente cambia il cursore da un blocco a un cursore e evidenzia la linea corrente
if exists('$TMUX')
let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif
:autocmd InsertEnter * set cul
:autocmd InsertLeave * set nocul
credito: https://gist.github.com/andyfowler/1195581
12
2018-05-12 18:51
Trovo utile avere solo il cursore lampeggiante in modalità Insert e statico in altre modalità.
set guicursor+=n-v-c:blinkon0
5
2018-03-06 20:25
Puoi provare il plugin terminus vim:
In modalità di inserimento, la forma del cursore si trasforma in una sottile barra verticale. In modalità di sostituzione, cambia in una sottolineatura. Tornando alla modalità normale, ritorna alla forma standard di "blocco".
4
2018-01-19 17:16