Disons que j'ai le texte suivant: Je veux tout sélectionner entre les citations. J'ai utilisé VI ", mais cela ne fonctionne pas, cela ne fonctionne que lorsque le texte est sur une seule ligne. D'autre part quand j'ai quelque chose comme ça: P> (test1,
test 2)
4 Réponses :
Les objets texte délimités par des caractères identiques ( Si vous souhaitez qu'un tel objet texte multiligne, vous devez définir votre propre alternative. Les plugins comme KANA / VIM-TEXOBJ-User ou mon propre Plugin de CountJummp vous aide avec cela. P> Avec ce dernier, cela peut être aussi simple que cela pour remplacer le " code>,
' code>) ne fonctionnent que dans une ligne, car sinon, il serait difficile de déterminer quelle est la bonne portée à Sélectionnez.
i '
A' code> /
i " code> /
a" code>: p>
La citation intégrée et la double citation objet de texte ne pas traverser les limites de la ligne. Cependant, vous pouvez utiliser une recherche avec les opérateurs de Vim. E.G.
y/"<cr> c/"<cr>FOO<esc> d?"<cr>
Le Il fournit des objets texte pour les paires les plus proches des guillemets de tout type et prend en charge les guillemets couvrant plusieurs lignes. En utilisant uniquement Veuillez consulter la page GITUB liée ci-dessus pour plus de détails. P> vim-texoubj-citations code> Le plugin fait exactement ce que vous recherchez: https://github.com/beloglazov/vim-textobj-quotes P>
iq code> ou
aq code> Il vous permet de fonctionner sur le contenu des citations simples ('), doubles (") ou arrière (`) citations qui entourent actuellement le curseur, sont devant le curseur ou derrière (dans cet ordre de préférence). En d'autres termes, il saute en avant ou en arrière lorsque nécessaire pour atteindre les citations. P>
Vous pouvez créer les mappages suivants:
" Visual nnoremap <silent> vi" ?"<CR><space>v/"<CR><BS> nnoremap <silent> vi' ?'<CR><space>v/'<CR><BS> nnoremap <silent> vi` ?`<CR><space>v/`<CR><BS> nnoremap <silent> va" ?"<CR>v/"<CR> nnoremap <silent> va' ?'<CR>v/'<CR> nnoremap <silent> va` ?`<CR>v/`<CR> " Delete nnoremap <silent> di" ?"<CR><space>v/"<CR><BS>d nnoremap <silent> di' ?'<CR><space>v/'<CR><BS>d nnoremap <silent> di` ?`<CR><space>v/`<CR><BS>d nnoremap <silent> da" ?"<CR>v/"<CR>d nnoremap <silent> da' ?'<CR>v/'<CR>d nnoremap <silent> da` ?`<CR>v/`<CR>d " Change nnoremap <silent> ci" ?"<CR><space>v/"<CR><BS>c nnoremap <silent> ci' ?'<CR><space>v/'<CR><BS>c nnoremap <silent> ci` ?`<CR><space>v/`<CR><BS>c nnoremap <silent> ca" ?"<CR>v/"<CR>c nnoremap <silent> ca' ?'<CR>v/'<CR>c nnoremap <silent> ca` ?`<CR>v/`<CR>c