2016-09-22 15 views
1

私はvimでマッピングを行っていて、問題が発生しました。 <Up><Down><Left><Right>にマップすることができ、<S-Left><S-Right>にマップできますが、<S-Up><S-Down>にはマッピングできません。つまりVimのキーバインディングの問題を診断する

:nmap <S-Right> l 

作品、そしてそうで

:nmap <Up> l 

しかし

:nmap <S-Up> l 

はしていません。

多分、この問題の答えを知っていることがあります。その場合は、質問のタイトルをより具体的に変更します。しかし、失敗すると、どこで失敗したのかを診断するために使用できるコマンドが必要です。 (私は上記のコマンドを使用して、最大のキー、タイプ:unmap <Up>を破った場合)

+0

'k 'のマッピングは' shift-k'のために働き、その逆もあります。言い換えれば、キーによるシフトのマッピングは、キーのみをマッピングした場合と同じように機能します。シフトアップはアップと同じです。 'k'をマッピングしてみてください。そして 'shift-k 'を使って、' k'のためにマップしたにもかかわらずshift-kのマッピングが機能していることを確認してください。 – SibiCoder

+0

他のキーでaltキーまたはCtrlキーを押すことができます。 – SibiCoder

答えて

2

問題は、おそらくあなたのターミナル[設定]です。

トラブルシューティングには、文字通りVimで受信したキーを挿入しようとしています。挿入モードでは、<C-V>の後に(シフトした)カーソルキーを入力します。私にとっては(gnome-terminalのTERM=gnome-256colorでは)、私はこれらの個別の値を取得します(そうイェーイ、私のためのカーソルキーにすべての作業をシフト):あなたがシフトし、シフトされないキーの同じ値が表示されている場合

" Up, S-Up, Down, S-Down 
^[OA ^[[1;2A ^[OB ^[[1;2B 

" Left, S-Left, Right, S-Right 
^[OD ^[[1;2D ^[OC ^[[1;2C 

は、お使いの端末はdoesnのそれらを区別することはできないので、Vimはできません。次のステップでは、端末の設定を確認したり、別の端末を使用したりします。

+0

ウィンドウマネージャまたは端末が最初にキャッチしている場合は、まったく表示されないことがあります。 –

+0

はい、ありがとうございます。問題は私の端末設定にありました。私の端末にはS-LeftとLeftを通知するルールがありましたが、UpからS-Upは通知されませんでした。その違いはC-Vの結果ではっきりしていました。私はC-Vについて知っていましたが、違いを伝えることはできません。 – enfascination

関連する問題