【发布时间】:2010-03-11 09:31:02
【问题描述】:
在 emacs 中向上或向下移动选定区域或行(如果没有选择)的最简单方法是什么?我正在寻找与 eclipse 中相同的功能(限制为 M-up,M-down)。
【问题讨论】:
-
我很确定这个习惯用法就是杀死你想要移动的东西,使用通常的导航功能(包括 isearch 等)移动你想要代码所在的点,然后然后猛拉。记住,有一堆杀戮,所以你甚至不必立即找到位置;您可以收集其他位以便稍后拉取。就个人而言,作为一个重度 Emacs 用户,我无法想象在任何情况下我宁愿手动向上或向下移动一行。它只是没有用。
-
@jrockway:感谢您的评论。我认为每个人都有自己的做事方式。我经常使用 Eclipse,而且我非常习惯于移动线条/区域。让 emacs 非常可扩展的一大好处是可以轻松添加此功能。
-
同意。我经常想按照您的描述上下移动线条,无论我是否在支持它的编辑器中。或者,就此而言,无论我是否正在编写代码。 Word 使用 Alt+Shift+Up 和 Down 支持这一点(按段落),我会尽可能在我的编辑器中映射它。
-
@Drew 和 jrockway :我认为满足于更少并不是 emacs 的方式。当你想移动它们时,移动线条比 kill/yankk 更快。当然 org-mode 也实现了它是有原因的:确实有很多情况你想移动一行,将错误放置的语句移入/移出块范围是一个,改变语句顺序,改变文档顺序(参见 org-模式),..很多人在eclipse中使用它。不使用的东西,你经常不会错过,但是移动线的用处是很多程序员的事实
-
这在编辑 git-rebase 文件时很有用,其中包含您可能想要重新排序的提交列表。
标签: emacs