Question

Je suis sûr qu'il l'habitude d'être un plugin pour ce genre de choses un peu, mais maintenant que j'ai besoin, je ne peux pas sembler trouver (naturellement), donc je vais juste demander agréable et simple.

Quelle est la meilleure façon de choisir entre parenthèses ou des guillemets ou généralement une liste de caractères correspondant?

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

Par exemple, ici, j'aimerais sélectionner (a), ou Computed solution coefficients:.

Je ne suis pas intéressé par multiligne, seulement des cas qui se produisent sur une seule ligne.

Était-ce utile?

La solution

Utilisez la touche de navigation quelle que soit vous voulez entrer dans les parenthèses, alors vous pouvez utiliser ou yi( pour copier tout yi) dans les parens correspondants. Cela fonctionne également avec des crochets (par exemple yi]) et des accolades. En plus de y, vous pouvez également supprimer ou modifier le texte (par exemple ci), di]).

J'ai essayé avec double et guillemets simples et il semble fonctionner aussi. Pour vos données, je fais:

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

Déplacer le curseur sur le C, puis tapez yi'. Déplacez le curseur sur une ligne vide, appuyez sur p, et obtenir

Computed solution coefficients:

CMS noté , cela fonctionne pour la sélection du mode visuel aussi bien -. il suffit d'utiliser vi), vi}, vi', etc

Autres conseils

Pour choisir entre les guillemets simples que je fais habituellement un vi' ( "select apostrophes interne").

À l'intérieur d'un bloc entre parenthèses, j'utilise vib ( "select bloc interne")

À l'intérieur d'un bloc d'accolades, vous pouvez utiliser viB ( "capital B")

Pour faire des sélections « inclusive » (sélectionner également les guillemets, parenthèses ou accolades), vous pouvez utiliser au lieu de a i.

Vous pouvez en savoir plus sur l'objet texte sélections sur le manuel ou dans les vim :help text-objects.

Cette méthode de sélection est intégrée et bien couvert dans l'aide Vim. Il couvre les balises XML et plus.

Voir :help text-objects.

Pour sélectionner entre guillemets simples utilisez vi'.

Pour la sélection au sein de l'utilisation entre parenthèses vi(.

Utilisez les flèches ou pour se rendre à hjkl une des expressions de bracketing, puis pour sélectionner le mode v visuel (à savoir la sélection), puis de sauter à % l'autre support.

Ecrire une fonction Vim Vimrc en utilisant la fonction intégrée searchpair dans:

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)

Je voudrais ajouter un détail à la réponse la plus voté:

Si vous utilisez gvim et que vous souhaitez copier dans le presse-papiers, utilisez

"+<command>

Pour copier tout le contenu entre parenthèses (ou des parenthèses ou accolades)

Par exemple:. Copiera à "+yi} le presse-papiers tout le contenu entre les accolades curseur est

Je l'ai fait un plugin vim-textobj-quotes: https://github.com/beloglazov/ vim-textobj guillemets

Il fournit des objets de texte pour les paires les plus proches de citations de tout type. En utilisant seulement ou iq il vous permet aq d'opérer sur le contenu de simple ( '), double ( "), ou à l'arrière (`) citations qui entourent actuellement le curseur, sont en face du curseur, ou derrière ( dans cet ordre de préférence). en d'autres termes, il saute vers l'avant ou vers l'arrière en cas de besoin pour atteindre les guillemets.

Il est plus facile de comprendre en regardant des exemples (le curseur est affiché avec |):

  1. Avant: foo '1, |2, 3' bar; après avoir appuyé sur diq: foo '|' bar
  2. Avant: foo| '1, 2, 3' bar; après avoir appuyé sur foo '1, 2, 3' |bar: daq
  3. Avant: foo | bar; après avoir appuyé sur ciq: yiq
  4. Avant: viq; après avoir appuyé sur <=>: <=>
  5. Avant: <=>; après avoir appuyé sur <=>: <=>
  6. Avant: <=>; après avoir appuyé sur <=>: <=>

Les exemples ci-dessus sont donnés pour des guillemets simples, le plugin fonctionne exactement de la même manière pour les doubles ( ") et retour (`) guillemets.

Vous pouvez également utiliser d'autres opérateurs. <=>, <=>, <=>, <=>, etc

S'il vous plaît jeter un oeil à la page GitHub lien ci-dessus pour plus de détails.

Un keymap simple vim résoudrait ce problème.     carte VIQ F » LVF » hh Cette carte de commande ci-dessus ViQ aux clés de recherche entre guillemets. Remplacer "avec un caractère et créer vos keymaps. Tenez-vous cela dans vimrc lors du démarrage et vous devriez pouvoir l'utiliser à chaque fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top