既然你们说 Vim 这么好,那么 Vim 要怎么入门呢?

2015-12-26 10:53:41 +08:00
Pastsong  Pastsong

在 OS X 下是用 MacVim 好还是, Terminal 里面用 Vim 好,还是 iTerm2 里用 Homebrew 装的 Vim 好?

还有别人的 .vimrc 要怎么自己配才好用?

需要在墙上挂个 Vim 快捷键 Cheatsheet 吗?

12822 次点击
所在节点   Vim  Vim
64 条回复
tangbao
tangbao
2015-12-26 11:01:52 +08:00
老老实实用 Sublime ,别为了用一个工具而去适应和学习这个工具。多关注你用这些工具产出的东西,而不是在用什么,如何去用什么工具。
songjiaxin2008
songjiaxin2008
2015-12-26 11:01:58 +08:00
jiyinyiyong
jiyinyiyong
2015-12-26 11:14:50 +08:00
第一步, 安装 Sublime Text, 第二步, 开启 vintage
https://www.sublimetext.com/docs/2/vintage.html
第三步, 掌握 Vim 快捷键
http://coolshell.cn/articles/5426.html
第四步, 脱离 Sublime 纯粹使用 Vim(该步骤未经本人验证)

Cheatsheet 刚开始看看就好了, 用多了看 Cheatsheet 太慢
iTerm2 好, 哪个版本的 Vim 我也不清楚, 不过记得看哪个版本号更高吧
.vimrc 都是一次次使用, 发现有需要一点点加上去的, 当然有现成觉得顺手的也可以拿过来, 再自己改
onlyice
onlyice
2015-12-26 11:17:23 +08:00
建议找个 sph13 的 .vimrc 直接用就好了,遇到一些具体的使用场景再查怎么用
congeec
congeec
2015-12-26 11:21:15 +08:00
vim 好和 vim 需要入门有什么必然联系么?
nasta
nasta
2015-12-26 11:25:39 +08:00
@jiyinyiyong sublime text 的 vintage mode 与 vim 不完全兼容
chrishine
chrishine
2015-12-26 11:26:56 +08:00
vim 就和 C++ 一样,这个时候还不会就完全没必要学了。
Evovil
Evovil
2015-12-26 11:41:02 +08:00
有没有必要学是一回事,

怎么学是另一回事,


既然你们说 Vim 这么好,(好不好见仁见智的事情不瞎搀和。)
Vim 要怎么入门呢?(学 vim 到可以有个简单的入门方式)

我是这么入坑的:

----
“ 学 vim 最简单的入门方法就是看 manual 。”
有 linux/mac
直接在 termianl 里敲 vimtutor 。
通俗易懂深入浅出。

英文看不懂当然有中文版。 自行搜索 vimtutor 中文版


基本学会后就可以 help xxx 在 vim 中继续学习了。
Evovil
Evovil
2015-12-26 11:42:36 +08:00
需要在墙上挂个 Vim 快捷键 Cheatsheet 吗?

可以设置成电脑桌面 2333333
matthewz
matthewz
2015-12-26 11:43:29 +08:00
现在用什么都一样 但我个人觉得 ST 不是个长久之计 因为 ST 的作者已经基本没有在维护了 而 Vim 和 Emacs 在可见的未来不会有这个问题
qiukun
qiukun
2015-12-26 11:51:05 +08:00
vsc!
htfy96
htfy96
2015-12-26 11:52:41 +08:00
ncisoft
ncisoft
2015-12-26 12:02:09 +08:00
说说我学 vi 的过程吧:大一那会,老师每人发了一张 vi 键位说明的纸,然后自己去 vt 终端连上 Unix 练习,直到形成肌肉记忆,然后有了互联网,遇上了 vim ,一路自学过来,感谢 vim help ,感谢 yahoo google
onemoo
onemoo
2015-12-26 12:02:25 +08:00
和 8L 一样,强烈推荐 vimtutor ,这是一个很好的官方入门教程,随 vim 安装的。
其次就是在 vim 中键入 :help ,其中的 manual 从浅入深讲解了 vim 的方方面面,也很值得看。

建议在使用别人的.vimrc 前先读过 manual ,这样在需要时能让你理解别人的 vimrc 为什么是这样的。
Evovil
2015-12-26 12:11:26 +08:00
同 @onemoo 学习 vim 的时候有个很大的误区。。
就是插件。

当年我刚开始搞了一堆巨量插件。花里胡哨又漂亮,功能又多,感觉开了个高达,马上就能开地图炮毁灭世界了。。。启动要 2.5s 。。
后来随着用,越来越发现 花里胡哨的东西,漂亮的东西,颜色的东西,慢慢都没啥用。。

就跟大多数大神一样 。。 vim 基本就几个插件,(<7 ) map 也基本很少用。颜色也没有奇形怪状的. 后来在 single 模式下写代码基本上 t_Co= 16...速度越来越快。。效率越来越高。。

以上 在充分了解 vimrc 和插件用途之前不建议急着上。。。(不然就用 ide 了)
Evovil
2015-12-26 12:14:30 +08:00
随着使用越来越多,和代码能力的增进
慢慢的插件都会退化掉

所以慢慢的就不需要 nerdtree , taglist 等等等。
相反 buffer 的使用, tab 的使用,慢慢占据主导。。

这也是大多数人需要 ide (不引战) 喷 vim/emacs 的缘由。。因为他们可能会依赖鼠标 /solution/文件夹列表等辅助写代码构建。。。
bramblex
2015-12-26 13:19:57 +08:00
@Evovil

IDE 一般针对特定语言做优化,就光一个静态分析 vim 就要日 doge 了。

举个栗子。在做一些语义层面上的分析,最简单的,我要重命名一个函数,其他所有地方调用到这个函数的地方都要进行相应的修改,这个要怎么办?

一般方法是 sed -i 's/func_name/new_func_name/g' * ,然而这样真的对吗?不同作用域有相同的函数名怎麽办?闭包里面覆盖了这个函数怎么办?传递了这个函数的引用的怎么办?这完全就是日 doge 了好么……这种情况需要分析整个项目,构建语法树,并且模拟执行一遍才能完成整个分析。

最为一个 vim 死忠党表示, vim 仅仅还只是一个编辑器而已。不需要那么多插件,仅仅是因为那些插件没 IDE 好用,还出各种 bug ,出了 bug 我还要花时间去改那那么多年没人维护又臭又长的蛋疼代码( vimscript 语言原生没有模块这个概念,我还给 vimscript 造了一个类似 nodejs/python/ruby 那样的模块 /包系统)。如果真的需要用那些插件的话,我就直接上 IDE 了。

作为一个熟练的 vim 党, vim 完全不需要开开关关,一个 vim 完全能完成所有工作。并且,打字速度和编码速度是两码事。当只需要无无脑拍代码的时候,我觉得很可能说明这部分代码多数是无意义的重复。无意义的重复写个 DSL 自动生成代码就好了,手写是浪费时间……

一个完善的 IDE 应该是能够在不使用文本编辑器的情况下完成项目开发的。而 vim ,仅仅还只是编辑器而已……即便 vim 再好都无卵用
elgoog1970
2015-12-26 13:23:52 +08:00
常用就熟悉了,只是为了练习,白费
keithsliu
2015-12-26 13:41:35 +08:00
盲目崇拜。。
spww
2015-12-26 13:47:18 +08:00
多用,先用简单功能,哪里觉得效率不够了就去 google 看有什么快速实现的方法没,然后慢慢就熟悉了

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

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

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

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

© 2021 V2EX