emacs 是否有与 VIMs ci”命令等效的功能?基本上,我想替换引号内的文本。
在 vim 中,我可以使用 ci) 或 ci] 或 ci} 来“更改内部 *”......
答案1
我首先想到的是最接近的命令是M-z "
删除从点到下一个“字符”出现的所有内容。
还有C-M-k
,又名“杀死平衡表达式”,它将根据当前模式的“平衡表达式”定义和当前指向的字符删除完整的括号语句或双引号字符串等(即,只有当光标位于开头的“”或“(”等时它才有效)。
答案2
与 Justin 的建议类似,CM-SPACE 为您提供“mark-sexp”,它将选择平衡括号、引号等,然后您可以按 Cw 或任何其他方式将其删除。如果您想在删除之前查看要删除的内容...
答案3
是的!Emacs 中 VIM 的 ci" 命令的对应内容是......ci" :-)
http://www.emacswiki.org/emacs-de/Vimpulse
答案4
恐怕我不知道 VIM 的 ci 功能,但您看过 Emacs regexp replace 吗?我无法说出确切的语义或比较起来它有多容易使用,但我认为我会用它来满足您的需求。