为什么都说 vim 好用,简单体验过后并没有惊艳的感觉啊,求解释~

2018-05-22 20:11:56 +08:00
 ZeroW
24048 次点击
所在节点    程序员
149 条回复
pony279
2018-05-24 16:03:19 +08:00
@qf19910623

> 曾经强迫自己去用了用 vim,最终还是滚回了 IDE,最烦的就是记一堆命令了,我的原则是能视图化的东西就不要用命令,我甚至认为要不是大多数开源项目都只支持 linux,我都想一辈子用 windows

"最烦的就是记一堆命令了"

大部分初学者都有这样的恐惧。然而事实并不是这样子的。

日常用的命令也就那几条,剩下的,偶尔用,过几天就忘了。

那怎么办?查文档啊,vim 的文档系统非常好用。有一个系统的感觉之后,查问当找答案随手的事情。实在不行,问 google 啊。

linux 的 man/info 也一样,遇到忘记的选项,查就是了。还有 cheat 之类的工具,帮助记录各种命令的常用写法,根本不需要全部记下来。常用的,自然而然就熟了,不常用的,从来也不会被落下。

GUI 也不是万能的,IDE 的 Prefereces 里面照样一堆配置,很多配置你甚至搞不清在哪个节点,于是要么问 google,要么一页一页的翻,最后才找到配置。
pony279
2018-05-24 16:20:22 +08:00
@lightening

> 我用 Sublime Text 也根本不需要鼠标啊

我知道 Sublime 有很多快捷键。但是习惯了 vim 以后会习惯不了别家的快捷键的。因为不需要各种 ctrl,alt,上下左右。text object 的概念也恨实用啊。

也许在 IDE 里面安装 VIM 插件是一种不错的选择吧。

> 如果你像学 Vim 一样学一个其他编辑器

hmm... 这样学习成本比较高,写 C/C++ 的时候用 VS ?写 Java 的时候用 IDEA ?写 Python 的时候 Pycharm。HTML / CSS ?

> 你会发现他们都很好用。

我并没有认为哪个编辑器 / IDE 不好用,更多的是个人习惯和喜好。

就像知乎上有个答案说的:“如果让我选择用 Vim 还是 IDE 来证明自己, 我当然是愿意用 Vim. 因为 Vim 才是我喜欢的范, 但是如果别人用 IDE 来证明了自己, 我也同样会拍手叫好, 因为他们已经证明了, 用什么重要么?” ( https://www.zhihu.com/search?type=content&q=vim)
lightening
2018-05-24 16:36:46 +08:00
@pony279
> hmm... 这样学习成本比较高
其实也并没有很高,我都用 Sublime :-)。而且,所有这些除 Vim 以外的编辑器 /IDE 都实现了基本的 Emacs 快捷键,其实兼容性很高。至于某语言专用 IDE 的专有 features,本来就是要单独学的嘛。
pony279
2018-05-24 17:31:21 +08:00
> 我提供一个初步的思路给关心这个问题的其他人,用 vvj 在 insert mode 下从任意位置移动光标到下一行行首:
:inoremap vvj <Esc>jI

neovim 可以区分 <c-j> 和 enter 了

所以 insert 模式下可以

imap <c-j> <c-o>j
imap <c-k> <c-o>k

不过我感觉作用不大。我习惯的跳转是在 normal 模式下 <num> + j/k,然后用 f/t + <key> 到我想要的位置。

我常用的 insert 模式跳转是 EMACS 的 c-a 和 c-e,直接到行首,行尾很方便。

一直感觉基于 word 的移动在 insert 模式下好像也有用,可是 map 了又总是忘记用它,也许是错觉吧
pony279
2018-05-24 17:31:56 +08:00
DiamondbacK
2018-05-24 20:57:02 +08:00
@pony279 #144
insert mode 下 <c-e> 和 <c-y> 这一对默认功能我还是常用的,所以我不倾向于使用组合键。
我也从来不在 insert mode 下移动光标。
如果一定要,我或许会考虑用类似 <leader> 键的模式来在 insert mode 下移动光标,除了前面临时想出的 vv,我的 <Esc> 和 <BS> 在 insert mode 都是用不着的,可以充当 <leader>。而且我的键盘比较特殊,这两个键都不用挪动手掌。

顺便试了一下,Vim 7.4 和 Vim 8 也区分 <c-j> 和 <Enter>。不过 7.4 后期基本等于 8 了,不能说明 Vim 7 都区分。<c-m> 是跟 <Enter> 一样的。
DiamondbacK
2018-05-24 20:59:52 +08:00
@pony279 #144
又发现我的 Alt 也很好按,也可以考虑用 Alt 组合键。
Pegasus
2018-07-08 09:00:10 +08:00
可以看看这个 vim 视频 https://zhuanlan.zhihu.com/vim-video
jkhere
2019-04-18 17:21:59 +08:00
现在接手了构建工程,需要经常改动一大批 shell 脚本(改动变化不大,但变化的地方多),比较适合使用 shell。如果正常代码开发还是 IDE 效率高。

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

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

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

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

© 2021 V2EX