VIM下输入一行代码,需要切换模式很多次,感觉特别累(雷)人?
问题描述
前段时间粗浅的折腾了几天VIM,最近尝试在ATOM下用vim-mode-plus插件写代码,看很多人说用VIM写代码行云流水,我承认在阅读代码时用VIM很方便,各种跳转效率确实高,但具体到写代码时有些操作上的疑惑一直困扰着我,为什么我用起来就觉得不怎么顺畅呢。
举例如下,希望输入
console.log(parseInt("422.123weroz", 16) + Number(getObject(value)));
我的操作方法:
进入插入模式(i,I,o,O等等都可以),然后输入
console.log(parseInt("
因为有自动补全,所以此时会变成console.log(parseInt("|")) // |表示光标
接着输入string参数console.log(parseInt("422.123weroz|"))
此时,需要移动光标到双引号的右边,以输入 ",16"。
问题来了。请问你们是先回到普通模式(Esc,ctrl + [, ctrl+c等等),然后按 "l" 键向右移动光标,再进入插入模式,输入 ",16" ?
16输入完成后,再回到普通模式,向右移动光标以越过 )
,再进入插入模式输入 + Number(
?
对于这种多个括号、引号嵌套的部分,需要不断的切换模式、移动光标、进入插入模式,感觉非常累人啊?要输入的东西很少,但操作却特别繁琐。
请高人指点指点你们的操作呢?
vim 用户表示
这种情况下,不用退出Insert Mode,直接输入 "
和 )
就好
补图,
对JS不熟悉,手速比较慢
郑重提示:
插入模式下使用任何方式移动光标,会造成undo历史的中断,包括<方向键>,<Home>,<End>。
大部分在插入模式下自动补全引号括号类的插件,都可以重复输入以跳过光标右侧字符,并且不会造成undo历史中断。
undo 历史的中断会影响u
,<c-r>
,.
等命令
vim 最强大的命令就是.
非插件补全造成的光标右侧符号需要跳过,我建议返回普通模式,因为这已经不是一次修改的范围了
按键回放:https://github.com/brookhong/...
录屏:https://github.com/NickeManar...
这篇关于VIM下输入一行代码,需要切换模式很多次,感觉特别累(雷)人?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!