如何在一系列行上运行emacs命令?
我想对整个文件运行排序行命令 C-xhM-xsort-linesEnter 我需要在运行“排序行”命令之前标记区域如何在一系列行上运行emacs命令?,emacs,Emacs,我想对整个文件运行排序行命令 C-xhM-xsort-linesEnter 我需要在运行“排序行”命令之前标记区域 如何跳过C-xh。我可以在vim中提供一个像%这样的参数来对行进行排序吗?我不是专家,但我不相信排序行可以接受行号作为参数。也就是说,编写一个函数来实现这一点应该不难。这是我刚刚拼凑的一个简单例子: (defun my-sort-lines (start end) (interactive "nStart: \nnEnd: ") (save-excursion (s
如何跳过C-xh。我可以在vim中提供一个像%这样的参数来对行进行排序吗?我不是专家,但我不相信排序行可以接受行号作为参数。也就是说,编写一个函数来实现这一点应该不难。这是我刚刚拼凑的一个简单例子:
(defun my-sort-lines (start end)
(interactive "nStart: \nnEnd: ")
(save-excursion
(save-restriction
(goto-line start)
(mark)
(goto-line (1+ end))
(narrow-to-region (mark) (point))
(sort-lines nil (point-min) (point-max))
(widen))))
从我所做的有限的测试来看,它似乎是有效的。考虑到我使用emacs lisp的经验很少,我确信还有一些改进需要改进。我不是专家,但我不相信排序行可以接受行号作为参数。也就是说,编写一个函数来实现这一点应该不难。这是我刚刚拼凑的一个简单例子:
(defun my-sort-lines (start end)
(interactive "nStart: \nnEnd: ")
(save-excursion
(save-restriction
(goto-line start)
(mark)
(goto-line (1+ end))
(narrow-to-region (mark) (point))
(sort-lines nil (point-min) (point-max))
(widen))))
从我所做的有限的测试来看,它似乎是有效的。考虑到我使用emacs lisp的经验很少,我确信还有一些改进需要改进。以下是最简单的解决方案-如果没有区域处于活动状态,请将缓冲区的范围传递给排序行:
下面是最简单的解决方案-如果没有区域处于活动状态,请将缓冲区的范围传递给排序行: