我希望您能提供一个等效的复制和粘贴策略,以复制vim的'cut til'。 如果我知道vim中它被称为什么,我相信可以在谷歌上搜索到它,但这就是我要找的内容:
如果我有如下文本块:
foo bar (baz)
我在行首位置,想要在第一个括号处截断,如果是在编辑器的可视化模式下,可以执行以下操作:
ct (
我认为可能有一种方法可以回顾过去,并且我认为你可以传递更具体的正则表达式。但无论如何,我正在寻找一些类似于emacs的东西来进行这种文本替换。谢谢。
我希望您能提供一个等效的复制和粘贴策略,以复制vim的'cut til'。 如果我知道vim中它被称为什么,我相信可以在谷歌上搜索到它,但这就是我要找的内容:
如果我有如下文本块:
foo bar (baz)
我在行首位置,想要在第一个括号处截断,如果是在编辑器的可视化模式下,可以执行以下操作:
ct (
我认为可能有一种方法可以回顾过去,并且我认为你可以传递更具体的正则表达式。但无论如何,我正在寻找一些类似于emacs的东西来进行这种文本替换。谢谢。
zap-to-char
,它会删除从光标开始直到指定字符(包括该字符)的文本内容。在这种情况下,您需要执行类似于 M-2M-zSPC 的操作来删除直到第二个空格字符(包括该字符)的文本内容。(defun zap-up-to-char (arg char)
"Like standard zap-to-char, but stops just before the given character."
(interactive "p\ncZap up to char: ")
(kill-region (point)
(progn
(search-forward (char-to-string char) nil nil arg)
(forward-char (if (>= arg 0) -1 1))
(point))))
(define-key global-map [(meta ?z)] 'zap-up-to-char) ; Rebind M-z to our version
顺便提一下,不要忘记它具有使用负前缀向后移动的能力。
misc.el
中有该函数。不过它没有自动加载,所以需要(require misc)
。 - sanityinc这听起来像是Emacs中的zap-to-char
命令,默认情况下绑定到M-z快捷键。请注意,zap-to-char
会删除从开始位置到所选字符(包括所选字符)的所有字符。