在 OS X 下是用 MacVim 好还是, Terminal 里面用 Vim 好,还是 iTerm2 里用 Homebrew 装的 Vim 好?
还有别人的 .vimrc
要怎么自己配才好用?
需要在墙上挂个 Vim 快捷键 Cheatsheet 吗?
1
tangbao 2015-12-26 11:01:52 +08:00 2
老老实实用 Sublime ,别为了用一个工具而去适应和学习这个工具。多关注你用这些工具产出的东西,而不是在用什么,如何去用什么工具。
|
2
songjiaxin2008 2015-12-26 11:01:58 +08:00
|
3
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 都是一次次使用, 发现有需要一点点加上去的, 当然有现成觉得顺手的也可以拿过来, 再自己改 |
4
onlyice 2015-12-26 11:17:23 +08:00 via Android
建议找个 sph13 的 .vimrc 直接用就好了,遇到一些具体的使用场景再查怎么用
|
5
congeec 2015-12-26 11:21:15 +08:00
vim 好和 vim 需要入门有什么必然联系么?
|
6
nasta 2015-12-26 11:25:39 +08:00
@jiyinyiyong sublime text 的 vintage mode 与 vim 不完全兼容
|
7
chrishine 2015-12-26 11:26:56 +08:00 1
vim 就和 C++ 一样,这个时候还不会就完全没必要学了。
|
8
Evovil 2015-12-26 11:41:02 +08:00 4
有没有必要学是一回事,
怎么学是另一回事, 既然你们说 Vim 这么好,(好不好见仁见智的事情不瞎搀和。) Vim 要怎么入门呢?(学 vim 到可以有个简单的入门方式) 我是这么入坑的: ---- “ 学 vim 最简单的入门方法就是看 manual 。” 有 linux/mac 直接在 termianl 里敲 vimtutor 。 通俗易懂深入浅出。 英文看不懂当然有中文版。 自行搜索 vimtutor 中文版 基本学会后就可以 help xxx 在 vim 中继续学习了。 |
9
Evovil 2015-12-26 11:42:36 +08:00
需要在墙上挂个 Vim 快捷键 Cheatsheet 吗?
可以设置成电脑桌面 2333333 |
10
matthewz 2015-12-26 11:43:29 +08:00
现在用什么都一样 但我个人觉得 ST 不是个长久之计 因为 ST 的作者已经基本没有在维护了 而 Vim 和 Emacs 在可见的未来不会有这个问题
|
11
qiukun 2015-12-26 11:51:05 +08:00 via Android
vsc!
|
12
htfy96 2015-12-26 11:52:41 +08:00
|
13
ncisoft 2015-12-26 12:02:09 +08:00 via Android
说说我学 vi 的过程吧:大一那会,老师每人发了一张 vi 键位说明的纸,然后自己去 vt 终端连上 Unix 练习,直到形成肌肉记忆,然后有了互联网,遇上了 vim ,一路自学过来,感谢 vim help ,感谢 yahoo google
|
14
onemoo 2015-12-26 12:02:25 +08:00
和 8L 一样,强烈推荐 vimtutor ,这是一个很好的官方入门教程,随 vim 安装的。
其次就是在 vim 中键入 :help ,其中的 manual 从浅入深讲解了 vim 的方方面面,也很值得看。 建议在使用别人的.vimrc 前先读过 manual ,这样在需要时能让你理解别人的 vimrc 为什么是这样的。 |
15
Evovil 2015-12-26 12:11:26 +08:00
同 @onemoo 学习 vim 的时候有个很大的误区。。
就是插件。 当年我刚开始搞了一堆巨量插件。花里胡哨又漂亮,功能又多,感觉开了个高达,马上就能开地图炮毁灭世界了。。。启动要 2.5s 。。 后来随着用,越来越发现 花里胡哨的东西,漂亮的东西,颜色的东西,慢慢都没啥用。。 就跟大多数大神一样 。。 vim 基本就几个插件,(<7 ) map 也基本很少用。颜色也没有奇形怪状的. 后来在 single 模式下写代码基本上 t_Co= 16...速度越来越快。。效率越来越高。。 以上 在充分了解 vimrc 和插件用途之前不建议急着上。。。(不然就用 ide 了) |
16
Evovil 2015-12-26 12:14:30 +08:00 1
随着使用越来越多,和代码能力的增进
慢慢的插件都会退化掉 所以慢慢的就不需要 nerdtree , taglist 等等等。 相反 buffer 的使用, tab 的使用,慢慢占据主导。。 这也是大多数人需要 ide (不引战) 喷 vim/emacs 的缘由。。因为他们可能会依赖鼠标 /solution/文件夹列表等辅助写代码构建。。。 |
17
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 再好都无卵用 |
18
elgoog1970 2015-12-26 13:23:52 +08:00
常用就熟悉了,只是为了练习,白费
|
19
keithsliu 2015-12-26 13:41:35 +08:00
盲目崇拜。。
|
20
spww 2015-12-26 13:47:18 +08:00
多用,先用简单功能,哪里觉得效率不够了就去 google 看有什么快速实现的方法没,然后慢慢就熟悉了
|
21
Evovil 2015-12-26 13:51:42 +08:00
@bramblex 确实。。语言在发展。。单纯的编辑器已经无法胜任工作了。。高级 ide 在 code refactor 上和项目控制上(配合版本控制)有着无可比拟的优势。。
而且越发成熟的设计方法,可替代的重复模块构建,甚至是后续的配合组建(包括 ORM 框架,可视化生成,测试驱动, ut 等也越来越具有优势。。) 不过, 一些基础项目, 特别是 linux 项目(内核,驱动),对 vim 的依赖还是很大, 因为从调试到设计到版本控制( git )到文档撰写( Tex ) 都很难脱离 vim 。 所以反过来说, linux 的产品些列(包括运维) 是基于 terminal 的一套解决方案,而 vim 是在 terminal 的解决方案中的核心。难以替代。。。所以我在 linux 写 py 项目依旧是 vim/ipdb 。。。即使是我连标准库都记不清楚。。 所以不绕远,从题主问题一分为二来说,还是要看需求。。。 就学习 vim 来说。 我觉得还是有必要的。。毕竟脱离鼠标的 coding 方式更容易和思维衔接,更容易追求极致的效率 |
22
gimp 2015-12-26 14:06:29 +08:00
使用 VIM 后会中毒的,换成一个没有 vim 模式的编辑器时,疯狂的想按 hjkl 和 Esc ,发现不管用,简直是难以忍受的事情...使用后会爱上它的。
|
23
gorilla 2015-12-26 14:10:52 +08:00
个人感觉啊,用什么工具完全看需求,需要写什么东西?
Mac 下写 sql 脚本、写 python ,个人建议不一定非要限定 vim , sublime 也挺好用,当然我会开启 vim 模式,因为这样更方便 如果你在服务器上做调试,那 vim 肯定是首选 vim 的学习路线也不是很陡峭,尝试着去做一些常用操作,慢慢熟练就可以了 纯属个人建议,题主完全看自己的操作习惯和需求 |
24
zhicheng 2015-12-26 14:11:08 +08:00
强迫自己用 Vim ,两天就会了,对,就是这么简单,虽然我不用。
|
25
haogefeifei 2015-12-26 14:11:43 +08:00
慢慢来吧,系统学习后我表示不再惧怕在 Linux 终端里面改文件了。。
|
26
hackpro 2015-12-26 14:33:00 +08:00
1. 和 Emacs 一样,新手不要自己折腾,用别人的配置
2. 多敲,变成肌肉记忆 |
27
theJian 2015-12-26 14:40:47 +08:00
學了也是忘, 直接用就是了, 邊用邊查不知不覺就記住了.
|
29
zhicheng 2015-12-26 14:56:45 +08:00 1
@Pastsong 知道几个基的,方向 hjkl ,进入插入模式 i ,回到正常模式 Esc ,保存 :w ,退出 :q ,保存并退出 :wq 知道这几个,你就能开始写代码了。剩下的,一边用一边熟悉,比如 :行号, g ,gg, G 等命令,用一用,时间久了,你发现学这个根本不是个事儿。
|
30
billlee 2015-12-26 15:06:30 +08:00
不要直接拿别人的配置,自己一点一点做加法,需要什么配什么,灵活可配置才是 vim 的优势嘛。
|
31
billlee 2015-12-26 15:09:28 +08:00
@Evovil 就版本控制来说,还没有见到有 IDE 能比 git CLI 好用的, interactive add 和 interactive rebase 这两个功能似乎没有 IDE 能提供。
|
32
rungo 2015-12-26 15:15:24 +08:00
说 vim 好的是叶公好龙,这是上一代人的东西,现在有那么多好用学习成本低的编辑器可用,何必和科技进步过不去呢。
|
33
wudanyang 2015-12-26 15:19:41 +08:00
先使用 gvim ,练练手
|
34
pagict 2015-12-26 15:21:42 +08:00
先别看花里胡哨的配置什么的 先熟悉键位吧
尽量用 vim ,找个键位图随时查看,过不了多久就肌肉记忆了 然后再花心思慢慢配置 |
35
n6DD1A640 2015-12-26 15:28:20 +08:00
既然你这么问那就直接回答问题好了,楼上那些说没必要之类的直接反对+没有帮助
1. 有些插件比如 YouCompleteMe 只支持 MacVim ,如果你要用到就装 MacVim 吧。后面两者本质上一样的,不过 HomeBrew 的版本比自带的高。个人还是推荐 MacVim 2. 先找几个热门的 vimrc 配置伸手过来用,不顺手的地方再改 3. 不需要。用得多了自然会熟练。或者自己改快捷键配置。 |
36
whatever00 2015-12-26 15:29:17 +08:00
一直也想学, 但是没那个精力, 还是 IDE 来的快...
这里有篇入门文章:http://wyw.dcweb.cn/vim/VimArticle.pdf |
37
HentaiMew 2015-12-26 15:30:27 +08:00
vim ,会用它,也会记一些常用的快捷键。但是从来不用它写实际项目。
几乎任何编辑器重构代码都是噩梦,除非写几个小脚本,写简单的小脚本任何编辑器都行,只需要语法高亮即可。 用 vim 是为了操作 linux... 操作 linux 一定得接触一点 vim... 就这样 而已。。。 |
38
PublicID 2015-12-26 15:47:54 +08:00
firefox 浏览器 有一个插件 Pentadactyl ,能够差不离的模拟 vim 的操作。
你要上网的吧? 可以试试 |
39
yqf3139 2015-12-26 15:51:52 +08:00
可从 chrome 的 vim 键绑定扩展开始,永久了就越来越想在编辑器上统一体验。
|
40
zhuangzhuang1988 2015-12-26 16:02:24 +08:00
千万别作死...
|
41
zzn 2015-12-26 16:03:04 +08:00
vimtutor
然后尽可能地使用 |
42
KentY 2015-12-26 20:31:25 +08:00 1
不要为了去学一个东西而学, 只有你需要再学.
我第一次接触 vim 是 2000 年, 当时心里把这种"反人类"的编辑器骂的不行, 但是必须在 server 弄些东西, 每次尽量用 winscp 编辑.:) 2002 年开始只有 linux 系统, 2003 年左右开始接受 vim 并开始用. 到今天, 在我个人心里, 我的编辑器选择只有 vim.用的也很顺手了, 使用中一般不会去想, 去查. 也写过一些插件 说一下我个人体会的"学习"路径: 1. 每天用它, 但用在不重要, 没有时间压力的文本编辑任务上 2. 每天用它, 慢慢重要的编辑任务也有它的身影, 但关键的编辑还是用你以前的 notepad 什么的 3. 所有编辑都用它, 没它觉得很不方便 4. 遇到重复 3 次以上的操作, 就查查 google,帮助等,看有没有简单的方法, stackoverflow, vimgolf 等都是很好的地方 5. 自己某需求频繁,但没有更快的方法, 自己写插件 6. 继续用, 继续学 我个人从 1 完全到 3 这个转变大概花费了 2 到 3 年, 从第 3 步以后, 到现在已经经历了 10 年, 还是在第 6 步. |
43
Evovil 2015-12-26 20:40:29 +08:00 via iPhone
@rungo c 语言这么落后的东西了 又落后 又原始 还有这么多陷阱 这么多指针 写他干嘛 说 c 语言好的都是叶公好龙 233333 什么大神都在用 c 语言? 你们都是个人崇拜 2333
等出了意念编程再来喷 vim 吧 |
44
Evovil 2015-12-26 20:43:20 +08:00 via iPhone
@billlee 同意 git 在 cli 方面 完爆所有 ide “落后的” cli 反到是最先进的最效率的
|
46
SonicY 2015-12-26 21:07:58 +08:00
怎么天天有这么些关于 vim 的问题。
使用 Vi 的步骤: 1.买一条鱼,大于 5 英寸就行; 2.放到冰箱里,冷冻一晚上; 3.第二天拿出这条鱼,启动 Vi ; 4.拿这条鱼使劲砸你的头,砸到头破血流,直到决定使用另一款编辑器为止。 |
47
join 2015-12-26 21:08:57 +08:00
|
49
dsdshcym 2015-12-26 22:06:57 +08:00
@rungo vim 的开发又不是一直停滞的,从 1988 年来进步了 27 年,如果 Vim 科技不够先进,是如何活到现在的?
|
50
wayslog 2015-12-26 22:13:33 +08:00
sudo apt-get remove vim && sudo apt-get install emacs
|
51
jsyangwenjie 2015-12-26 22:50:28 +08:00
sudo apt-get remove vim && sudo apt-get install emacs
|
52
Tiande 2015-12-26 22:57:02 +08:00
1.新手挂个键位也行;
2.建议 ctrl 映射到 大小写锁定键; 3.brew install vim 的版本基本最新最稳定, Mac 自带好像有点阉割的感觉。 4.VIM 简明教程-中文版: http://pan.baidu.com/s/1jG3rFPs 除了基本的键位,找一个好的配置,就能用好多年。 譬如这个 vim 配置: https://github.com/Tiande/vimrc 基本不用安装任何依赖, git clone 下来就能用(除了 ctags ),里面还有我的中文教程😂。 |
53
cosven 2015-12-27 00:24:55 +08:00
就算不用 vim , emacs ,也应该先考虑 atom ,再考虑 sublime 。
个人感觉 atom 将来发展下去,也会变成一个操作系统。 |
55
ThomasZ 2015-12-27 00:36:15 +08:00 via iPhone
就一句话,适合你的才是最好的, vim , emacs , atom , vscode , sublime ,还有各种 IDE 都用过,而我需要的是一个启动速度快,轻巧好携带,又可以兼容大量语言的编辑器,所以我选择了 vim ( gvim , macvim ),用了几年下来,配置一直根据需求和心得修改,所以 vim 对我来说就是最好的,也是现在用着最顺手的
|
56
mikale 2015-12-27 02:12:17 +08:00
知道 命令模式和编辑模式,并且知道其切换方法.
然后知道命令模式的光标的上下左右移动. 按钮掌握大概就 6,7 个左右. 少年,已经入门了.其他慢慢再学. |
57
mikale 2015-12-27 02:27:08 +08:00
vim 确实有一些神一般的编辑体验,但是,自从我用了 mac 之后,觉得 ctrl 不好按了(少了一个),也就算了.
现在的编辑器普遍不算太差,再神的编辑体验也是可以不用的.因为加快开发效率上,有更重要的问题值得思考和学习,比如代码复用和代码生成技术之类.这技术上提升,比码字效率的提升快多了. |
58
raawaa 2015-12-27 03:35:57 +08:00
首先,把 Esc 映射成 jj 。
哈哈我开玩笑的。 |
59
cjyang1128 2015-12-27 14:05:54 +08:00
ide 加 vim 模式加 hhkb
|
60
shawnelee88 2015-12-27 17:39:06 +08:00
@onlyice 是 spf13
|
61
enlau0912 2015-12-28 09:15:29 +08:00
直接學 emacs 吧。
|
63
hbkdsm 2016-02-11 00:15:44 +08:00
vimtutor
:help <commands> |
64
edk24 2018-10-07 04:53:20 +08:00
以前出来没用过 vim, 后来学 linux 搭建环境才迫不得已.
现在 vscode+vim 插件. 挺好用的, 又能装逼 讲回来, vim 是肯定要学点的. 至少保障可以在 linux 上编辑配置 |