質問: vim ci "と同等のemacs? emacsにはvimsci "コマンドと同等のものがありますか?基本的に、引用符のセット内のテキストを置き換えたいと思います。vimでは、ci)またはci]またはci}を使用して「内部*を変更」することができます。
回答: これは私がvimに欠けていたものであり、zap-to-charそれを正しくカットしなかったようです。これが「ci」と「ca」を再現するための私の謙虚な試みです。(defun change-outer (str) (interactive "schange outer: ") (condition-case nil (search-backward str (line-beginning-position)) (error (search-forward str (line-end-position)) (forward-char -1))) (kill-sexp) ) (defun change-inner (str) (interactive "schange inner: ") (condition-case nil (search-backward str (line-beginning-position)) (error (search-forward str (line-end-position)) (forward-char -1))) (push-mark) (forward-sexp) (forward-char -1) (exchange-point-and-mark) (forward-char 1) (kill-region (point) (mark)) ) search-forward/search-backwardの3番目の(オプションの)パラメーターは、検索が失敗した場合の対処方法を示すためのものであるため、通常、condition-caseは必要ありません。しかし、何らかの理由で、最初の検索の3番目のパラメーターとして2番目の検索を配置すると、奇妙な動作が発生します。