Emacs - 删除第一个非空白字符

时间:2011-10-15 12:33:59

标签: emacs keyboard-shortcuts

我正在寻找从当前光标位置删除到第一个非空白字符的键绑定/函数

示例:

function f() {|

    test();

| - 光标位置

我想将所有内容删除为“t”字母

5 个答案:

答案 0 :(得分:3)

提出了许多好的选择。在Emacs 24中(当前处于预测试中),您可以指定 M - just-one-space M-SPC 来完全按照您的要求进行操作。

答案 1 :(得分:2)

在'c-mode'中有'M-x c-hungry-delete-forward',它也绑定到 C-c C-d 。因此,您可以在您正在使用的任何编程模式下创建该绑定。

(define-key <whatever>-mode-map (kbd "C-c C-d" 'c-hungry-delete-forward)

或者,您可以获取包'hungry-delete'并使用它来覆盖删除命令以删除所有空格(而不是单个空格)。

答案 2 :(得分:2)

M-z t t (根据需要替换 t )。

答案 3 :(得分:0)

为此,我使用自定义宏:

(fset 'jline
    [?\C-  ?\C-\M-n ?\C-a ?\C-w return])

(只需将这个小宏放入.emacs配置中)

当然,您可以按照自己的意愿重命名宏。


所以,以下状态:

function f() {|



    test();
}

成为:

function f() {
    |test();
}

答案 4 :(得分:0)

使用M-x delete-blank-lines(也绑定到C-x C-o)。

来自帮助文档(C-h k C-x C-o):

  • 在空白行上,删除所有周围的空白行,只留下一行。
  • 在孤立的空行上,删除该行。
  • 在非空行上,删除任何紧接的空白行。