Si je veux, disons supprimer un bloc, je peux utiliser des mouvements d'objets texte.
C'est-à-dire si mon texte ressemble à ceci:
(let [a 1 b {:x 3 :y 4}]
a)
Et le curseur est par exemple sur le caractère 3
.
Si je tape diB
alors :x 3 :y 4
serait supprimé Si c'est le cas, daB
le bloc et les crochets environnants sont supprimés:{:x 3 :y 4}
Ainsi, le modèle est:
operation inclusion block-motion
Où l'opération peut être:
d
- supprimerc
- changementy
- copie ...
l'inclusion est soit:
i
- intérieur (pas de supports) oua
- tout
et bloc-mouvement:
b
,(
ou)
pour()
parensB
,{
ou}
pour les{}
curlies[
ou]
et<
ou>
pour leurs propres supports respectifs, etc.
Maintenant, la question est: y a-t-il un mouvement de bloc pour le bloc le plus à l'intérieur avec des crochets de l'un de ces types?
J'aimerais pouvoir faire da?
avec ?
la motion que je recherche. Et si le curseur dans mon exemple ci-dessus est à l'intérieur, {}
disons que 3
je supprimerais juste le {}
mais si mon curseur était sur, b
je supprimerais le []
bloc, etc.
line 13: E15: Invalid expression: E15: Invalid expression: {
(…). J'ai vim 7.2, votre code nécessite-t-il 7.3? Soit dit en passant, alors que les questions de programmation sont généralement redirigées vers SO, les réponses de script (pour les shells, les éditeurs et autres programmes scriptables) sont courantes ici.set cpo&vim
au début du script - qui a été testé et développé sur un vim 7.2.148 sous ... Windows XP. (Je suis un peu fatigué de cette dispersion de la communauté vim, voir les commentaires sur cette réponse stackoverflow.com/questions/4488979/… )b
pour tous les blocs mais il ne sélectionne toujours que le()
type de bloc. Dois-je l'appeler différemment ou l'ai-je mal installé?ib
signifie déjà quelque chose. Vous utilisez celui - ci aveci%
oua%
(voir les correspondances) =>di%
,va%i%
,c2a%
, etcPas par défaut, mais il peut y avoir un mécanisme pour ajouter cette fonctionnalité. Dans visual.txt, la section sur les opérations sur la zone visuelle, il a ceci:
la source
Il y a un addon vim appelé textobj-user qui supporte .. euh, quelque chose comme ça. En fait, je ne suis pas sûr d'avoir compris ce que vous recherchez, mais je pense que l'addon est destiné à le rendre plus pratique pour écrire un addon pour implémenter ce que vous voulez.
la source