12 votes

L'équivalent Emacs de VIM ci" ?

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 *"...

19voto

Justin Smith Points 4016

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.).

7voto

Brian Postow Points 1235

De la même manière que la suggestion de Justin, C-M-SPACE vous donne "mark-sexp" qui sélectionnera la paren équilibrante, la citation, etc. et ensuite vous pouvez C-w ou autre pour la faire disparaître. Au cas où vous voudriez VOIR ce que vous êtes sur le point de supprimer avant de le supprimer...

6voto

Claudia Points 11

Oui ! L'équivalent de la commande VIMs ci" dans Emacs est... ci" :-)
http://www.emacswiki.org/emacs-de/Vimpulse

3voto

laalto Points 50581

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.

2voto

Michael H. Points 361

J'ai bien peur de ne pas connaître la fonction ci de VIM, mais avez-vous regardé le remplacement des regexp d'Emacs ? Je ne peux pas parler de la sémantique exacte ou de sa facilité d'utilisation en comparaison, mais c'est ce que j'utiliserais pour ce que je pense que vous voulez.

SistemesEz.com

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.

Powered by:

X