Vim показывает странные символы на экране в терминале
Поэтому я просто установил Ubuntu на свой нетбук и переключился на менеджер окон openbox.
Когда я открываю VIM в терминале и нажимаю j
когда я вверху файла или ударил k
в нижней части файла появляются странные символы юникода. Пожалуйста, найдите ниже скриншот этого.
Это действительно беспокоит при редактировании файла. Блокирует содержимое для меня, пока я не перейду его курсором.
Любая помощь приветствуется. Спасибо
1 ответ
Это из-за визуального звонка. Вы можете решить эту проблему, удалив или комментируя эту строку из вашего файла.vimrc
`set visualbell`
РЕДАКТИРОВАТЬ:
Я до сих пор не знаю, как использовать Visual bell и не иметь этой проблемы.
Старый вопрос, но я сменил Tilix на Terminator и столкнулся с аналогичной проблемой. Мое решение было основано на том, что указано в первой ссылке, но мне потребовалось несколько дополнительных изменений (звонок и другие решения мне не помогли, мне нужно было очистить экран).
Это было добавлено в конец моего virmc.
" Solve extra characters on vim screens in terminator in Linux
" Enable different cursors based on the mode from
" https://github.com/mjedmonds/dotfiles/commit/41c1d4639d7b2b047d260602f27a80695cf73f9c
" Information on cursors to complete it from
" https://vim.fandom.com/wiki/Change_cursor_shape_in_different_modes"
if has("autocmd")
au BufNewFile,VimEnter,BufEnter,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
let &t_SI = "\<Esc>P\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
let &t_SR = "\<Esc>P\<Esc>\<Esc>]50;CursorShape=2\x7\<Esc>\\"
let &t_EI = "\<Esc>P\<Esc>\<Esc>]50;CursorShape=2\x7\<Esc>\\"