のノーマルモードマッピングで奇妙な問題が発生していますEsc。
escmapvimrc
内容を含むファイルを作成する場合:
set nocompatible
set showcmd " Doesn't affect the problem: just makes it easier to see
nnoremap <Esc> :noh<CR><esc>
そして、このvimrcを使用してvimを起動します。
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の起動画面が消え、上記のようにオペレーター保留モードになります。
どうしたの?
編集:動作は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で同じことをしても、この動作は示されませんでした。