左シフトキーと右シフトキーの区別


7

大文字を結ぶときにキーボードと同じ側のシフトキーを使うのが悪い癖があります。Dたとえばを入力するには、左シフトを左小指とd左人差し指で押します。キーボードの左側にあるキーと組み合わせて右シフトを使用することをお勧めします。逆も同様です。

この癖を取り除くために、どちらかのシフトキーとキーボードの同じ側にあるキーの組み合わせを無効にしたいと思います。shift-dを<S-d>でマッピングできますが、これは両方のシフトキーに適用されます。右シフトキーのみに適用するものはありますか?


3
Vimではこれを区別することはできないと思いますAS-a右シフトまたは左シフト)。端末またはキーボードの設定を探してみてください。
nobe4 2016年

ただメモ- これはなぜ悪い習慣なのですか?しかし、タイプはあなたのために働き、そして最も快適です。
fruglemonkey 2016年

@frugle不快で、タイピングを邪魔する厄介な位置で指を伸ばしてしまうことが多いため、これは悪い習慣です。私にとって、vimの美しさはスピードとフローを可能にする方法であり、この習慣はそれを打破します。
Andreas

フェアポイント。ただし、RE:速度とフローのように、習慣的に<LShift> + dを入力すると何も出力されず、代わりに<Rshift> + dマッピングを使用する必要がある場合は、フローを中断しないでください。また、<LShift> + dの使用が保証される場合があります(片手で入力する場合、または右手がテンキー上にある場合など)。このマッピングにより、これを実行できなくなり、将来的にさらに混乱が生じる可能性があります。このマッピングは循環的な問題を引き起こしているようです(問題Aは症状Bを引き起こし、解決策Cで問題Aを修正して症状Bも引き起こします)。根本的な問題を修正する方がよい
fruglemonkey

1
アイデアは、悪い習慣を学習しないためにのみマッピングを実装してから、マッピングを削除することです。私は以前にこれをやったことがあり、ある程度成功しています。挿入モードで最後の単語を削除するマッピング<jj>を使用して、バックスペースを繰り返しスマッシュする必要をなくしています。それを使用する習慣をつけるために、私は何もしないために連続したプレスをバックスペースにマッピングする必要がありました。バックスペースで失敗しないことを学んだときに、この2番目のマッピングを削除しました。
Andreas

回答:


9

Vimのよくある質問20.4。「キーのマッピングを作成できません。何が問題ですか?」

1)最初に、キーがVimに正しく渡されることを確認してください。これが当てはまるかどうかを判断するには、Vimを挿入モードにしてからCtrl-Vを押します(Ctrl-Vが貼り付け操作に再マッピングされている場合はCtrl-Qを押します(例:Windowsでmswin.vimスクリプトファイルを使用している場合)。鍵が続きます。

バッファーに何も表示されない場合(そして 'showcmd'がオンになっていると仮定すると、^ VはVim画面の右下付近に表示されたままです)、Vimはキーを正しく取得できず、それ以外に何もする必要がありません。マッピングに別のキーを選択するか、GVimを使用すると、キーが正しく認識されます。

私のセットアップでは、発行Ctrl- q+ Left Shfit- dは「D」を表示し、発行Ctrl- q+ Right Shfit- dは同じ結果になります。したがって、少なくともここではVimは違いを検出できません。

しかし、これを支援するために他のツールを使用することもできます。たとえば、Windowsでは次のようなものでAutoHotkeyを試すことができます。

#ifWinActive ahk_class Vim
LShift & d::MsgBox You pressed the wrong 'Shift'!
#ifWinActive

または単に組み合わせを無視するには:

#ifWinActive ahk_class Vim
LShift & d::
#ifWinActive

Macについて何か提案はありますか?しばらく待って、他にも答えがあります。そうでなければ私はこれを受け入れます。
Andreas

@Andreas このサイトには、Mac用のAHKの代替案がリストされています
mMontu

私はSeil(カラビナの後継者)を強くお勧めします:)
nobe4

OSXの場合、Karabiner-Elementsに既​​製の設定があり、右シフトなどで左シフトを無効にすることができます。pqrs.org/ osx / karabiner / complex_modifications /#key_specific
Andreas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.