请问怎么设置在括号内输入完成后直接按TAB键可以将光标跳到括号外,不然按右方向键移动光标的话感觉右手移动幅度大耽误时间,如果用左手按TAB会快很多。。不知道在emacs 中怎么设置达到这种效果??
emacs 中的 tab 按键功能太多了,你可以用 C-f
(ctrl+f) 来移动光标
1 个赞
感觉还是没有按个tab方便,在sublime text 中可以设置成在输入括号之后按tab跳出括号的。emacs 感觉也应该行啊。不过我不会🌞。 Btw,请教一下,在emacs 里面写R代码的时候sfift±(减号键)出来赋值符号<-。。可是发现下划线没法输了?怎么输下划线呢?
可以先按 C-q
再输入下划线
最好不要按照其它编辑器的习惯来用 emacs,而是习惯 emacs 的用法。习惯以后你会发现, 和你使用 emacs 的收益相比,别的编辑器的那些 feature 反而没有那么重要了。
如果是输入 (
补全 )
之后,立即 tab, 这时候还比较好判断:
(|)
^
\—————— 光标在这里,按 tab 跳出,没有歧义
当你在括号里继续输入:
(foo|)
^
\—————— 光标在这里,按 tab 有歧义:1-补全,2-跳出
如果在这种情况下选择的是tab补全, 不得不使用其它不方便的方式跳出了(我也认为tab比较方便)。
这样一来tab跳出的使用场景就少了一半。
如果正在编辑一个 snippet 展开的片段,情况变得更复杂了:
- 补全
- 跳出
- 跳到下一个 snippet field
…
tab 按起来是方便,但是恐怕没有那么智能。 不知道其它编辑器是怎么处理这些问题的。
1 个赞
你的第二种情况在Elisp里面太多了,其他编辑器的配置文件并没有这么多括号,所以并不需要考虑歧义
1 个赞
多谢分析,好详细,学习了👍
话说,C-q怎么不行啊🌞。
你怎样使用 C-q
的?注意 C-q
本身并不是输入下划线,而是告诉 emacs 下面的输入要按原样输入,而不是调用绑定的命令。
我把跳出括号 绑定在 C-'