829 Stimmen

Was sind die dunklen Ecken von Vim, von denen Ihnen Ihre Mutter nie erzählt hat?

Es gibt eine Fülle von Fragen, in denen über gängige Tricks gesprochen wird, vor allem " Vim+ctags Tipps und Tricks ".

Ich beziehe mich jedoch nicht auf häufig verwendete Abkürzungen, die jemand, der neu in Vim ist, cool finden würde. Ich spreche von einem erfahrenen Unix-Benutzer (sei es ein Entwickler, Administrator, beides, usw.), der glaubt, etwas zu wissen, was 99% von uns noch nie gehört haben oder wovon sie träumen. Etwas, das ihnen nicht nur die Arbeit erleichtert, sondern auch COOL ist und hackisch . Immerhin, Vim befindet sich in dem an dunklen Ecken reichsten Betriebssystem der Welt, daher sollte es Feinheiten haben, die nur wenige Privilegierte kennen und mit uns teilen wollen.

0 Stimmen

Starten Sie einen anderen Editor oder Befehle mit !commandName

12 Stimmen

:Sex Fenster teilen und integrierten Datei-Explorer öffnen (horizontale Teilung)

3 Stimmen

Diese Frage scheint ziemlich konstruktiv zu sein - wenn man sich die Anzahl der Upvotes ansieht... Ich habe für die Wiedereröffnung gestimmt - vielleicht kommt ja eine noch coolere Antwort - die hochgevotet werden kann, wenn sie nützlich ist - und somit SOF mehr Wert verleiht. Wenn ich die Antworten nach Stimmen ordne, habe ich in nur 5 Minuten eine Menge cooles Zeug gelernt... wirklich wertvolles Zeug hier, warum etwas so wertvolles schließen? Wieso ist das nicht konstruktiv?

215voto

Xavier Guardiola Punkte 2559

Eine, die ich selten in den meisten Vim-Tutorials finde, die aber UNGLAUBLICH nützlich ist (zumindest für mich), ist die

g; and g,

um sich (vorwärts, rückwärts) durch die Änderungsliste zu bewegen.

Ich möchte Ihnen zeigen, wie ich es verwende. Manchmal muss ich ein Stück Code oder eine Zeichenkette kopieren und einfügen, z. B. einen Hex-Farbcode in einer CSS-Datei. Dann suche ich, springe (ohne darauf zu achten, wo der Treffer liegt), kopiere ihn und springe dann zurück (g;) zu der Stelle, an der ich den Code bearbeitet habe, um ihn schließlich einzufügen. Ich muss keine Markierungen erstellen. Einfacher.

Nur meine 2cents.

32 Stimmen

In ähnlicher Weise, '. springt zur letzten bearbeiteten Zeile, und `. geht zur zuletzt bearbeiteten Position

8 Stimmen

Die Tasten Strg-O und Strg-I (Tabulator) funktionieren ähnlich, aber nicht auf dieselbe Weise. Sie bewegen sich rückwärts und vorwärts in der "Sprungliste", die Sie mit :jumps oder :ju einsehen können. Weitere Informationen erhalten Sie mit :help jumplist

20 Stimmen

Sie können die Änderungsliste auflisten, indem Sie :changes

189voto

Bill Lynch Punkte 76551
:%!xxd

Machen Sie vim zu einem Hex-Editor.

:%!xxd -r

Zurückkehren.

Warnung: Wenn Sie nicht mit binary (-b) editieren, könnten Sie die Datei beschädigen. - Josh Lee in den Kommentaren.

9 Stimmen

Und wie kann man sie wieder rückgängig machen?

40 Stimmen

:!xxd -r //Zurückkehren von HEX

21 Stimmen

Ich denke, es ist tatsächlich :%!xxd -r um es wieder rückgängig zu machen

138voto

AaronS Punkte 445
gv

Wählt die letzte visuelle Auswahl erneut aus.

123voto

Laurence Gonsalves Punkte 131009

Manchmal wird eine Einstellung in Ihrer .vimrc von einem Plugin oder Autokommando überschrieben. Um dies zu debuggen, ist ein nützlicher Trick, den Befehl :verbose in Verbindung mit :set zu benutzen. Zum Beispiel, um herauszufinden, wo cindent gesetzt/ungesetzt wurde:

:verbose set cindent?

Die Ausgabe sieht dann etwa so aus:

cindent
    Last set from /usr/share/vim/vim71/indent/c.vim

Dies funktioniert auch mit Karten und Highlights. (Danke Joeytwiddle für den Hinweis.) Zum Beispiel:

:verbose nmap U
n  U             <C-R>
        Last set from ~/.vimrc

:verbose highlight Normal
Normal         xxx guifg=#dddddd guibg=#111111 font=Inconsolata Medium 14
        Last set from ~/src/vim-holodark/colors/holodark.vim

8 Stimmen

Ausgezeichneter Tipp - genau das, wonach ich heute gesucht habe.

0 Stimmen

Ausgezeichneter Tipp, Mann! Wie lernen Sie diese geekigen Dinge kennen?

1 Stimmen

:verbose kann auch verwendet werden, bevor nmap l o highlight Normal um herauszufinden, wo die l Tastaturbelegung oder die Normal Highlight zuletzt definiert wurden. Sehr nützlich für die Fehlersuche!

103voto

N 1.1 Punkte 12152

:%TOhtml

Erzeugt eine HTML-Darstellung der aktuellen Datei.

3 Stimmen

0 Stimmen

Das ist großartig. Übrigens die % ist nicht notwendig, da der Standardparameter der aktuelle Puffer ist. :help TOhtml

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