Diejenigen, die auf halbem Weg in die Welt von Vim eingetreten sind und sich in den folgenden Situationen befinden
[Wenn Sie sich verlaufen, dies] Geben Sie Folgendes in das Terminal ein
$ cd && git clone https://github.com/mojamozya/allapps-vimlike.git
[Wenn Sie sich verlaufen, dies]
$ echo 'xkbcomp -I$HOME/allapps-vimlike/.xkb ~/allapps-vimlike/.xkb/keymap/mykbd $DISPLAY 2> /dev/null' >> ~/.bashrc
Dies ermöglicht vorerst jedem, der Simply mapped (Mapped with XKB) in das Repository schreibt.
Wenn Sie das Terminal nicht so eingestellt haben, dass es beim Start gestartet wird, starten Sie das Terminal bei jedem Start.
$ sudo apt install autokey-gtk
Wenn Sie nicht Gnome sind, vielleicht autokey-qt
$ autokey
Aufgrund der Spezifikationen von Autokey ist dies etwas verwirrend. Derzeit können Sie alle Ordner und Phrasen löschen, die standardmäßig in Autokey enthalten sind.
Wählen Sie auf dem Autokey-Bildschirm in der Menüleiste "Datei" -> "Neu" -> "Ordner" aus und dann Wählen Sie "Standard verwenden" und erstellen Sie einen Ordner mit dem Namen "Allgemein" am Standardspeicherort. In ~ / .config / autokey / data sollte sich also ein Ordner namens general befinden Erstellen Sie dort einen symbolischen Link für "allapps-vimlike / .autokey / general / vimlike".
[Wenn Sie sich verlaufen, dies] Nachdem Sie einen Ordner mit dem Namen "general" am Standardspeicherort erstellt haben, wie oben auf dem Autokey-Bildschirm beschrieben,
$ ln -s ~/allapps-vimlike/.autokey/general/vimlike ~/.config/autokey/data/general
Für Ubuntu müssen Sie es nur zur Sitzung hinzufügen. Wenn Sie von einer anderen Distribution stammen, überzeugen Sie sich selbst.
Sie können bashrc "autokey" hinzufügen, aber Es kann etwas langweilig sein, dass der Autokey bei jedem Start des Terminals neu gestartet wird
Kann verwendet werden.
Da der Konvertierungsschlüssel dem Hyperschlüssel zugeordnet ist, Lesen Sie die Schlüsselzuordnung als Hyper = Transformieren.
Sie können wahrscheinlich sehen, wie Sie Hyper anders als den Konvertierungsschlüssel machen, indem Sie die Atmosphäre der Quelle um xkb betrachten. Wenn Bedarf besteht, werde ich eine bestimmte Methode schreiben, diese jedoch weglassen, da sie nüchtern und problematisch ist.
(Eine einfache Keymap ist auch im Repository geschrieben.)
Wie bei Vim ist der Cursor hjkl. Mit anderen Worten, wenn Sie gleichzeitig die Konvertierungstaste und hjkl drücken, werden sie zu Cursortasten.
Esc schüttelt auch "Strg + [" und "Strg + @" als Gegenmaßnahme, wenn der kleine Finger nicht erreicht. (Ich drücke oft fälschlicherweise [und @)
Der Punkt ist, dass BackSpace und Delete ;
bzw. :
zugewiesen werden.
Ich höre also nicht so viel Löschung wie das ursprüngliche Vim
Durch Drücken von; zum Löschen ist es nicht wie Vim, aber es ist eine normalerweise nützliche Verknüpfung.
(Nur schlagen; mit Ihrem kleinen Finger werden Sie müde, daher kann es gut sein, den Bereich um i auf BackSpace zu setzen.)
: Nun, das ist das Gefühl: "Wenn Sie die rechte Seite der Rücktaste drücken, verschwindet die rechte Seite des Cursors." Wenn Sie Lust auf Vim haben, drücken Sie x. Ich denke es ist egal welches.
Es verfügt auch über a und e mit Emacs-ähnlichen Tastenkombinationen. Zum bequemen gleichzeitigen Drücken der Konvertierungstaste Beim Drücken von ^, gibt es etwas Stress. Wenn Sie Umschalt + $ drücken Es ist so stressig wie wenn ein Raucher 3 Stunden lang nicht geraucht hat.
Also habe ich versucht, hier die Emac-Schlüsselbindung zu übernehmen.
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + h | ← | Vim | Cursor key |
Hyper + j | ↓ | Vim | Cursor key |
Hyper + k | ↑ | Vim | Cursor key |
Hyper + l | → | Vim | Cursor key |
Hyper + ; | BackSpace | Original | Backspace |
Hyper + x | BackSpace | Original | Backspace |
Hyper + : | Delete | Original | Delete |
Hyper + a | Home | Emacs | Move cursor to the head of line |
Hyper + e | End | Emacs | Move cursor to the end of line |
Hyper + m | Enter | Emacs | Enter key |
Hyper + Ctrl + [ | Esc | Vim | Esc (Mapped with AutoKey) |
Hyper + Ctrl + @ | Esc | Vim | Esc (Mapped with AutoKey) |
Von hier an mache ich etwas Kompliziertes. {Strg + Cursortaste` bewegt den Cursor auf schöne Weise IME-Funktion? Betriebssystemfunktion? Ich weiß das nicht, aber es verhält sich ein bisschen wie Vims "e" oder "b".
Aber ich benutze "e" mit Emacs-Bindung, also Ich habe "Strg + →" "w" zugewiesen, was sich wie "e" verhält.
Strg + →
ist eher wie e
.
Aber schließlich unterscheiden sich die Details von "e", also spielt es keine Rolle, welches.
In ähnlicher Weise wird "Strg + ←" "b" zugewiesen.
Auch wie "o". Durch Festlegen eines Makros, das mit der End-Taste an das Ende der Zeile verschoben und dann die Eingabetaste gedrückt wird Das "o" von Vim wird pseudo reproduziert.
Wie man Shift + o reproduziert, ist schwierig.
Wenn Sie möchten, dass der IDE-Einzug gut aussieht, lassen Sie ihn einfach so, wie er ist.
Wenn Sie möchten, dass es auch dann funktioniert, wenn Sie sich in der obersten Zeile befinden, vielleicht Home-> Enter-> ↑
?
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + Shift + b | Ctrl + ← | Vim | Move cursor to the head of word |
Hyper + Shift + w | Ctrl + Shift + → | Vim | Secelt the range from current cursor to the head of word |
Hyper + w | Ctrl + → | Vim | Move cursor to the end of word |
Hyper + Shift + w | Ctrl + Shift + → | Vim | Secelt the range from current cursor to the end of word |
Hyper + o | End -> Enter | Vim | Make a line below current cursor |
Hyper + Shift + o | ↑ -> End -> Enter | Vim | Make a line above current cursor |
Shortcut (Mapped with Autokey) Der Rest ist eine Abkürzung. Persönlich stehen "Strg + x", "Strg + c" und "Strg + v" nebeneinander. Ich mag es nicht wirklich. Wenn Sie es kopieren möchten, fügen Sie es ein und Sie sind fertig! Ich werde es tun! Es wird besser. Also schwinge ich zu d, y, p und so weiter.
Da es schwierig war, "TT" und "JJ" zu reproduzieren, Ich habe Hotkeys "Strg + d" und "Strg + y" gemacht.
Dann können Sie mit a zum Zeilenanfang zurückkehren und mit Umschalt + d (y) löschen (ziehen). Ist es wie "Strg + a-> Strg + k" in Emacs? Ich weiß es nicht, weil ich mit Emacs nicht vertraut bin.
Ich mag auch nicht "Strg + z", weil es meine Finger verkrampft, wenn ich darauf drücke.
Ich mag Redo mit Strg + Umschalt + z
nicht, weil die Gefahr besteht, dass es falsch gedrückt wird.
Also habe ich es mit u
und Ctrl * r
reproduziert.
Pushed keys | Mapped Keys | Like | Usage |
---|---|---|---|
Hyper + u | Ctrl + z | Vim | Undo |
Hyper + Ctrl + r | Ctrl + Shift + z | Vim | Redo |
Hyper + y | Ctrl + c | Vim | Copy |
Hyper + Ctrl + d | Home -> Shift + End -> Ctrl + c -> ← | Vim | Cut |
Hyper + Shift + y | Ctrl + End -> Ctrl + c -> → | Vim | Copy the range from current cursor to the end of line |
Hyper + d | Ctrl + x | Vim | Cut |
Hyper + Ctrl + d | Home -> Shift + End -> Ctrl + x -> Delete | Vim | Cut |
Hyper + Shift + d | Ctrl + Shift + End -> Ctrl + x | Vim | Cut the range from current cursor to the end of line |
Hyper + p | Ctrl + v | Vim | Paste |
Bei Verwendung mit vscode ist es meiner Meinung nach eine gute Idee, Keyboard: Dispatch auf "keyCode" zu setzen. Dies kann dazu führen, dass sich einige Verknüpfungen in vscode unregelmäßig verhalten. In diesem Fall wird es geheilt, wenn Sie mit den Tastaturkürzeln von vscode spielen.
Ich kann keine Verantwortung übernehmen, auch wenn mein Computer aufgrund von TT kaputt geht Wenn Sie Fragen haben, bitte.