1124 Stimmen

Was ist Ihre produktivste Abkürzung mit Vim?

Ich habe schon viel gehört über Vim sowohl Vor- als auch Nachteile. Es scheint wirklich, dass man (als Entwickler) mit Vim schneller sein sollte als mit jedem anderen Editor. Ich benutze Vim, um einige grundlegende Dinge zu tun und ich bin bestenfalls 10 mal weniger produktiv mit Vim.

Die einzigen zwei Dinge, die Ihnen wichtig sein sollten, wenn Sie über Geschwindigkeit sprechen (vielleicht sind sie Ihnen nicht wichtig genug, aber das sollten Sie), sind:

  1. Abwechselnd links und rechts verwenden Händen ist die schnellste Weg zur Verwendung des k
  2. Niemals die Maus zu berühren ist die zweite Möglichkeit, so schnell wie möglich zu sein. Es dauert ewig, bis Sie Ihre Hand bewegen können, die Maus zu greifen, sie zu bewegen und sie wieder auf die Tastatur zu bringen (und man muss oft auf die Tastatur schauen, um sicher zu sein, dass Sie um sicher zu sein, dass man die Hand wieder an der richtigen Stelle hat)

Hier sind zwei Beispiele, die zeigen, warum ich mit Vim weit weniger produktiv bin.

Kopieren/Ausschneiden & Einfügen. Ich mache das ständig. Mit all den zeitgenössischen Redakteuren, die Sie drücken Shift mit der linken Hand, und Sie bewegen den Cursor mit der rechten Hand, um Text auszuwählen. Dann Ctrl + C Kopien, bewegen Sie den Cursor und Ctrl + V Pasten.

Mit Vim ist es furchtbar:

  • yy um eine Zeile zu kopieren (Sie wollen fast nie die ganze Zeile!)
  • [number xx]yy zum Kopieren xx Zeilen in den Puffer. Aber man weiß nie genau, ob man das ausgewählt hat, was man wollte. Ich muss oft [number xx]dd dann u rückgängig zu machen!

Ein weiteres Beispiel? Suchen und Ersetzen.

  • Sur PSPad : Ctrl + f geben Sie ein, wonach Sie suchen möchten, und drücken Sie dann Enter .
  • In Vim: / ein, dann geben Sie ein, wonach Sie suchen möchten, und wenn es Sonderzeichen gibt, geben Sie \ vor jede Sonderzeichen, dann drücken Sie Enter .

Und alles mit Vim ist so: es scheint, dass ich nicht weiß, wie ich es richtig handhaben soll.

NB : Ich habe bereits den Vim gelesen schummeln Blatt :)

Meine Frage ist:

Was ist die Art und Weise, wie Sie Vim benutzen, die Sie produktiver macht als mit einem modernen Editor?

16voto

Bradjcox Punkte 1498

Seltsam, dass niemand ctags erwähnt hat. Laden Sie "exuberant ctags" herunter und setzen Sie es vor die beschissene vorinstallierte Version, die Sie bereits in Ihrem Suchpfad haben. Wechseln Sie in das Root-Verzeichnis des Systems, an dem Sie arbeiten, z.B. die Android-Kernel-Distribution. Geben Sie "ctags -R ." ein, um einen Index der Quelldateien irgendwo unterhalb dieses Verzeichnisses in einer Datei namens "tags" zu erstellen. Dies enthält alle Tags, unabhängig von der Sprache und der Position im Verzeichnis, in einer Datei, so dass sprachübergreifende Arbeit einfach ist.

Dann öffnen Sie vim in diesem Ordner und lesen Sie :help ctags für einige Befehle. Ein paar benutze ich oft:

  • Setzen Sie den Cursor auf einen Methodenaufruf und geben Sie CTRL-] ein, um zur Methodendefinition zu gelangen. Definition.

  • Geben Sie :ta name ein, um zur Definition von name zu gelangen.

14voto

autodidakto Punkte 331

Sie fragten nach produktiven Abkürzungen, aber ich denke, Ihre eigentliche Frage ist: Ist vim es wert? Die Antwort auf diese Stackoverflow-Frage ist -> "Ja".

Sie müssen zwei Dinge bemerkt haben. Vim ist mächtig, und Vim ist schwer zu lernen. Ein großer Teil seiner Macht liegt in seiner Erweiterbarkeit und der endlosen Kombination von Befehlen. Fühlen Sie sich nicht überwältigt. Gehen Sie langsam vor. Ein Befehl, ein Plugin nach dem anderen. Übertreiben Sie es nicht.

All die Investitionen, die Sie in vim gesteckt haben, werden sich tausendfach auszahlen. Sie werden viele, viele Stunden in einem Texteditor verbringen, bevor Sie sterben. Vim wird Ihr Begleiter sein.

14voto

David Claridge Punkte 5929

Automatische Einrückung:

gg (zum Anfang des Dokuments)
= (Zeit für einen Gedankenstrich!)
shift-g (zum Ende des Dokuments)

Sie benötigen die Option "filetype plugin indent on" in Ihrem .vimrc Datei und wahrscheinlich entsprechende Einstellungen für "shiftwidth" und "expandtab".

13voto

Stefano Borini Punkte 132313

Mehrere Puffer, und insbesondere schnelles Springen zwischen ihnen, um zwei Dateien zu vergleichen mit :bp y :bn (ordnungsgemäß umgewandelt in eine einzelne Shift + p ou Shift + n )

vimdiff Modus (Aufteilung in zwei vertikale Puffer, mit Farben zur Darstellung der Unterschiede)

Bereichskopie mit Ctrl + v

Und schließlich die Tabulatorvervollständigung von Bezeichnern (suchen Sie nach "mosh_tab_or_complete"). Das ändert das Leben.

12voto

David Wolever Punkte 138377

Ich stimme mit dem ersten Poster überein - die :r! Befehl ist sehr nützlich.

Meistens verwende ich es zum "Einfügen" von Dingen:

:r!cat
**Ctrl-V to paste from the OS clipboard**
^D

Auf diese Weise muss ich mich nicht mit :set paste .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X