Vim changement de couleur du curseur en mode insertion
Il est bon extrait de code pour modifier le curseur de couleur:
if &term =~ "xterm|rxvt"
" use an orange cursor in insert mode
let &t_SI = "<Esc>]12;orangex7"
" use a red cursor otherwise
let &t_EI = "<Esc>]12;redx7"
silent !echo -ne "3]12;red7"
" reset cursor when vim exits
autocmd VimLeave * silent !echo -ne "3]1127"
" use 3]12;gray7 for gnome-terminal
endif
Comment puis-je modifier ceci qu'au lieu du curseur, le curseur changerait de couleur par exemple du bleu foncé au bleu?
ma configuration complète est https://bitbucket.org/JackLeo/home-configs/src/5b8faf340f87/.vimrc
3 réponses
avez-vous regardé dans la commande 'highlight' qui est un moyen plus facile de contrôler cela.
par exemple, pour changer la ligne du curseur,
:hi CursorLine guifg=red guibg=blue
Référence: :aider à mettre en évidence
pour le faire passer d'un mode à l'autre.
" Enable CursorLine
set cursorline
" Default Colors for CursorLine
highlight CursorLine ctermbg=Yellow ctermfg=None
" Change Color when entering Insert Mode
autocmd InsertEnter * highlight CursorLine ctermbg=Green ctermfg=Red
" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight CursorLine ctermbg=Yellow ctermfg=None
j'ai peut-être possible de mélanger termcap couleur avec autocmd, mais l'OMI, de souligner, c'est plus facile à maintenir dans le long terme (et dans le cas où si l'utilisation gVim de temps en temps)
c'est assez simple, mettez ce qui suit dans votre .vimrc
ou custom colorscheme fichier.
set cursorline
autocmd InsertEnter * highlight CursorLine guifg=white guibg=blue ctermfg=white ctermbg=blue
autocmd InsertLeave * highlight CursorLine guifg=white guibg=darkblue ctermfg=white ctermbg=darkblue
pour plus d'information voir:
N. B: Vous pouvez utiliser la même méthode pour changer la couleur du curseur sans tous ces if
-états et des séquences d'échappement (et cela fonctionnera également dans GVim).
lors de l ' utilisation de MacVim avec 'Lokaltog / vim-powerline' vous pouvez configurer vos couleurs normal/visual/insert pour qu'elles correspondent à la couleur du mode powerline. Je trouve cela extrêmement utile pour savoir dans quel mode je suis sans lire le powerline, surtout sur un grand écran.
voici le code que j'utilise, basé sur la réponse de @Zarick-Lau.
Dans mon colors/molokai.vim
fichier:
" Visual Mode Orange Background, Black Text
hi Visual guifg=#000000 guibg=#FD971F
" Default Colors for CursorLine
highlight CursorLine guibg=#3E3D32
highlight Cursor guibg=#A6E22E;
" Change Color when entering Insert Mode
autocmd InsertEnter * highlight CursorLine guibg=#323D3E
autocmd InsertEnter * highlight Cursor guibg=#00AAFF;
" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight CursorLine guibg=#3E3D32
autocmd InsertLeave * highlight Cursor guibg=#A6E22E;
voici un exemple utilisant la couleur originale de molokai régime.
Normal
visuel
Insert
je trouve également utile de configurer le système D'exploitation pour sélectionner visuellement en utilisant la même couleur. Par exemple, j'ai changé ma couleur de surbrillance Orange
dans OSX, et quand je sélectionne texte, c'est maintenant orange au lieu de bleu, comme dans VIM.
Exemple
voici le surligneur orange utilisé dans la zone de texte pendant que j'écris cette entrée de débordement de pile. Maintenant, tout le texte que je sélectionne dans mon système d'exploitation correspond à la configuration VIM.