У меня странная проблема с отображением нормального режима 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
После того, как вы нажмете ввод, появится экран запуска Vim, и под ним:
Entering Debug mode. Type "cont" to continue.
cmd: noh
>s
После этого экран запуска Vim исчезает, и вы находитесь в режиме ожидания оператора, как описано выше.
В чем дело?
РЕДАКТИРОВАТЬ: Поведение, как описано в 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 не показывало такого поведения.