Vi & Vim

Fragen und Antworten für Benutzer der vi und Vim Texteditoren

1
Warum heißt es "vimrc" -Datei?
Woher kommt der Name vimrc ? Ist der rcTeil ein Akronym? Gibt es historische Gründe für die Wahl dieses Namens? Woher stammt die Praxis, rcKonfigurationsdateien zuerst zu verwenden? Für das, was es wert ist, bin ich mir bewusst, dass dies nicht nur für vim gilt. Deshalb haben wir .bashrc, .hgrcusw.

1
Kann ich 'alte Dateien' mit einem bestimmten Namen oder einer bestimmten Erweiterung durchsuchen?
Ich benutze die oldfilesund browse oldfilesBefehle die ganze Zeit. Ich finde sie äußerst nützlich, weil es einfacher ist, meine Leader-Zuordnung zu treffen, die Dateien sehr schnell zu durchsuchen und zu treffen q<number><enter> anstatt einen wirklich langen Verzeichnispfad zu einer bestimmten Datei einzugeben. (Zumal ich mich manchmal nicht erinnere, in welchem …

1
So färben Sie Kommentare nach einer definierten Spalte
Ich habe diese Materialien einmal erhalten, damit dieser Helfer vimeine Art vertikale Linie anzeigen kann, um die Durchsetzung der PEP8-Regeln zur Begrenzung der Zeilenlänge in Spalte 80 zu unterstützen: " Long lines highlighting. nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr> hi OverLength ctermbg=none cterm=none match OverLength /\%>80v/ fun! s:LongLineHLToggle() if !&diff if !exists('w:longlinehl') let …

1
Wie kann man dafür sorgen, dass Streichhölzer nicht mit dem Schließen von '>' in „<(>)“ übereinstimmen, während es dennoch mit „<()>“ übereinstimmt?
Ich verwende set matchpairs+=&lt;:&gt;mit meinem C ++ - Code und es funktioniert großartig. Aber es gibt einige Fälle, in denen es nicht ganz da ist, wie dieser C ++ - Code: #include &lt;type_traits&gt; template&lt;int X&gt; typename std::enable_if&lt;(X&gt;9),int&gt;::type func() { return 5; } int main() { func&lt;10&gt;(); } Hier wird , …

1
Auswählen eines Zeilenbereichs über die Befehlszeile
Ich muss (visuell) einen Zeilenbereich aus der Befehlszeile auswählen. Der folgende Befehl :?^\s*for?+,/^\s*end/- pdruckt beispielsweise alle Zeilen zwischen a forund end(exklusiver Weg). Anstatt den Druckvorgang durchzuführen, möchte ich mit hervorgehobenen Zeilen in den visuellen Modus wechseln. Ich habe im Handbuch gesucht, aber einen solchen Ex-Befehl nicht gefunden.

1
Dateinamenvervollständigung mit Leerzeichen
Ich habe viele Dateien, deren Namen Leerzeichen enthalten, und dies gibt mir Probleme. Wenn ich versuche, die Befehlszeile für den Befehl find zu vervollständigen, und eine dieser Dateien angezeigt wird, wird sie von Vim gefunden, aber nicht geladen, da die Leerzeichen nicht maskiert werden. Beispiel: Ich bin bereits in vim …




5
Stoppen Sie das Öffnen von CtrlP in NERDTree
Ich benutze beide CtrlPund NERDTreein meinem Vim. Wenn ich eine Datei mit der CtrlPSuchfunktion öffne, wird sie manchmal im NERDTree-Fenster geöffnet (und immer dann, wenn das NERD-Fenster aktiv ist). Wie kann ich verhindern, CtrlPdass Dateien in NERDTree geöffnet werden, und sie zwingen, sie im Hauptfenster zu öffnen? Ich habe versucht, …

2
Stellen Sie die Zeilennummern nur im normalen Modus ein
Ich habe im Einfügemodus nicht viel Verwendung für Zeilennummern, daher möchte ich sie ausschalten. Sie eignen sich jedoch hervorragend für den normalen Modus. Ständiges Verwenden set nu!ist lästig. Gibt es eine Möglichkeit, den set nu!normalen Modus zu verlassen und in diesen zu wechseln? Irgendwelche Lösungen mit der oben genannten oder …



1
Führen Sie die vorherige Ersetzung für eine andere Auswahl mit einem einzigen Tastendruck durch
Ich habe folgenden Befehl ausgeführt :'&lt;,'&gt;s/2/digit/g auf dem Code unten manuell visuell ausgewählt: return _.round(this.getTotalAbs(), 2).toFixed(2); Und es hat wie beabsichtigt funktioniert return _.round(this.getTotalAbs(), digit).toFixed(digit); Jetzt möchte ich den gleichen Ersatzbefehl für ein anderes Code-Snippet wiederholen, das manuell über den visuellen Auswahlmodus ausgewählt wurde, mit einem Tastendruck (falls möglich).

3
So übergeben Sie den aktuellen Dateinamen mit einem anderen Pfad zur Befehlszeile
Gibt es eine Möglichkeit, das spezielle Symbol %mit Pfadnamen in der Befehlszeile arbeiten zu lassen? Zum Beispiel möchte ich tun: :diffsplit Path\to\other\directory\% Damit kann ich @:schnell gleichnamige Dateien vergleichen. Dies öffnet jedoch nur einen neuen Puffer namens %. Natürlich könnte ich tun: :exe 'diffsplit Path\to\other\directory\'.expand('%') Dies ist jedoch umständlich, da …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.