babywhisper
V2EX  ›  Vim

从零学习 vim 一个多月, 感觉最有用的三个教程

  babywhisper · Feb 25, 2018 · 21162 views
This topic created in 3178 days ago, the information mentioned may be changed or developed.

学 vim 的过程中走了很多弯路, 分享一下对自己帮助最大的三个教程:


1. vimtutor

最好的入门教程: 直接命令行输入vimtutor.
(要是早点知道就好了...)

2. Pratical Vim:

涵盖了大部分的常用技巧, 而且每个 tip 都有实际的栗子.
(网上有盗版 PDF, 但 JD 上好像也有卖实体书.)


3. Learn Vimscript the Hard Way

感觉挺不错的, 对各种概念原理解释的很全面, 关键是每章有课后题, 自己动手才能真正理解.
很渣渣可惜只看了三分之一, 终于能看懂了 vimrc 了.
剩下如果坚持看完的话应该就可以自己编写插件了.

链接: http://learnvimscriptthehardway.stevelosh.com/
中文版: http://learnvimscriptthehardway.onefloweroneworld.com/


p.s. 一开始尝试使用 vim 也是挺痛苦的, 毕竟鼠标真的很方便, 但禁用了方向键, 强迫自己用 vim 开发了三天后(Pycharm+ideavim), 慢慢就会发现用 vim 写代码真的是一种享受.


我的学习笔记: 链接

