Unterscheidung zwischen linker und rechter Umschalttaste

7

Ich habe die schlechte Angewohnheit, beim Binden von Großbuchstaben die Umschalttaste auf derselben Seite der Tastatur wie der Buchstabe zu verwenden. Um Dbeispielsweise a einzugeben, drücke ich die linke Umschalttaste mit meinem linken kleinen dFinger und meinem linken Zeigefinger. Es ist besser, die rechte Umschalttaste in Kombination mit den Tasten auf der linken Seite der Tastatur zu verwenden und umgekehrt .

Um diese Angewohnheit loszuwerden, möchte ich die Kombination beider Umschalttasten mit Tasten auf derselben Seite der Tastatur deaktivieren. Ich kann Shift-D mit zuordnen <S-d>, aber dies gilt für beide Shift-Tasten. Gibt es eine, die nur für die rechte Umschalttaste gilt?

Andreas
quelle
3
Ich denke nicht, dass dies in Vim möglich ist, um a zu unterscheiden A( S-aentweder mit Rechts- oder Linksverschiebung). Versuchen Sie möglicherweise, nach Ihrer Terminal- oder Tastaturkonfiguration zu suchen.
nobe4
Nur eine Anmerkung - warum ist das eine schlechte Angewohnheit? Typ funktioniert jedoch für Sie und ist am bequemsten.
Fruglemonkey
@frugle Es ist eine schlechte Angewohnheit, weil es unangenehm ist und mich oft dazu bringt, meine Finger in unangenehmen Positionen zu strecken, die mein Tippen unterbrechen. Für mich ist das Schöne an Vim, wie es Geschwindigkeit und Fluss ermöglicht, und diese Gewohnheit bricht das.
Andreas
Gutes Argument. Aber als Hinweis RE: Geschwindigkeit und Fluss, werden Sie Ihren Fluss nicht unterbrechen, wenn Sie gewöhnlich <LShift> + d eingeben, was nichts ausgibt, und dann daran denken müssen, stattdessen Ihre <Rshift> + d-Zuordnung zu verwenden? Und es gibt Zeiten, in denen die Verwendung von <LShift> + d gerechtfertigt sein könnte (Einhand-Eingabe oder wenn sich Ihre rechte Hand auf einem Nummernblock befindet usw.), was Sie durch diese Zuordnung verhindern und weitere potenzielle Störungen auf der ganzen Linie darstellen. Es scheint, dass diese Zuordnung ein zirkuläres Problem verursacht (Problem A verursacht Symptom B, Beheben Sie Problem A mit Lösung C, die auch Symptom B verursacht). Besser, um das Grundproblem zu beheben
fruglemonkey
1
Die Idee ist, das Mapping nur zu implementieren, um die schlechte Angewohnheit zu verlernen und dann das Mapping zu entfernen. Ich habe das schon einmal mit einigem Erfolg gemacht. Ich habe eine Zuordnung <jj>, um das letzte Wort im Einfügemodus zu löschen, damit nicht wiederholt die Rücktaste gedrückt werden muss. Um die Möglichkeit zu haben, es zu verwenden, musste ich dir auch aufeinanderfolgende Drucke auf die Rücktaste zuordnen, um nichts zu tun. Als ich gelernt hatte, nicht auf die Rücktaste zu schlagen, entfernte ich diese zweite Zuordnung.
Andreas

Antworten:

9

Aus den Vim-FAQ 20.4. "Ich kann keine Zuordnung für den Schlüssel erstellen. Was ist falsch?" ::

1) Stellen Sie zunächst sicher, dass der Schlüssel korrekt an Vim übergeben wurde. Um festzustellen, ob dies der Fall ist, versetzen Sie Vim in den Einfügemodus und drücken Sie dann Strg-V (oder Strg-Q, wenn Ihr Strg-V dem Einfügevorgang neu zugeordnet ist (z. B. unter Windows, wenn Sie die Skriptdatei mswin.vim verwenden). gefolgt von Ihrem Schlüssel.

Wenn nichts im Puffer angezeigt wird (und vorausgesetzt, Sie haben 'showmd' aktiviert, bleibt ^ V unten rechts auf dem Vim-Bildschirm angezeigt), erhält Vim Ihren Schlüssel nicht richtig und es ist nichts anderes zu tun als Wählen Sie einen anderen Schlüssel für Ihr Mapping oder verwenden Sie GVim, um den Schlüssel richtig zu erkennen.

In meinem Setup zeigt die Ausgabe von Ctrl- q+ Left Shfit- d'D' an, und die Ausgabe von Ctrl- q+ Right Shfit- dführt zum gleichen Ergebnis. Zumindest hier kann Vim den Unterschied nicht erkennen.

Aber vielleicht könnten Sie ein anderes Tool verwenden, um Ihnen dabei zu helfen. Unter Windows können Sie beispielsweise AutoHotkey wie folgt ausprobieren :

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

oder um die Kombination einfach zu ignorieren:

#ifWinActive ahk_class Vim
LShift & d::
#ifWinActive
mMontu
quelle
Irgendwelche Vorschläge für Mac? Ich werde eine Weile warten und se gibt es andere Antworten. Wenn nicht, werde ich das akzeptieren.
Andreas
@Andreas diese Seite listet AHK-Alternativen für Mac
mMontu
Ich kann Seil (den Nachfolger des Karabiners) nur empfehlen :)
nobe4
Für OSX gibt es jetzt Karabiner-Elemente mit vorgefertigten Einstellungen zum Deaktivieren der Linksverschiebung mit Rechtsbuchstaben
Andreas