Als «vimscript» getaggte Fragen

Eine in Vim eingebettete Skriptsprache. Es kann verwendet werden, um Vim an Ihre Bedürfnisse anzupassen und Plugins zu erstellen. Auch VimL genannt.



2
Wie gehe ich mit Zeichenfolgen um, die Leerzeichen im Vim-Skript enthalten?
Ich habe den folgenden Befehl in meinem vimrc: execute "set path+=".getcwd()."/**" Es funktioniert gut, wenn das aktuelle Arbeitsverzeichnis wie ist /home/tamlok/my_work/. Wenn das Verzeichnis jedoch Leerzeichen enthält, wie z. B. D:\Program Files\vim\, wird sich vim beschweren. Ich nehme an, dass ich dies mit der substitute()Funktion beheben kann, um alle Leerzeichen …


1
Ausgabe der Vim-Anzeige in Text
Ich frage mich, ob es einen ähnlichen Befehl gibt :TOhtml, aber nur für einfachen Text, der die gesamte Vim-Anzeige darstellt. Zum Beispiel angesichts der Anzeige: Es würde die folgende Textdatei erstellen: 1 B 1 a ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ N …
9 vimscript 

1
Wie definiere ich einen Operator, der während der Eingabe aktualisiert wird?
Ich habe eine Operatorzuordnung definiert, die einen Textbereich verwendet, dann nach einer Eingabezeichenfolge fragt und dann den Bereich mit Tabellarisch ausrichtet, wobei die Eingabezeichenfolge als Argument verwendet wird. Es funktioniert gut. Ich habe es so implementiert und vim-operator-user verwendet , um einen neuen Operator zu definieren: map \aa <Plug>(operator-align) call …
9 vimscript 

1
Anweisungen für mehrere Zeilen
Gibt es eine Möglichkeit, eine einzeilige Anweisung in mehrere Zeilen aufzuteilen? Zum Beispiel möchte ich mich verwandeln setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 ? "a long string" : "another long string" in setlocal variable_name = condition1 ? "1" : condition2 ? "0" : condition3 …
9 vimscript 

1
Regex, der kürzere Spiele innerhalb eines Spiels bevorzugt? (Dies ist mehr beteiligt als nicht gierig)
Ich versuche, ein Skript für die Fuzzy-Suche in einem Puffer zu erstellen. Die Hauptidee ist eine Eingabe zu nehmen, und fügen Sie .\{-}zwischen jedem Paar von Zeichen, zB foowird f.\{-}o.\{-}o. Dies funktioniert ziemlich gut, führt jedoch zu vielen nicht idealen Übereinstimmungen. Ich denke, eine Fuzzy-Suche sollte zuerst die kürzesten Übereinstimmungen …

1
Verwendung des Operators = ~
Ich bin ein wenig verwirrt über die Regex-Vergleichsoperatoren von VimScript. Wenn ich mir :h =~?mein Verständnis anschaue , =~kann dies verwendet werden, um ein Regex-Match durchzuführen (wobei die ?Groß- und Kleinschreibung nicht berücksichtigt wird). Aber dieser Code gibt "nein" aus: let s:myVar = "S123" if s:myVar =~? "^S\d+" echo "yes" …

2
Vimscript: Hilfe beim Autoloading, Scope & <SID>
Ich habe daran gearbeitet, einen Code in meinem Computer vimrcin einige eigenständige und wiederverwendbare Bundles / Plugins-Plugins zu modularisieren und zu konvertieren . Ich bin auf ein Problem mit Autoloading &amp; Scope gestoßen, das ich nur schwer verstehen kann. Ich habe gelesen , durch :h autoload, :h &lt;sid&gt;, :h script-local, …
9 vimscript 

1
vimL Schlaf innerhalb einer Funktion
Ich versuche, eine Funktion zu definieren, mit der Sie leichter erkennen können, wo sich der Cursor befindet, indem Sie 100 ms lang ein Fadenkreuz darum legen. Hier ist mein Versuch: function! Flash() set cursorline cursorcolumn sleep 100m set nocursorline nocursorcolumn endfunction nnoremap &lt;leader&gt;fl :call Flash() Es scheint jedoch, dass die …
9 vimscript 

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&lt;number&gt;&lt;enter&gt; 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 &lt;Leader&gt;H :call&lt;SID&gt;LongLineHLToggle()&lt;cr&gt; hi OverLength ctermbg=none cterm=none match OverLength /\%&gt;80v/ fun! s:LongLineHLToggle() if !&amp;diff if !exists('w:longlinehl') let …



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.