Evil和vanila Emacs都有矩形选择的功能。然而在有些情况下,矩形选择没法覆盖所有我想选择的部分:
光标移动到最后一行末尾就没法前进了。
我想到的是在矩阵选择中自动给光标所在行添加空格, 退出矩阵选择的时候删除多余空格。
有什么其他的思路/解决方法吗?
Evil和vanila Emacs都有矩形选择的功能。然而在有些情况下,矩形选择没法覆盖所有我想选择的部分:
光标移动到最后一行末尾就没法前进了。
我想到的是在矩阵选择中自动给光标所在行添加空格, 退出矩阵选择的时候删除多余空格。
有什么其他的思路/解决方法吗?
你这种情况,再按一次 $
就可以了,完整的步骤:
C-v
矩形模式j/k
向下/上,先不管矩形的宽度,只管高度$
扩展矩形宽度到末尾赞!vim编辑果然深不可测。
装上 evil 的 emacs 才是好操作系统。
直接移动光标就可以了...已验证.
My crystal ball tells me you’re using Emacs-24.5, which indeed had this limitation. This has been fixed in Emacs-25 where rectangle-mark-mode has been improved so you can move the cursor past the “end” of a line (and where you can use C-x C-x to go to another corner of the rectangle as well).
原来Emacs已经支持了吗,evil是没法继续移动光标的。
应该是一直都支持的。不过还是 evil 的矩形操作更人性。
其他的编辑器有个 virtual space 概念,就是光标可以移动到编辑区域任意位置,即使光标下面没有任何字符(包括空白等不可见字符)
我忘了 Emacs 里叫什么名称。artist-mode 应该有用到这个特性,否则画一个图形之前,要先用空白符填出一块“画布”。
只考虑原生 Emacs。你需要先选中最长的那一行,然后在分别向上和向下展开。比如要用矩形选中以下 3 行
1
22
3
一个可行的步骤是:
C-x SPC
把普通 Region 切换成矩形C-n
选中第三行可以用multiple-cursors
package,貌似是有sublime text启发开发的。这样就不用更纠结于选个矩形了。
直接多行操作,只要行尾是有规律的,比如行尾,行尾相同数目的)
,跳过相同数目的words等。
矩形作为最最基本的操作,一个很大的优点:不过脑
multiple-cursors
的确有它的灵活性,但是也加重了大脑负担。必须很小心地收集和维护收集到的**编辑点,操作过程要求准确&连贯。