77 replies  •  2023-08-02 18:48:41 +08:00
boywhp
boywhp
Feb 25, 2018
1
反正我是必须用鼠标的, 盲打至今都没学会, 真是醉了,不过我发现用 VIM 看 C 代码确实舒服,写代码还是 IDE 吧。
Immortal
Immortal
Feb 25, 2018❤️3
2
我也一直都用 idea 系列的编辑器+vim 插件
在试过 sublime vscode 这些编辑器后 发现还是 ideavim 的插件更贴近原生
以前有点热衷于用纯 vim,折腾各种插件,后来慢慢觉得 idea+vim 插件才是最完美的选择,有了 vim 的脸滚键盘和 idea 的强大功能,perfect !
顺便一说,如果楼主也喜欢 vim,chrome 浏览器下也有一个很不错的 vim 插件,[cvim]( https://chrome.google.com/webstore/detail/ihlenndgcmojhcghmfjfneahoeklbjjh) 需要 fq
ZZZZone
ZZZZone
Feb 25, 2018 via Android
3
我大一刚踏进校门的时候, 学长就教我们用 vim, 慢慢摸索, 没有去刻意学习。 后来习惯性的不用鼠标和方向键。
现在干什么都离不开 vim 了, 写代码用 vim, 写博客用带 vim 模式的 markdown 软件, 浏览器也用的楼上说的插件😁。
changrui0608
changrui0608
Feb 25, 2018❤️2
4
我还记得新换的 mac,打开 vimtutorial 发现是中文,当时就惊了
carlclone
carlclone
Feb 25, 2018
5
@Immortal 跟你完全一样 idea+ideavim + cvim
qonco
qonco
Feb 25, 2018 via Android
6
一个月了到啥程度啦?
AEANWspPmj3FUhDc
AEANWspPmj3FUhDc
Feb 25, 2018
7
@ZZZZone
可以说说哪个 markdown 软件带 vi 模式的吗?
找了好久没找到,是支持 linux 的么?
OpenJerry
OpenJerry
Feb 25, 2018
8
mark
shalk
shalk
Feb 25, 2018 via iPhone
9
ChrisTsai
ChrisTsai
Feb 25, 2018
10
@ivlioioilvi vscode 的 markdown 插件配合 vim 插件,我是这么用的
AEANWspPmj3FUhDc
AEANWspPmj3FUhDc
Feb 25, 2018
11
@ChrisTsai
以前用 windows,也用的 vscode 写 markdown,体验还不错。
但是现在用 linux,已经把 CapsLock 键映射为 Esc 键,但在 vscode 中却不能识别。
ech0x
ech0x
Feb 25, 2018❤️4
12
map <Left> <Nop>
map <Right> <Nop>
map <Up> <Nop>
map <Down> <Nop>
imap <Left> <Nop>
imap <Right> <Nop>
imap <Up> <Nop>
imap <Down> <Nop>
imap <BS> <Nop>
imap <Del> <Nop>

这个绝对可以让人快速熟悉 vim
vansarw
vansarw
Feb 25, 2018
13
@boywhp 看代码还属 source in sight, 只可惜这货没有跨平台
shinytea2017
shinytea2017
Feb 25, 2018 via Android❤️1
14
@ivlioioilvi, Vnote, 不算 markdown editor, 而应算 markdown 笔记应用吧.
everettjf
everettjf
Feb 25, 2018
15
vimtutor 入门,Learn Vimscript the Hard Way 进阶。我是看的这两个,同样推荐。
Antidictator
Antidictator
Feb 25, 2018❤️3
16
和 VIM 相爱的故事要从我的笔记本上下键坏了开始..哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈 哈哈
hilow
hilow
Feb 25, 2018 via Android
17
大家能详细描述 vim 有那些不可替代的优点吗?
我还是觉得 sublime 这样的 ide 更方便。
鼠标加快捷键还是更方便些吧?
而且 ide 能随意拖拽文件夹,查看多个不同项目。
AEANWspPmj3FUhDc
AEANWspPmj3FUhDc
Feb 25, 2018
18
@ivlioioilvi
回复一下自己。
对于在 linux 上 ,将 capslock 映射为 esc 后不能识别的问题,可以参考这个 issues。
https://github.com/Microsoft/vscode/issues/23991
LeungJZ
LeungJZ
Feb 25, 2018
19
弱弱的问一句,到底 vim 有哪些不可取代的功能?还是有哪些异于其他编辑器的地方?
ecnelises
ecnelises
Feb 25, 2018 via iPhone
20
@LeungJZ
1.基于模式的编辑
2.简介灵活的命令
3.平台一致的体验
LeungJZ
LeungJZ
Feb 25, 2018
21
@ecnelises 啥叫基于模式的编辑?感觉略懵逼。
ZJsnowman
ZJsnowman
Feb 25, 2018 via Android
22
@changrui0608 中文,怎么弄出来呢?
limbo0
limbo0
Feb 26, 2018
23
@hilow vim 编辑效率高, ide 编程效率更高, vim + ide 美滋滋, 而且可以跨软件享受一致性体验
danielzhang0212
danielzhang0212
Feb 26, 2018
24
@ech0x 这招够狠,哈哈
20015jjw
20015jjw
Feb 26, 2018 via Android
25
@ech0x 就是有个 hard mode 可以打开 比你这个还 6hhh
ZZZZone
ZZZZone
Feb 26, 2018 via Android
26
@ivlioioilvi 我用的 cmd markdown 我是 mac+win 都有使用, 跨平台同步挺方便的。
还有蚂蚁笔记和 csdn 博客, 都用过。
linux 还没折腾, 试过 vim 的 markdown preview 插件。
boywhp
boywhp
Feb 26, 2018
27
@vansarw 我最开始也是用 source insight 的看 C 代码的, 后来我用了 VIM 后, source insight 就再也没用过了
不过我不用 VIM 写 C 代码, 我用渣一样的 code blocks
bintianbaihua
bintianbaihua
Feb 26, 2018
28
coolshell 的博客也不错的
ironx
ironx
Feb 26, 2018 via Android
29
不要在上面浪费时间了
changrui0608
changrui0608
Feb 26, 2018
30
@ZJsnowman mac 的话直接在终端里 vimtutor 就是中文了,其他 linux 发行版没玩过。。
zhuangzhuang1988
zhuangzhuang1988
Feb 26, 2018
31
中二的时候学过,工作后用 vs 发现原来这么舒服
YzSama
YzSama
Feb 26, 2018
32
mark Vim 一直处于会用几个指令。。
babywhisper
babywhisper
OP
Feb 26, 2018
33
@qonco 在 Pycharm 里用的 ideavim, 效率终于和原来差不多了, 但写代码会"舒服"很多. 就像书里说的:
> 写程序就像画画, 艺术家大部分的时间其实都是在构图, 思考, 真正用画笔接触画布的时间其实占比很小. 这就像 VIM, 大部分停留在 Normal Mode.

---

但是 Pycharm 不支持 vim 插件(只有 surround), 还是让我有点绝望. 而且偶尔会有一些小 bug. (但是 pycharm 的 navigation 实在是太好用了)
可能未来会尝试 vscode+vim 或者一些配好的 vim.

有个痛点就是移动到当前屏幕上某个位置(有个 AceJump 插件, 但是体验不是特别好). 还没想好怎么解决.

但用 vim 的好处就是可以一直折腾吧.. 可以玩一年?
maokabc
maokabc
Feb 26, 2018 via Android
34
当年直接在里程碑 2 这类全键盘安卓机上学会的 vim,加上 make、javac 等工具在上面写了个 app,一套下来什么都熟悉了
babywhisper
babywhisper
OP
Feb 26, 2018
35
@Immortal 哈哈, 我原来也有用这个, 但是后来发现一个加强版的: Surfingkeys( https://github.com/brookhong/Surfingkeys/blob/master/README_CN.md)

多了很多功能, 比如用 vim 编辑当前页面的文本框什么的, 虽然很少用到.. 哈哈.
tamlok
tamlok
Feb 26, 2018
36
babywhisper
babywhisper
OP
Feb 26, 2018❤️1
37
@LeungJZ 学 vim 还有个原因, 是当在 vim 改服务器上的配置, 但旁边有人看着的时候...会很尴尬.

之前有一次连粘贴也贴不上去.. (:set paste) 🌆
LeungJZ
LeungJZ
Feb 26, 2018❤️1
38
@daya0576
服务器上的 vim 我只会
i 编辑
:wq 保存退出
:q :q! 退出
/s 搜索
dd 删除一行
粘贴的没试过,mac 可以直接 cmd+v 粘贴。。。
January
January
PRO
Feb 26, 2018
39
Practical Vim
freezhan
freezhan
Feb 26, 2018
40
@changrui0608 #4 我打开是繁体中文🙈
riggzh
riggzh
Feb 26, 2018
41
vim 我只会 i :wq :q
pan020037
pan020037
Feb 26, 2018
42
@changrui0608 #4 刚尝试了下 mac 下果真是中文 get 到了
DevNet
DevNet
Feb 26, 2018
43
mac 上中文教程真 6
clearc
clearc
Feb 26, 2018
44
@DevNet
@pan020037
@changrui0608

为什么我的 mac 里的是英文,你们 vim 是哪个版本。。。
DevNet
DevNet
Feb 26, 2018
45
@clearc #44 MacOS10.13.3
$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jul 26 2017 19:10:24)
Included patches: 1-503, 505-642
Compiled by [email protected]
Normal version without GUI.
changrui0608
changrui0608
Feb 26, 2018
46
@clearc 系统自带的和 brew 安装的都是中文,看看是不是 macOS 太老(我是 2016 rmbp,再以前的系统不了解),或者系统语言不是中文
dychenyi
dychenyi
Feb 26, 2018
47
我用 vim 好多年了,个人觉得会一些基本的就够用了。
ctrl +f/b , gg, gG, i,I, a,A, dd, d$, de, u, ctrl +r, shift v 模式 ctrl v 模式 , table edit(map 成,te)然后 gt,gT 切换。
搜索 /,:%s###g 匹配替换,Y 复制,p 粘贴, 再绑定一些注释快捷键。基本这些我觉得够用了。 熟悉之后水到渠成,信手捏来。。
TankyWoo
TankyWoo
Feb 26, 2018
48
@clearc try:

LANG="zh_CN.UTF-8" vimtutor
WinMain
WinMain
Feb 26, 2018
49
@Immortal
不容易呀,在二楼就能看到一个懂事儿的。
vim 其实只是一种输入模式,而不是简单的一个软件。
同 IDEA+VIM 插件,用鼠标简直不能操作。
wzw
wzw
Feb 26, 2018
50
@WinMain #49 IDEA+VIM 是不是不需要鼠标了, 我现在也准备强迫自己用放弃鼠标, 所以记了很多 idea 的快捷键.
caixiexin
caixiexin
Feb 26, 2018 via Android
51
@ChrisTsai vscode 的 vim 插件现在都没解决退出输入模式,中文输入法自动切换的问题吧?原生 vim 这个已经有了
rashawn
rashawn
Feb 26, 2018 via iPhone
52
@LeungJZ 所有内容都是文本,上手麻烦,学习过程中能了解各种命令行工具
clearc
clearc
Feb 26, 2018
53
@DevNet
@changrui0608 好吧,我版本没问题的,
谢谢 @TankyWoo 的提示,是 lang 的问题,以前一直没用 zh_cn
jhdxr
jhdxr
Feb 26, 2018
54
快捷键用的足够熟练也不需要用鼠标。。。只是看你习惯哪个了。
BeForever
BeForever
Feb 26, 2018
55
mark
symons
symons
Feb 26, 2018
56
3. Learn Vimscript the Hard Way
symons
symons
Feb 26, 2018
57
3. Learn Vimscript the Hard Way
这个我也看过,可惜没深入下去
haha33223f
haha33223f
Feb 26, 2018
58
放弃鼠标? 那我才买的 500 块钱鼠标没用啦?
xiaogu0322
xiaogu0322
Feb 26, 2018
59
Mark
bcys
bcys
Feb 26, 2018
60
mark
Paddington
Paddington
Feb 26, 2018
61
用了两年 VIM,最近还是放弃了。

发现看代码还是 JB 系方便( C/Golang/Python )

VIM 虽然本地我配了一堆插件很爽,但是尼玛经常要上服务操作啊,这时候就悲剧了,很多方便的操作都不能搞。
satanandroid
satanandroid
Feb 26, 2018
62
看了你们说的,在 windows 的 git bash 输了 vimtutor 果然是中文版
Immortal
Immortal
Feb 26, 2018
63
@Paddington 上面说的就是 jb+jb 的 vim 插件 ideavim 两者综合使用
Guosch
Guosch
Feb 26, 2018 via Android
64
@Immortal 哈哈,cvim 重度用户,日常浏览网页基本不需要鼠标。
theohateonion
theohateonion
Feb 26, 2018
65
有了 vim 基本上换编辑器无压力呀. 我觉得 vim 的正确使用方法是把 vim 当成一种编辑模式而不是一个编辑器. 毕竟 Jetbrain 爸爸好(逃) BTW 我是 spacemacs 党
ecnelises
ecnelises
Feb 26, 2018
66
@LeungJZ 在 Vim 的各种模式特别是普通模式当中,简单的几个按键就可以代表非常复杂的操作
WinMain
WinMain
Feb 26, 2018
67
@wzw 85%的操作不需要鼠标。
inflationaaron
inflationaaron
Feb 27, 2018 via iPhone
68
Spacemacs 欢迎你
wlwood
wlwood
Feb 27, 2018 via Android
69
@Paddington 哈哈,为啥那几个叫 jb 系?
wlwood
wlwood
Feb 27, 2018 via Android
70
@Paddington 哦哦,看明白了😂😂😂
oiss
oiss
Mar 1, 2018
71
我是推荐想用鼠标就用鼠标的,降低点门槛。
oiss
oiss
Mar 1, 2018
72
想用光标键就用光标键。
wwb721
wwb721
Mar 2, 2018❤️1
73
https://devhints.io/vim 这个 cheatsheet 总结得很好。
chemzqm
chemzqm
Mar 8, 2018❤️1
74
Learn Vimscript the Hard Way 除非你要写 vimscript,一般用户没必要看太深入
个人比较推荐 https://github.com/mhinz/vim-galore
rudyyuan
rudyyuan
Sep 18, 2019 via Android
75
推荐下俺的博客 https://vimjc.com
bnpysse
bnpysse
Jun 26, 2020
76
还是觉得在实践中学习和应用 VIM,上手最快,如果手里没代码来写的话,可能入门就会慢一些。

不过,一旦掌握了这个利器,真得就不想再换其它的编辑器,尤其是改代码的过程中,绝对是享受,大家也知道,改代码的时间会远远大于写代码的时间的。。。。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3941 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 161ms · UTC 01:46 · PVG 09:46 · LAX 17:46 · JFK 20:46
♥ Do have faith in what you're doing.