VIM下输入一行代码,需要切换模式很多次,感觉特别累(雷)人?

查看:105
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