Я хотел бы знать, если возможно, как изменить курсор в vim (цвет, форма, и т.д.) в зависимости от того, в каком режиме вы находитесь.
Я постоянно забываю, что я не нахожусь в режиме вставки, и начинаю набирать код, что приводит к всяким безумным вещам. Было бы полезно, если бы на курсоре была какая-то визуальная индикация.
Если Вы используете современную версию nvim
, и Вы хотели достигнуть этого, можно избежать некоторых из этих необычных упомянутых выше обходных решений.
ниже настроек переключится от блочного курсора в нормальный режим, для подчеркивания курсора в замене для выравнивания курсора во вставке.
# ~/.tmux.conf
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q',w
" ~/.vimrc
" Sets cursor styles
" Block in normal, line in insert, underline in replace
set guicursor=n-v-c-sm:block,i-ci-ve:ver25-Cursor,r-cr-o:hor20
мне удалось получить эту работу со следующими настройками, которые вытягивают из этих двух источников.
Не уверенный, если кто-либо еще сталкивается с задержкой после удара ESC
ключ для возвращения к нормальному режиму для показа блочного курсора, но если так, это - способ, которым я фиксирую его также.
На самом деле я использую iTerm2 и использую Vim в моем терминале на Mac И при вводе в режим вставки, курсор, все еще являющийся блоком, и довольно сбиваю с толку, когда Вы в режиме вставки или нормальном режиме.
я хотел показать тонкую строку курсором, когда в режиме вставки и назад заблокироваться, когда в нормальном режиме, поскольку MacVim делает. И сделать так это довольно просто, просто добавил это к моему .vimrc
файл как описанный здесь :
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_SR = "\<Esc>]50;CursorShape=2\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
, Но как Вы видите, была задержка при ударе ESC
, чтобы выйти из режима вставки назад к нормальному режиму и показать блок курсором снова. Таким образом для фиксации его я нашел это:
set ttimeout
set ttimeoutlen=1
set listchars=tab:>-,trail:~,extends:>,precedes:<,space:.
set ttyfast
И теперь это работает довольно прекрасное, как Вы видите:
я надеюсь, что это могло помочь кому-либо еще! рџ‘»