eclipse - 改变backward-word和backward-kill-word的行为

标签 eclipse emacs elisp

我对“backward-word”和“backward-kill-word”命令的工作方式有一个小问题。当我在只有空格的行(例如,缩进行的第一个字符)上点击“backward-kill-word”时,该命令将杀死所有空格以及最后一个单词上一行。

这种行为对我来说完全不直观。我更喜欢它在 Eclipse 中的工作方式,例如,它会在第一次按下“backward-kill-word”时将空白字符杀死到行首,将移动到上一行的末尾在下一次命中时,才会开始从行尾开始杀死单词。

我很确定这种行为是大多数应用程序中的默认行为(因为它似乎更直观,这可能是因为我习惯了,但我不确定),所以我想知道是否有一种将 Emacs 配置为也具有此行为的方法。不幸的是,谷歌上的一些搜索结果一无所获。

谢谢

编辑:

感谢所有人的回答(包括我所要求的 elisp 代码)。

显然,使用 forward-kill-word 和移动命令也会出现同样的问题,我希望 emacs 中只有一些可配置的标志来改变行为,但看起来我只是要使用这些 elisp 函数并为这些重新绑定(bind)默认的移动和杀死命令。

最佳答案

这个怎么样:

(defun my-backward-kill-word ()
  "Kill words backward my way."
  (interactive)
  (if (bolp)
      (backward-delete-char 1)
    (if (string-match "^\\s-+$" (buffer-substring (point-at-bol) (point)))
        (kill-region (point-at-bol) (point))
      (backward-kill-word 1))))

关于eclipse - 改变backward-word和backward-kill-word的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/453057/

相关文章:

java - 数量字符串(复数)的格式为 ="false"

emacs - 用于 emacs 脚本的 Ascii 图形界面库(类似 ncurses)?

Emacs 将操作附加到按下的任意键

python - Pymacs 助手在 30 秒后没有启动

emacs - emacs 中带星号的注释 block

emacs - 当 'text-mode-hook 似乎不起作用时,我怎样才能让 emacs 显示行号?

java - 一个maven项目的多个pom文件

java - 如何将 JAR 文件添加到 Eclipse 中的 web-inf/lib 文件夹?

java - 代码大纲的 IntelliJ 快捷方式

emacs - 如何制作 Emacs 键绑定(bind)来设置变量?