У мене виникає дивна проблема з нормальним відображенням режиму Esc.
Якщо ви створюєте файл escmapvimrc
із вмістом:
set nocompatible
set showcmd " Doesn't affect the problem: just makes it easier to see
nnoremap <Esc> :noh<CR><esc>
А потім почніть vim, використовуючи цей vimrc:
vim --noplugin -u escmapvimrc
Тоді vim запуститься в режимі очікування від оператора з c
командою, що чекає подальшого введення, відображенням порожнього файлу та відображенням командного рядка :noh
.
Якщо ви видалите nnoremap
рядок, то проблема відходить.
Якщо ви налагодите і переглянете все, ви отримаєте такий результат:
Entering Debug mode. Type "cont" to continue.
/[...]/escmapvimrc
line 1: set nocompatible
>s
/[...]/escmapvimrc
line 2: set showcmd " Doesn't affect the problem: just makes it easier to see
>s
/[...]/escmapvimrc
line 3: nnoremap <Esc> :noh<CR><esc>
>s
/[...]/escmapvimrc
line 4: End of sourced file
>s
Press ENTER or type command to continue
Після натискання клавіші Enter відображається екран запуску Vim, а під ним:
Entering Debug mode. Type "cont" to continue.
cmd: noh
>s
Екран запуску Vim зникає, і ви перебуваєте в режимі очікування від оператора, як описано вище.
Що відбувається?
EDIT: Поведінка, як описано у Vim 7.3. У Vim 7.4.52 nmap
причиною запуску Vim в режимі заміни при запуску Vim без файлу. (Якщо Vim 7.4.52 запускається з файлу, однак він також запускається із запущеною командою c-командою.) У будь-якому випадку проблема зникає, коли nmap видалений.
nnoremap <c-l> :noh<cr><c-l>
/alksdjflaskj
для очищення підсвітки пошуку, яка досить швидко.
:noh
для мене не відображався . Зробити те саме з gvim, ця поведінка не виявлялася.