Ich bin ein Ruby-Programmierer, der versucht, von Textmate zu MacVim zu wechseln, und ich habe Probleme, die gigantischen Listen der Dinge zu durchsuchen, die Sie in VIM tun können, und alle Tastendrücke für sie. Ich habe es satt zu hören "Sie können 'I' zum Einfügen von Text oder 'a' zum Anhängen von Text nach dem Zeichen oder 'A' zum Anhängen von Text am Ende der Zeile verwenden oder ..." kann ich mir nicht vorstellen Jeder verwendet alle 20 verschiedenen Tastendrücke, um durch Text zu navigieren, etwa 10 Tasten, um mit dem Hinzufügen von Text zu beginnen, und 18 Möglichkeiten, einen inneren Block visuell auszuwählen. Oder tust du!?
Mein idealer Spickzettel wären die 30-40 am häufigsten verwendeten Tastendrücke oder Befehle, die jeder täglich zum Schreiben von Code verwendet, zusammen mit den absolut wesentlichen Plugins, die Rubyisten täglich verwenden, und den 10 am häufigsten verwendeten Befehlen für sie. In der Theorie , wenn ich das und beginnt , wie kompetent in VIM immer , wie ich in Textmate bin, dann kann ich anfangen , die Tausende von anderen VIM Befehlen zu lernen , die ich machen mehr effizient.
Oder lerne ich VIM überhaupt falsch?
quelle
Antworten:
Hier ist ein Tippblatt, das ich einmal geschrieben habe, mit den Befehlen, die ich tatsächlich regelmäßig benutze:
Verweise
Allgemeines
<Esc>
bringt Sie aus jedem Modus heraus und zurück in den BefehlsmodusNavigation
Bearbeitung
Einfügen
Alle Einfügebefehle werden mit beendet
<Esc>
, um zum Befehlsmodus zurückzukehren.Ändern
<motion>
ändert den Text in BewegungsrichtungLöschen
<motion>
in Bewegungsrichtung gelöschtAusschneiden und Einfügen
Blöcke
Global
Suchen
Dateien
name
Datei auf Festplatte schreiben alsname
Windows
Quellennavigation
tags
Datei); ^ T zurück zur vorherigen Position (beliebiger Stapel von Positionen beibehalten)Lokale Änderungen anzeigen
Vim verfügt über einige Funktionen, mit denen Linien, die gegenüber einer Basisversion in der Quellcodeverwaltung geändert wurden, einfach hervorgehoben werden können. Ich habe ein kleines Vim-Skript erstellt, das dies einfach macht: http://github.com/ghewgill/vim-scmdiff
quelle
Esc
Schlüssel (und RSI?) Vermeiden möchten , können Sie verwenden^[
.^c
funktioniert auch (erweitert aber keine Abkürzungen). Quelle: vim.wikia.com/wiki/Avoid_the_escape_keyhttp://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Dies ist das Beste, was es je gab, um VIM zu lernen.
quelle
Hier ist ein großartiger Spickzettel für vim :
quelle
Haben Sie das integrierte Tutorial von Vim durchgearbeitet? Wenn nicht, gehen Sie zur Befehlszeile und geben Sie ein
vimtutor
. Es ist eine großartige Möglichkeit, die ersten Befehle zu lernen.Vim bietet eine unglaubliche Menge an Flexibilität und Leistung. Wenn Sie wie die meisten Vim-Benutzer sind, lernen Sie viele neue Befehle, vergessen alte und lernen sie dann neu. Die integrierte Hilfe ist gut und verdient das regelmäßige Durchsuchen, um neue Dinge zu lernen.
Es gibt mehrere gute FAQs und Cheatsheets für vim im Internet. Ich würde empfehlen, nach
vim + faq
und zu suchenvim + cheatsheet
. Cheat-Sheets.org # vim ist eine gute Quelle, ebenso wie das Vim Tips Wiki .quelle
~/.vimrc
,~/.gvimrc
und~/.vim
Verzeichnis in einem tar-Ball, wenn ich zu Satz etwas nach oben haben. Wenn ich das kopiere und die Dateien extrahiere, kann vim unter Windows, Macs und Linux in wenigen Minuten mit all meinen üblichen Befehlen und Farbschemata ausgeführt werden.Was die meisten Menschen tun , ist mit den bloßen Grundlagen beginnen, wie vielleicht i, yw, yy, und p. Sie können weiterhin Pfeiltasten verwenden, um sich zu bewegen, Text mit der Maus auszuwählen, die Menüs zu verwenden usw. Wenn Sie dann etwas verlangsamen, suchen Sie nach dem schnelleren Weg und fügen nach und nach immer mehr Befehle hinzu. Möglicherweise lernen Sie für eine Weile einen neuen Befehl pro Tag, dann wird er zu einem pro Woche. Sie werden sich in einem Monat ziemlich produktiv fühlen. Nach einem Jahr haben Sie ein ziemlich solides Repertoire, und nach 2-3 Jahren werden Sie nicht einmal bewusst darüber nachdenken, was Ihre Finger tippen, und es wird seltsam aussehen, wenn Sie es für jemanden buchstabieren müssen. Ich habe vi im Jahr 1993 gelernt und erhalte immer noch 2 oder 3 neue Befehle pro Jahr.
quelle
@ Greg Hewgills Cheatsheet ist sehr gut. Ich habe vor einigen Monaten mit dem Wechsel von TextMate begonnen. Jetzt bin ich genauso produktiv wie bei TM und staune ständig über Vims Kraft.
Hier ist, wie ich gewechselt habe . Vielleicht kann es Ihnen nützlich sein.
Grosso Modo, ich denke nicht, dass es eine gute Idee ist, einen radikalen Wechsel vorzunehmen. Vim ist ganz anders und es ist am besten, schrittweise zu gehen.
Und um Ihre Unterfrage zu beantworten, ja, ich benutze den ganzen
iaIAoO
Tag, um in den Einfügemodus zu wechseln. Auf den ersten Blick scheint es sicherlich seltsam, aber nach einer Weile denken Sie nicht mehr wirklich darüber nach.Einige Befehle, die für alle programmierbezogenen Aufgaben unglaublich nützlich sind:
r
undR
Zeichen zu ersetzen<C-a>
und<C-x>
zu erhöhen und verringern Zahlencit
den Inhalt eines HTML - Tags zu ändern, und seine Varianten (cat
,dit
,dat
,ci(
, etc.)<C-x><C-o>
(zugeordnet,,
) zur Omnicompletion<C-v>
Sobald Sie auf die Vim Weise sind daran gewöhnt , es wirklich schwierig wird , nicht getroffen
o
oder diex
ganze Zeit , wenn der Text in einem anderen Editor oder Textfeld bearbeiten.quelle
Ich mache.
Das ist der richtige Weg. Beginnen Sie mit grundlegenden Befehlen und greifen Sie dann auf Befehle zu, die Ihre Produktivität verbessern. Ich folge diesem Blog gerne, um Tipps zu erhalten, wie ich meine Produktivität mit vim verbessern kann.
quelle
tuxfiles.org hält einen ziemlich guten Spickzettel. Ich denke, es gibt ein paar Punkte, um die Befehle zu lernen:
d$
), führen Sie eine schnelle Google-Suche durch, um festzustellen, ob Sie einen Befehl dafür finden können.Neben diesen Tipps gibt es einige grundlegende Konzepte, die Sie verstehen sollten.
d$
. Um eine Zeile nach einem bestimmten Zeichen hervorzuheben, verwenden Siev$
. Beachten$
Sie also, dass Sie am Ende der Zeile, von der aus sich Ihr Cursor gerade befindet, etwas tun werden.u
wird rückgängig gemacht undctrl+r
wiederholt.3dd
löscht die Zeile, auf der sich Ihr Cursor befindet, und die beiden folgenden Zeilen. Kopiert auf ähnliche Weise3yy
die Zeile, auf der sich Ihr Cursor befindet, und die beiden folgenden Zeilen.:ls
die Puffer zu verzeichnen, und:bn
,:bp
um durch sie.:help
Dies ist wahrscheinlich der beste Weg, um die Seile und den Rest der Befehle zu lernen, die Sie durch die Verwendung lernen werden.quelle
Fügen Sie dies in Ihre .bashrc ein, um vim mit der zuletzt bearbeiteten Datei in der zuletzt bearbeiteten Zeile zu öffnen
quelle
Gehen Sie mit vim zu Efficient Editing und erfahren Sie, was Sie für den Einstieg benötigen. Nicht alles auf dieser Seite ist von Anfang an wichtig, also wählen Sie aus, was Sie wollen.
Verwenden Sie von dort aus vim für alles. "hjkl", "y" und "p" bringen Sie weit, auch wenn es nicht der effizienteste Weg ist. Wenn Sie auf eine Aufgabe stoßen, für die Sie den magischen Schlüssel nicht kennen, um sie effizient (oder überhaupt nicht) auszuführen, und Sie feststellen, dass Sie sie mehr als ein paar Mal ausführen, schauen Sie nach. Nach und nach wird es zur zweiten Natur.
Ich fand vim vor vielen Monden entmutigend (damals, als es am Ende kein "m" hatte), aber es dauerte nur etwa eine Woche, bis es effizient war. Ich finde es immer noch der schnellste Editor, mit dem man Dinge erledigen kann.
quelle