在vim中,我可以使用:%sno/[abt]//g
删除" [abt]"的所有文字。从字面上看(如here所述)。
我在evil-mode
尝试了相同的命令,但它抱怨它不理解sno
命令,那么我怎样才能在evil-mode
中做同样的事情?
答案 0 :(得分:2)
据我所知,evil
没有(但是?)支持“魔术/无魔法”正则表达式选项(实际上,它只是ex
功能的一小部分,所以我不要认为)。正如@ Ehvince的回答所示,标准Emacs进行替换的方式是使用%
会起作用query-replace
或query-replace-regexp
。如果你想坚持evil
,只需用反斜杠转义方括号:
:s/\[abt\]//g
NB :Emacs中的反斜杠转义通常会让来自其他环境或编程语言的人咬人;有关详细信息,请查看the bottom of this manual node on the backslash。
答案 1 :(得分:1)
您可以使用绑定到query-replace
的emacs命令M-%
:
M-% [abt] RET <nothing> RET
然后使用y
批准每次出现或使用!
批准所有出现。
该文档位于C-h f query-replace
。
query-replace-regexp
绑定到C-M-%
。