web-dev-qa-db-ja.com

私のVIM基本的なimapマッピングは効果がありません

こんにちは、

私はVimのマッピングに苦労しています。 「a-sをb-sに置き換える」、「ù/に置き換える」などの非常に基本的なものを練習したいのですが、しません。成功します。

これが私の試練です:

_:imap a b
:imap ù /
:imap 'ù' /
:imap 'ù' '/'
_

挿入モードに入るときはいつでも、a-sを押すとa-sになり、ù-sを押すとù-sになります。
(これに加えて、_nnoremap ,<space> :nohlsearch<CR>_や_nnoremap <C-H> <C-W><C-H>_など、より複雑なマッピングが正しく機能しています。)

次のバージョンのVimを実行しています。
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 06 2019 17:31:41)

よろしくお願いします!

3
Luc

最初の2つの形式は正しいです。マッピングに関係する引用はありません。ただし、特定の特殊キーには :help key-notation を使用する必要があります。

:imap a bが挿入モードで効果がない場合は、何か問題があります。私の最善の推測は、あなたが誤って:set pasteを持っていることでしょう。このモードはリテラル貼り付けを目的としているため、挿入モードのマッピングは無効になっています。 :set paste?で確認でき、:set nopasteはこれをオフにします(現在のセッションの場合。これが設定されているファイル(例:.vimrcまたはプラグイン)を確認する必要があります)。

そうでない場合 'paste' 、これを引き起こす他の設定ミスがある可能性があります。 (かなり単純な)実験を続けるために、vim --cleanでプレーンなVimセッションを開始できます。これは構成を無視し、:imapは間違いなく機能するはずです。

1
Ingo Karkat