J'ai le problème suivant: lorsque j'utilise 'Cx rt' (string-rectangle), je suis invité à entrer une chaîne, pour remplacer le rectangle sélectionné. Disons que je tape ";;" (pour commenter le rectangle). Cela fonctionne très bien, mais la prochaine fois que j'appellerai la même fonction et que je veux remplacer par rien (chaîne vide), je ne peux pas le faire, car il y a une chaîne "par défaut" ;; " que j'ai déjà utilisé, et si je viens de taper, la commande utilisera ce ";;" chaîne au lieu d'une chaîne vide. Comment le définir sur une chaîne vide?
Problème similaire que j'ai eu avec certaines fonctions de recherche / remplacement. Fondamentalement, quand il se souvient de la dernière chaîne que j'ai utilisée et la définit par défaut, comment puis-je "entrer" une chaîne vide à la place?
ÉDITER :
Kill-rectangle, mentionné par YoungFrog résout le problème spécifique, mais j'avais une autre chose à l'esprit: fondamentalement, dans quelle fonction emacs se souvient de la dernière valeur que vous avez entrée et l'utilise comme "par défaut" lorsque vous appuyez simplement sur entrée, vous devriez être capable d'effacer ce "défaut" à tout ce qui était réel par défaut avant la première utilisation de la fonction. Voici un autre exemple:
En mode dired, si vous 'Mx rgrep' il vous demande 3 entrées:
1) Que rechercher: tout ce que vous entrez ici sera utilisé par défaut la prochaine fois que vous utiliserez rgrep. Comme quelqu'un l'a souligné, cela n'a aucun sens de rechercher une chaîne vide, donc effacer cette valeur "par défaut" n'est en effet jamais nécessaire, je suppose.
2) Ensuite, il demandera dans quels fichiers rechercher. Son véritable défaut est "tous" les fichiers. Si j'entre * .txt et recherche, la prochaine fois que j'utilise rgrep, * .txt sera utilisé comme "défaut". Maintenant, je souhaite effacer ce "default" * .txt, et revenir à sa valeur par défaut d'origine, "all", tout comme je voulais effacer ";;" "default" dans la fonction string-rectangle à sa vraie chaîne vide par défaut.
Bien sûr, ce problème spécifique pour tous les fichiers pourrait probablement être résolu en tapant *? Mais ce problème général subsiste potentiellement avec d'autres commandes qui se souviennent de la dernière valeur utilisée.
3) Il demandera ensuite le répertoire de base, pas de problème ici.
Donc, comme je le vois, chaque fois qu'emacs essaie de m'aider en se souvenant de ma dernière valeur utilisée dans une commande (que je trouve très utile la plupart du temps), il devrait y avoir un moyen d'effacer cette valeur utilisée comme si je ne l'ai jamais utilisée. commande avant.
PS Je suis encore nouveau sur emacs, et peut-être que les fonctionnalités dont j'ai besoin ne sont pas nécessaires, car il y a toujours une solution?
clear rectangle
.
comment-dwim
? Entrer également une chaîne "vide" pour la recherche n'aurait pas de sens, mais vous pouvez entrer une chaîne vide pour la pièce de remplacement. Je suis curieux de voir plus d'exemples où la saisie d'une chaîne vide pourrait être nécessaire à un utilisateur.
string-rectangle
. Chaque fois qu'une chaîne vide a un sens en tant qu'entrée possible, il devrait y avoir un moyen de la saisir, par opposition à l'acceptation d'une valeur par défaut. Regardez attentivement le doc de la commande (et son code source, si vous êtes à l'aise avec cela), pour voir s'il y a en fait un défaut de conception ici. Si vous pensez qu'il est, alors s'il vous plaît le signaler: M-x report-emacs-bug
.
2)
, vous pouvez littéralement entrer all
, ce qui est légèrement différent de *
: il correspond .*
aussi.
delete-rectangle
est une option.