各位大佬,我想实现一个函数,能够快速的选中一行,但是光标不变。效果和 expand-region.el 一样。 下面是我的函数,选中一后光标都到末尾了:
(defun da/select-line () (interactive) (push-mark (point-at-bol))
(end-of-line)
(setq mark-active t))
各位大佬,我想实现一个函数,能够快速的选中一行,但是光标不变。效果和 expand-region.el 一样。 下面是我的函数,选中一后光标都到末尾了:
(defun da/select-line () (interactive) (push-mark (point-at-bol))
(end-of-line)
(setq mark-active t))
光标必然改变,你只能选择光标在头还是在尾。
可以看一下 evil-mode 的实现。
可以换个思路,选中再操作后光标回到原来位置。
选中一行这个操作太简单了, 感觉是个伪需求, 之后要进行啥操作?
C-M-@
可以选择一块, 光标不变.
只是想先选中这一行,后续要执行什么操作,等我想好了在操作。
easy-kill 就是这个效果
最简单的方式是使用iedit
(defun da/select-line ()
(interactive)
(iedit-make-occurrence-overlay (line-beginning-position) (line-end-position)))
感谢大佬,我找了好久都没找到
还有一个方案是用emacs的第二选区功能,可以用secondary-selection-from-region或者按住Alt再用鼠标选择,第二选区全局只有一个,可以用secondary-selection-to-region把第二选区转化成普通region。