Vimマッピングが動作を停止しました。

Vimマッピングが動作を停止しました。

:map <keys>マッピングが登録済みとしてマークされているにもかかわらず、私のVimマッピングの一部が動作を停止しました。

たとえばmap <S-CR> O<Esc>.vimrc前の項目を削除しても機能しませんmap <CR> o<Esc>。前のエントリが存在する場合は同じことが行われます<CR><S-CR>

私はすべてのVimパッケージを削除してソースから再インストールしてみましたが、それでも機能しません。役に立つ一般的なトラブルシューティングのヒントは何ですか?

答え1

を使用すると問題はgvim解決しましたが、(コメントに記載されている)などの他のマッピングはまだ機能しません。<S-CR>,ev

答え2

ある日、私のマッピングのいくつかが明確な理由なく動作を停止したことがわかりました。ソハムがそうだったように。

とにかく、私たちの素敵なVimには非常に奇妙な副作用があるようです。私の場合、langmapオプションの文字列に»シンボルを追加すると、他のキーとシンボルのマッピングが一部壊れていました。そのうち:mapコマンドの出力は、すべてが正常であることを示しています。はい、Shift-Tabのような場合には、端末は信号を伝えませんが、私たちが議論する場合はそうではありません。

Sohamや私のような人が問題に陥った場合は、langmapオプションを使用して調査を始めてください。言語マップのシンボルと動作が停止したシンボルとキーの間に顕著な接続があると仮定しないでください。

詳細。

端末の動作を理解した後、Vimにさらに「ハンドル」を提供するために、xkb技術を介していくつかのキーマップを再マッピングしました。特に、TabキーにEscape信号があります。キーの5番目のレベル(xkb用語)には、VimのCtrl-Rコマンドにマップされる↻記号があります。ラテン語の束を使用するときは、xキー(3番目のレベル)に「記号があり、キリル文字の束を使用するときは同じキーに»記号があります。

私の言語マッピングは次のとおりです。

    set lmap=
    set lmap+=йцукенгшщзхъ;qwertyuiop'\"
    set lmap+=фывапролджэ;asdfghjkl_=
    set lmap+=ячсмитьбю;zxcvbnm‘’
    set lmap+=ЙЦУКЕНГШЩЗХЪ;QWERTYUIOP'\"
    set lmap+=ФЫВАПРОЛДЖЭ;ASDFGHJKL_=
    set lmap+=ЯЧСМИТЬБЮ;ZXCVBNM‘’
    set lmap+=«»;“”

最後の文字列の»記号(実際にはxキーにあります)は、Tabキーの↻記号マッピングを中断します。はい!とても面白いです!したがって、»シンボルへのマッピングを削除すると、Vimは正しい状態になります。

関連情報