当前位置:  开发笔记 > 编程语言 > 正文

改变后向词和后向词的behvaiour

如何解决《改变后向词和后向词的behvaiour》经验,为你挑选了1个好方法。

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

这种行为对我来说完全不直观.我更喜欢它在Eclipse中的工作方式,例如,它会在第一次按下"backward-kill-word"时杀死空白字符直到行的开头,将移动到前一行的末尾在下一次打击时,只有这样才会开始杀掉行尾的单词.

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

谢谢

编辑:

谢谢大家的答案(包括我所要求的elisp代码).

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



1> scottfrazer..:

这个怎么样:

(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))))

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有