C'est possible? Absolument! Cas et point: textobj-word-column.vim .
Comment créer vos propres objets texte
Le mode visuel est généralement utilisé pour créer un nouvel objet texte. Le mode visuel peut être en ligne, en caractère (typiquement) ou en bloc visuel. Voici les bases de ce dont vous aurez besoin:
- Une combinaison de touches inutilisée généralement
a{char}
ou i{char}
où {char}
est à la fois descriptive et inutilisée. par exemple i/
comme un objet texte d'exemple entre /
.
- Besoin d'un moyen de trouver le début de votre objet texte. par exemple
T/
- Besoin d'un moyen de trouver la fin de votre objet texte. par exemple
t/
- Choisissez un mode visuel. par exemple
v
- Créez une cartographie en mode visuel (uniquement) via
xnoremap
.
- Créez un mappage de mode en attente d'opérateur qui utilise le mappage de mode visuel via
onoremap
et :normal
.
Maintenant, pour un exemple de notre simple i/
qui crée un objet texte entre /
's:
xnoremap i/ :<c-u>normal! T/vt/<cr>
onoremap i/ :normal vi/<cr>
Tant que vous suivez les ingrédients de base, vous pouvez créer des objets texte pour toutes sortes de choses.
Création avancée d'objets texte avec vim-textobj-user
Le plugin vim-textobj-user fournit un moyen courant de définir des objets texte personnalisés de manière plus déclarative. Par exemple, voici un objet texte de balise php:
call textobj#user#plugin('php', {
\ 'code': {
\ 'pattern': ['<?php\>', '?>'],
\ 'select-a': 'aP',
\ 'select-i': 'iP',
\ },
\ })
Pour plus d' aide vim-textobj utilisateur voir son aide doc: :h textobj-user-introduction
.
Pour plus d'aide
:h map-overview
:h visual-start
:h :norm
Ainsi que la page Créer de nouveaux objets texte Vim wiki.