Frage

Ich bin sicher, verwendet es ein Plugin für dieses irgendwie Sachen zu sein, aber jetzt, wo ich es brauche, kann ich nicht scheinen, um es zu finden (natürlich), also werde ich einfach schön und einfach fragen.

Was ist der einfachste Weg zwischen Klammern auszuwählen, oder Anführungszeichen oder im Allgemeinen eine Liste Zeichen passender?

   write ( *, '(a)' ) 'Computed solution coefficients:'

Zum Beispiel, hier würde Ich mag (a) auszuwählen, oder Computed solution coefficients:.

Ich bin nicht daran interessiert, in mehrzeiligen, nur Fälle, die auf einer Linie auftreten.

War es hilfreich?

Lösung

Verwenden Sie, was Navigationstaste Sie in den Klammern erhalten möchten, dann können Sie entweder yi( oder yi) kopieren alles in den passenden Pars verwenden. Dies funktioniert auch mit eckigen Klammern (z yi]) und geschweifte Klammern. Neben y können Sie auch löschen oder Text (z ci), di]).

Ich habe versucht, dies mit Doppel- und Einzel Anführungszeichen, und es scheint auch dort zu arbeiten. Für Ihre Daten, das tue ich:

write (*, '(a)') 'Computed solution coefficients:'

Bewegen Sie den Mauszeiger auf die C, geben Sie dann yi'. Bewegen Sie den Cursor auf eine leere Zeile, traf p und bekommen

Computed solution coefficients:

Wie CMS bemerkt , funktioniert dies für visuelle Modus Auswahl als auch -. nur verwenden vi), vi}, vi', etc

Andere Tipps

zwischen den einzelnen Anführungszeichen wähle ich ein vi' in der Regel tun ( „wählen innere einfache Anführungszeichen“).

Innerhalb einer Klammer Block, verwende ich vib ( "inneren Block wählen")

Im Inneren einer geschweiften Klammern blockieren Sie viB verwenden können ( "Kapital B")

Um die Auswahl „inklusive“ zu machen (wählen Sie auch die Anführungszeichen, Klammern oder Klammern) Sie a statt i verwenden können.

Sie können mehr über die Textobjekt lesen Auswahlen auf dem Hand oder :help text-objects innerhalb vim.

Diese Methode der Auswahl ist eingebaut und gut in der Vim Hilfe abgedeckt. Es umfasst XML-Tags und vieles mehr.

Siehe :help text-objects.

in einfachen Anführungszeichen Zur Auswahl verwenden vi'.

Für die in Klammern Verwendung vi( auswählen.

Verwenden Sie die Pfeile oder hjkl einen der Klammerung Ausdrücke zu erhalten, dann v visuellen (d Auswahl) Modus zu wählen, dann % auf die anderen Konsole zu springen.

Schreiben Sie eine Vim-Funktion in .vimrc mit der searchpair eingebaute Funktion:

searchpair({start}, {middle}, {end} [, {flags} [, {skip}
            [, {stopline} [, {timeout}]]]])
    Search for the match of a nested start-end pair.  This can be
    used to find the "endif" that matches an "if", while other
    if/endif pairs in between are ignored.
    [...]

( http://vimdoc.sourceforge.net/htmldoc/eval.html)

Ich würde ein Detail auf die meisten Stimmen Antwort hinzufügen:

Wenn Sie gvim verwenden und wollen in die Zwischenablage kopieren, verwenden Sie

"+<command>

all den Inhalt zwischen den Klammern kopieren (oder Pars oder geschweiften Klammern)

Zum Beispiel:. "+yi} in die Zwischenablage kopiert den gesamten Inhalt zwischen den geschweiften Klammern Ihren Cursor

Ich habe ein Plugin vim-textobj-quotes gemacht: https://github.com/beloglazov/vim- textobj Anführungszeichen

Es stellt Textobjekte für die nächsten Paare von Anführungszeichen jeglicher Art. Mit nur iq oder aq es Sie auf dem Inhalt der einzelnen ( '), doppelten ( ") oder zurück (`) Zitate, die zur Zeit die Cursor umgeben, sind vor dem Cursor bedienen kann, oder hinter (in dieser Reihenfolge von Präferenz). Mit anderen Worten, es springt vorwärts oder rückwärts, wenn die Zitate erreichen benötigt.

Es ist leichter zu verstehen, indem man Beispiele (die Cursor mit | dargestellt):

  1. Vorher: foo '1, |2, 3' bar; nach dem Pressen diq: foo '|' bar
  2. Vorher: foo| '1, 2, 3' bar; nach dem Pressen diq: foo '|' bar
  3. Vorher: foo '1, 2, 3' |bar; nach dem Pressen diq: foo '|' bar
  4. Vorher: foo '1, |2, 3' bar; nach dem Pressen daq: foo | bar
  5. Vorher: foo| '1, 2, 3' bar; nach dem Pressen daq: foo | bar
  6. Vorher: foo '1, 2, 3' |bar; nach dem Pressen daq: foo | bar

Die obigen Beispiele für einfache Anführungszeichen angegeben werden, funktioniert das Plugin genau die gleiche Art und Weise für die doppelte ( ") und zurück (`) zitiert.

Sie können auch alle anderen Operatoren. ciq, diq, yiq, viq, etc

haben Sie einen Blick auf die GitHub-Seite, um weitere Informationen verknüpft oben.

Ein einfaches keymap in vim würde dieses Problem lösen.     Karte VIQs F“LVF“ hh Diese obigen Befehl Karten ViQ auf die Schlüssel in Anführungszeichen zu suchen. Ersetzen Sie "mit einem beliebigen Zeichen und erstellen Sie Ihre keymaps. Halten Sie diese in vimrc während des Starts und Sie sollten in der Lage, es zu benutzen jedes Mal.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top