例如,我的光标位于" x"在"光标"字。然后,我想删除(杀死)当前的单词。 杀意是将当前的单词复制到kill-ring。 甚至复制当前的单词,~_〜
答案 0 :(得分:9)
Emacs删除单词one的方法是按 M-backspace ,然后按 M-d 。这会杀死这个词,并将其保存为杀死戒指(作为一个单位)。
如果光标位于单词的开头或结尾,则只有两个中的一个就足够了。 Emacs用户通常会使用forward-word
( Mf )和backward-word
( Mb )等命令在单词之间移动,因此他们将在单词边界开始,因此很少需要从内部杀死单词。
答案 1 :(得分:4)
你可以通过 M-b 移动到单词的开头(如果没有站在那里),然后用 M-d 删除它。然后,您可以按 C-y 将其放回原处。如果要自动化它,可以创建一个简短的elisp函数并将其分配给一个键:
(global-set-key [24 C-backspace] ; C-x C-backspace
(lambda () (interactive)
(save-excursion
(backward-word)
(kill-word 1)
(yank))))
答案 2 :(得分:3)
你可以使用它作为一个框架来杀死各种各样的东西:
(defun my-kill-thing-at-point (thing)
"Kill the `thing-at-point' for the specified kind of THING."
(let ((bounds (bounds-of-thing-at-point thing)))
(if bounds
(kill-region (car bounds) (cdr bounds))
(error "No %s at point" thing))))
(defun my-kill-word-at-point ()
"Kill the word at point."
(interactive)
(my-kill-thing-at-point 'word))
(global-set-key (kbd "s-k w") 'my-kill-word-at-point)