2

.vimrcファイルにこのマッピングがあります(すべてのファイルタイプに適用可能)

nnoremap <F3> a<C-R>=strftime("%a %d %b %Y %r")<CR><Esc>
inoremap <F3> <C-R>=strftime("%a %d %b %Y %r")<CR>

そして、私のpython.vim (にあるafter/ftplugin/にはこれがあります:

nnoremap <S-F3> :up<cr>
inoremap <S-F3> <esc>:up<cr>a

のマッピングF3は、通常モードと挿入モードの両方で期待どおりに機能します。ただし、Shift+F3マッピングの場合、現在のファイルを保存する必要があります。しかし、現在の行の上に予期しない文字が挿入されてい1;2Rます。何を表しているのかわかりません。


アップデート

これは次の出力です:verbose nmap <S-F3>

n  <S-F3>      * :up<CR>
        Last set from ~/.vim/after/ftplugin/python.vim

まさにそのくぼみで。

4

1 に答える 1

4

これは、端末がキーを処理する方法に関連しています。Cv を押してから キーを押すと、実際に何がプログラムに送信されているかをいつでも確認できます。これは Vim の外でも動作します。

解決:

1 - 最後にスペースがあるマッピングの vimrc タイプnnoremap部分。

2 - Cv を押してから S-F3 を押します。私のマシン ^[[25~では、これはあなたの端末がVimに送信しているものです。

3 - 入力する前にもう 1 つスペースを追加します:up<cr>

次のようになります。nnoremap ^[[25~ :up<cr>

于 2012-10-11T20:12:41.397 に答える