Est-ce que emacs a l'équivalent de la commande VIMs ci" ? En gros, je veux remplacer le texte à l'intérieur d'un ensemble de guillemets.
Dans vim, je peux ci) ou ci] ou ci} pour "changer l'intérieur *"...
Est-ce que emacs a l'équivalent de la commande VIMs ci" ? En gros, je veux remplacer le texte à l'intérieur d'un ensemble de guillemets.
Dans vim, je peux ci) ou ci] ou ci} pour "changer l'intérieur *"...
De mémoire, la commande la plus proche est M-z "
qui efface tout depuis le point jusqu'à la prochaine occurrence du caractère ".
Il existe également C-M-k
alias "tuer l'expression équilibrée", qui supprimera une déclaration complète entre parenthèses ou une chaîne de caractères entre guillemets, etc. en fonction de la définition du mode actuel de "l'expression équilibrée" et du caractère actuellement pointé (c'est-à-dire que cela ne fonctionne que si le curseur se trouve sur l'ouverture '"' ou '(' etc.).
Oui ! L'équivalent de la commande VIMs ci" dans Emacs est... ci" :-)
http://www.emacswiki.org/emacs-de/Vimpulse
Je viens de tomber sur cette question ; voici une solution personnalisée qui a fonctionné pour moi :
(defun seek-backward-to-char (chr)
"Seek backwards to a character"
(interactive "cSeek back to char: ")
(while (not (= (char-after) chr))
(forward-char -1)))
(defun delete-between-pair (char)
"Delete in between the given pair"
(interactive "cDelete between char: ")
(seek-backward-to-char char)
(forward-char 1)
(zap-to-char 1 char)
(insert char)
(forward-char -1))
Puis liez delete-between-pair à la clé de votre choix. Pour moi, je l'ai lié à C-z i.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.