正在尋找等效的剪切和粘貼策略,以複製vim的「剪切直至」。我敢肯定,這是googleable如果我真的知道這是什麼所謂的VIM,但繼承人什麼我正在尋找:emacs等價於ct
如果我有一個文本塊,像這樣:
foo bar (baz)
和我在該行的開頭,我想砍,直到第一個括號,在可視化模式,我會做:
ct (
我認爲有可能是一個辦法回過頭來,我想你可以通過更多特定正則表達式。但無論如何,尋找一些emacs等同於做這種文本替換。謝謝。
正在尋找等效的剪切和粘貼策略,以複製vim的「剪切直至」。我敢肯定,這是googleable如果我真的知道這是什麼所謂的VIM,但繼承人什麼我正在尋找:emacs等價於ct
如果我有一個文本塊,像這樣:
foo bar (baz)
和我在該行的開頭,我想砍,直到第一個括號,在可視化模式,我會做:
ct (
我認爲有可能是一個辦法回過頭來,我想你可以通過更多特定正則表達式。但無論如何,尋找一些emacs等同於做這種文本替換。謝謝。
這裏有三種方式:
zap-to-char
,它將光標中的文本從指定的字符刪除幷包括在內。在這種情況下,您必須執行如下操作:M-2M-zSPC將跳入幷包括第二個空格字符。就我個人而言,我一般會去#1。
這聽起來像是emacs中的zap-to-char
,默認綁定到M-z。請注意,zap-to-char
會將所有字符截至,包括您選擇的。
爲ataylor說zap-to-char
是要走的路,以下修改的ZAP對焦炭正是你想要
(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
什麼BTW不要忘記,它必須與倒退的能力一個否定前綴
在第三種情況下,您不必在開始時使用C-SPC設置標記,因爲增量搜索會自動進行。 – Tom 2012-04-06 05:20:43
@Tom是正確的,第三次你不需要設置標記。關於標記爲答案的答案有衝突。將肖恩的答案標記爲給予一些額外選擇的答案;但碰撞kindahero的答案,因爲這也正是我需要在這種情況下。 – 2012-04-20 12:45:58