如何更好的学习 vim?

2015-12-02 09:12:36 +08:00
 yx30
用惯了 IDE ,有了很多不良的码字习惯,比如习惯性用鼠标点击,不自觉的用上下左右键等等,初识 vim ,感觉 vim 的学习曲线还是比较陡峭,如何才能更好的学习 vim.求各位分享一下自己学习 vim 的经验
10933 次点击
所在节点    Vim
112 条回复
harry890829
2015-12-02 09:51:57 +08:00
@Andiry 我在刚解除 vim 的时候,也问过这样的问题,明明有上下左右,为什么非要用 hjkl 呢,当时一个大牛就跟我说,因为懒,就这么简单,我在写代码的时候,不需要让我的手离开主键盘区,完全就可以完成光标移动,所以你会看到其实很多工具的插件都有 vim 化,都会启用 hjkl 移动,为了就是让手能够停留在主键盘区
focux
2015-12-02 09:54:45 +08:00
focux
2015-12-02 09:55:11 +08:00
欢迎 star
Banio
2015-12-02 09:59:01 +08:00
装个某大神制定好的 vim 然后 经常用就好了。。。。我是从 vim 叛逃到 sublime 了。。。
myth
2015-12-02 09:59:17 +08:00
shibo501c
2015-12-02 10:02:59 +08:00
Tink
2015-12-02 10:03:31 +08:00
just use it
expkzb
2015-12-02 10:04:03 +08:00
IDE 加 Vim mode 才是正解
lxrmido
2015-12-02 10:04:18 +08:00
鼠标点击、上下左右是很理所当然的便捷操作,不是不良习惯。
当你要点得位置距离你十万八千里要按十几下键盘的时候,还是移一下鼠标比较快(尤其是触控板就在拇指位置的时候); HJKL 只是 ADM-3A 的方向键,对大多数键盘来说并不比上下左右人性化,除非你真懒得把手右移几厘米。
young
2015-12-02 10:04:50 +08:00
onice
2015-12-02 10:14:10 +08:00
简明 vim 练级攻略: http://coolshell.cn/articles/5426.html
xcodebuild
2015-12-02 10:15:50 +08:00
@lxrmido 我倒是不反对方向键挺自然的,但是离得再远 ace-jump (我是 emacs 党)也按不了十几下键盘。。我相信 vim 也一样
zeuss
2015-12-02 10:21:37 +08:00
用 vim 写个前端项目~
dai269619118
2015-12-02 10:23:01 +08:00
hjklai 先看下这 6 个键 直接用 不需要刻意的学习
shearer
2015-12-02 10:23:53 +08:00
这又不是上面技术,是习惯吧了,你既然习惯了那样就应该继续那样高效地完成你工作的本身。
yy77
2015-12-02 10:27:28 +08:00
那就说明 VIM 不适合你,还是去学 emacs 吧。 ;-)
YuJianrong
2015-12-02 10:31:10 +08:00
我用 vim 十多年还在继续用上下左右,这有什么啊……

再说了,编程的速度和输入的速度无关,纠结这个干吗呢……

最后我觉得改用 sublime text 的还是用 sublime text 吧……
iniwap
2015-12-02 10:32:25 +08:00
现在 sb,atom 那么 6 ,甚至 vscode 真不知道那些非要 vim emacs 的人是为了要凸显什么?
dogfeet
2015-12-02 10:36:03 +08:00
每个人的习惯不同,其实最终个人使用频度比较高的都是部分功能。像我使用最多的一般也就是移动,编辑,搜索,窗口分割了。

移动除了 hjkl 等还有很多细分的比如 w,e,b,c-e,c-y,c-d,c-u,gg,G

编辑常用的多是, r,x,d,cw,dw,dd,dy,p,之类的。

搜索,窗口分割都是固定的几个。

其实每个人常用的都是频度比较高的一部分功能。找到你最习惯用的,多用就行了。其他的等要用时再查手册也不迟。像 s, %s, 宏之类的。

配置一般不要去改原生快捷键了,插件也不用装太多。 vim 说来说去,插件一堆,都说自己装了 xx 插件很好用,其实很多插件都或多或少有些细节问题,有时又是兼容问题。经常发生装了 1 个插件,发现有个地方很不顺手,于是再加个类似的插件互补,然后版本更新后,发现又出现兼容性问题。你用起来不爽,慢慢的用的频度也就不那么高了。熟悉原生配置,方便你切换编辑器或 IDE 时更好的过度(一般流行的 IDE 都有插件实现很纯正的 Vim 模式)

总之就是多用,很多很舒服的功能,用上瘾形成惯性后,自然就记住了。比如 C++ 系语言语句要以分号结尾,但有时光标又在嵌套层次很深的括号或参数表达式中,这时候 A 跳到行尾就很方便了。而有些不需要分号的语言则又可以在这些层次很深的部分 直接通过 o, O 开启新行。(有很多 IDE 都有各自类似的功能,但他们的快捷键互不相同,切换使用时还有有些成本的, Vim 系快捷键则比较通用)

个人比较习惯 () 一起连输,这时光标在括号外面,要快速进入括号内只需 esc,i (两手可以几乎同时按) 习惯了其实与按方向键差不多的感觉。{} 也是 esc,i,回车,O 。这个操作比用方向键顺手不少。

其实最好用的还是窗口分割系的快捷键,习惯了分屏,窗口间移动,复制黏贴,看写代码太舒服了。最主要的是,还能在其他 IDE 中享用同样的快捷键,像 IDEA 就能非常方便的用 vim (插件) 快捷键分屏,效率高的爆。

其实最强大的功能还是 IDE + Vim 插件, IDE 往往都有工程的概念(这比 Vim 中的一些项目管理插件要来的靠谱简便的多),可视化的配置,对语义更懂,对重构更友好。看大型项目时,更智能精准的跳转,锁定,搜索,往往要比你用 Vim + 插件的组合更好的让你理清代码脉络。
iac
2015-12-02 10:38:30 +08:00
把常用的记住就可以了,其实看起来那么多,常用的也就那么几个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/240464

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX