Я переключаюсь с Gvim на использование Console Vim с использованием терминала Gnome 2.32.1.
Мне очень понравилось в Gvim, как курсор будет сплошным квадратом в обычном режиме и тонкой линией в режиме вставки.
Есть ли способ создания этой функциональности при запуске консоли Vim в терминале Gnome?
Если это невозможно, какие уловки можно узнать режим ты в? Я знаю, что есть режим, отображаемый в нижней части экрана, но он не так полезен, как курсор (на который смотрят мои глаза). Или ты просто привыкаешь к этому с практикой?
Для терминала гнома добавьте это к Вашему ~/.vimrc
(чтобы быть созданным при пропавших без вести):
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
Найденный здесь: курсор Изменения формирует в различных режимах.
Править
Измените последнее ibeam
кому: block
, уехать с блочным курсором.
Для версии терминала gnome> 3.15
Добавьте это к своему ~ / .vimrc.
if has("autocmd")
au VimEnter,InsertLeave * silent execute '!echo -ne "\e[2 q"' | redraw!
au InsertEnter,InsertChange *
\ if v:insertmode == 'i' |
\ silent execute '!echo -ne "\e[6 q"' | redraw! |
\ elseif v:insertmode == 'r' |
\ silent execute '!echo -ne "\e[4 q"' | redraw! |
\ endif
au VimLeave * silent execute '!echo -ne "\e[ q"' | redraw!
endif
Вы получите блочный курсор в обычном режиме и тонкий курсор в режиме вставки.
Для этого не нужно использовать автокоманды или gconftool - теперь Vim поддерживает их изначально.
Вставьте следующие строки в ваш vimrc:
let &t_SI = "\<esc>[5 q" " blinking I-beam in insert mode
let &t_SR = "\<esc>[3 q" " blinking underline in replace mode
let &t_EI = "\<esc>[ q" " default cursor (usually blinking block) otherwise
Эти последовательности должны работать во всех эмуляторах терминала на основе VTE начиная с версии 0.39 VTE, выпущенной в конце 2014 года, а также в xterm. Если вы хотите остановить мигание курсора, добавьте по одному к каждому из чисел и вставьте 2
в последовательность для t_EI
(возможные последовательности перечислены в этого ответа ; см. Также Руководство по эксплуатации VT510 ).