标题: Emacs中当前光标所在行和上下行交换

时间: 2014-03-05 12:54:09

正文:

自己的 emacs 一直是半拉子工程, 虽然也写过简单的 emacs mode , 但是只是理解函数式编程的皮毛, 有时候能稍微改改别人写的 mode 之类的.

        转载请注明出处 http://blog.hickwu.com/posts/322 by Hick

本来想自己写 sublime 扩展实现类似功能, 发现 sublime 虽然简单, 但是编辑器的 api 设计以及可控程度都不够强(sublime 交换上下行倒是有现成的 ctrl + shift + 上下方向键), 富文本表现能力十分有限, 想文本着色改变字体之类的都很麻烦. 而用 emacs 写文档, 用我现有的工具确实方便, 一直有个需求就是 sublime 的交换上下行, 搜了下找着了:

;; move line up
(defun move-line-up ()
  (interactive)
  (transpose-lines 1)
  (previous-line 2))
(global-set-key [(control shift up)] 'move-line-up)
;; move line down
(defun move-line-down ()
  (interactive)
  (next-line 1)
  (transpose-lines 1)
  (previous-line 1))
(global-set-key [(control shift down)] 'move-line-down)

查看更多文章
分享到:


分享到: