无法在Emacs中通过C-u清除行的开头

时间:2009-05-04 00:40:37

标签: emacs

我在Emacs中运行以下命令失败

C-u

如何在Emacs中清除行的开头?

6 个答案:

答案 0 :(得分:13)

你也可以通过为kill-ine(通常是C-k)使用前缀arg来实现这一点。从Emacs帮助(C-h k C-k):

  

使用零参数,在当前行上的点之前杀死文本。

所以,你可以做到

C-u 0 C-k

甚至更好

C-0 C-k

答案 1 :(得分:8)

您可以设置标记,转到开头,直到标记:

C-Spc C-a C-w

答案 2 :(得分:7)

试试这个:

M-0 C-k 

Delete from beginning of line to point

答案 3 :(得分:6)

C-u在Bash“Emacs Mode”中工作,但实际上并不在Emacs中。这就是我通常做的事情:

C-a C-k

但是,如果您想要杀死整个行,这真的很好。正如你所要求的那样,Svante的建议将从行的开头到光标的位置清除。

答案 4 :(得分:2)

我不知道,您在哪里读到 C-u ,但它与Emacs中的universal argument绑定。

如果要杀死整行,请调用绑定 C-S-backspace kill-whole-line。无论光标在哪一列,都会从头到尾杀死整行。

答案 5 :(得分:2)

我有一个与键和弦绑定的小函数:

(defun kill-start-of-line ()
  "kill from point to start of line"
  (interactive)
  (kill-line 0))

(define-key global-map "\M-#" 'kill-start-of-line)

M-#通常是Alt-Shift-3,而不是新的DotNet语言

我确定我在其他地方看到了这个,但没有保存原始参考。