最近想抽空(好吧其实是越忙越想开小差……)写一篇不太一样的 Vim 入门文章,主要面向 Windows 系统下的非程序员,大多数时候能用 gVim 写中文文档,顶多日常处理些脚本文件。
之前觉得反正已经有 Sublime Text/Notepad++/Everedit 等比较现代的文本编辑器,需求应该不多。
但又看到有人说希望能写出来,所以还是试试看,自己也顺便多学习。
想调查一下,是希望简明扼要,还是希望能在不容易理解的细节处多谈谈,以便加深理解呢?
如果您已经熟练掌握 Vim ,入门后觉得当时使用的入门教程有什么不足之处吗?
如果还没有入门 Vim ,特别是尝试学习过多次而无功而返,觉得入门的难点在什么地方,希望有什么样的教程。
1
SpicyCat 2016-01-11 17:53:26 +08:00
非程序员为啥要用 vim
|
2
theblackswan 2016-01-11 18:03:55 +08:00
0.结合实际应用场景的应用。
一直说 vim 很强大,但是往往不知道强大在哪里。希望在教程中能看到生活中的痛点,然后用 vim 轻而易举地解决了。无功而返的原因也在于此,想象不到应用的场景。 1.希望能在不容易理解的细节处多谈谈,以便加深理解。 |
3
cxbig 2016-01-11 18:04:12 +08:00
不是程序员干嘛要用 vim 这么折腾的东西
|
4
plqws 2016-01-11 18:04:48 +08:00
一直没有机会静下心来去学 vim ,很希望有一篇通俗易懂,不费脑的 vim 教程
|
5
Changxu 2016-01-11 18:09:49 +08:00
非程序员干吗要用 Vim ,普通打打字的话 Word 不就挺好
|
6
Changxu 2016-01-11 18:10:52 +08:00
我觉得官方自带的那个 Vim Tutor 已经很好了,再配上 Vim Adventure 这个游戏,楼主真的不用费力再去写一份教程了。
倒是、楼主写份 Emacs 教程吧,感觉好的 Emacs 教程不多 |
7
chemzqm 2016-01-11 18:20:03 +08:00
印象中几个曾经放弃 Vim 的人,都是过于依赖插件,不能掌握大部分常用 Vim 操作。
我觉得不是教程问题, vim 帮助文档几经足够了,这玩意要用好需要熟练十指操作键盘,需要不断纠正以往的错误习惯,通过练习熟悉各种快捷键。 只要你目标不是去写 vim 插件, vim 使用根本没什么难理解的地方,要点还是在练,不常练习学它只是浪费时间。 经常输入汉字的话,用 vim 也挺蛋疼的。 |
8
SCaffrey 2016-01-11 18:24:13 +08:00 via iPad
其实 vimtutor 已经很赞了?
感觉门槛高一些正好造就了高质量的社区? 感觉一个好的教程就应该是那种给你'领进门'的体验吧 |
9
tracyone 2016-01-11 18:27:37 +08:00 via Android
楼主还是写高阶的吧,我比较感兴趣,比如说和 learn vimscript the hardway
|
10
4everLoveU 2016-01-11 18:27:48 +08:00
不愿意花时间的不费脑的,我劝还是算了吧
生活上懒就算了,学习这种也能懒??? |
11
Tiande 2016-01-11 18:35:04 +08:00
man vim 的内容其实挺好
|
12
jsyangwenjie 2016-01-11 18:35:39 +08:00
apt-get remove vim & apt-get install emacs
|
13
plqws 2016-01-11 18:37:42 +08:00
楼上一堆人很搞笑啊,楼主想要写一篇教程来求建设性建议,你们倒是使劲泼冷水?有本事自己做一些实质的事情出来,而不是在这里当莫名其妙的键盘侠。
|
14
tonghuashuai 2016-01-11 18:40:17 +08:00
这个定位有点尴尬啊, windows 下的非程序员为啥要用 vim 啊
|
15
htfy96 2016-01-11 19:03:28 +08:00
建议把各个命令系统化归类:
跳转命令那么多,都适用于哪些场合? 短距离(行内): w e b ge f/F t/T % ^ $ 等 中距离(一个屏幕内):(EasyMotion 的<leader><leader>系列命令) (vim-sneak 的 s 系列命令) [{ ]} (这方面 vim 有一些不足,需要插件补充) 长距离:/ # xxxG mark `` 等 |
16
ikey 2016-01-11 19:09:46 +08:00
楼主你写吧,我天天用 vim 。
|
17
kingddc314 2016-01-11 19:30:27 +08:00 via Android
支持,我就没写教程的耐心。。
|
18
chemzqm 2016-01-11 19:34:34 +08:00
http://www.typing-lessons.org/
每日勤加练习, vim 神功指日可待 tip :打开 chrome 控制台可挡广告 @htfy96 用插件确实能提高效率,但是你让新手上来就搞插件真的好吗?尤其还是替换了默认 s 的 vim-sneak 新手用插件我只建议装 https://github.com/tpope/vim-sensible ,别的根据自己需要来 |
19
htfy96 2016-01-11 19:58:06 +08:00
@chemzqm 对我来说这些那两个插件之一基本是必须要装的……
有时候 vim 社区有一种原教旨主义反插件的风气(特别是 reddit/r/vim),这个我觉得不太好。我的 vim 插件也是经历了 0 -> 80 (用 Vundle 重新来)-> 100 -> 50 再到自己给插件写代码提供想要的功能这样一个过程。 vim 最早设计时候的目的和现在的需求已经有了很大的不同。过去我看见别人 vim 用鼠标会觉得对方水平肯定不怎么样,现在想想,也许他需要的只是一个打开快、能给多种语言高亮、提供基本补全(加上插件后)的 IDE 。在这种情况下,文本编辑器的功能就被弱化了,尽管这些按键学会了能提升一定的效率,但对于他们来说是次要的。(为什么不用 Emacs ?因为 Elisp 不太合口味,而 vimscript 更容易写……) |
20
zqhong 2016-01-11 20:03:40 +08:00
刷几遍 vimtutor (在 Linux 终端下直接输入),然后多用,就能入门了。
|
21
htfy96 2016-01-11 20:05:43 +08:00
@chemzqm 现在 Neovim 也在核心程序内集成了 Terminal 、 Job Control 等功能。在写插件的时候,我觉得有些功能就应该被集成到核心去,比如说一堆语法文件, dispatch 支持,更好的%(matchit)等,这些东西非侵入,就应该作为标准功能提供。现在的 Vim 默认装完 syntax on 都没有,个人觉得太过保守了,所以切换到 neovim 去了。另外,发行版预装的大多是 vi , vim 的体积应该不是很成问题。
|
22
zqhong 2016-01-11 20:05:56 +08:00
|
23
Alexhex 2016-01-11 20:27:43 +08:00
好吧。我不是程序员。讲一下一个新手的弯路历程……
我现在想自学 Linux ,也在学习 Vim 。发现 Vim 非常讨厌的是需要各种自定义配置,包括插件。 Vimtutor 多打几次形成肌肉记忆感觉问题不大,但想实现一个类似 Windows 下的 Notepad++ (包括配色,语法高亮等等) 的环境的时候…… 发现要先看 GitHub (因为各类教程说要 Git Clone 插件)--> 发现有 Https 和 SSH --> 学习什么是 SSH --> 决定不管,现在继续在熟悉 Git …… 这些折腾给我的感觉是 Linux 像一个整体的东西,没法绕过一开始那些类似 Tutorial for Unix/Linux 或者 鸟哥的 Linux 私房菜 来单独学习 Vim 是么,如果我的目标是使用 Vim 来作为一个写程序的文本编辑器的话? |
24
dabaitu 2016-01-11 20:33:49 +08:00
处理简单的文件我一般都用 nano
|
25
Bardon 2016-01-11 22:19:33 +08:00
应用场景,运维
除了运维,其他人学来何必呢。。。视窗模式下用 vim 的,除了老鸟,就是装逼的。 不过话说回来,每一个装逼的都有一颗成为老鸟的心。。。 |
26
bupo 2016-01-11 22:44:23 +08:00
在 xcode 下使用 vim 插件,最不习惯的有几点:可能我的方法不对,请指教
1. 跳转到目标代码,用 h,j,k,l 要按很久,用 ctr+f 翻页不一定能定位到正确的地方,还得 hjkl ,不知道怎么高效率定位到相关代码; 2. 选中剪切,拷贝,粘帖,选中一般使用 visual 模式,然后选中多行, dd ,移动到对应的位置 p ,这一串动作感觉效率也挺低的,还有就是 p 的时候会在下一行粘帖代码,经常出现缩进问题,还得进入 insert 状态缩进; |
27
calon OP 非程序员为什么不能学习 vim 呢?我自己就不是程序员,主要写中文文章,并没有想象的那么折腾。
花点时间学学没什么坏处。 不要排斥 Windows 下的非程序员普通用户嘛, Vim 的一大优点就是跨平台通用,不要搞成只在 *nix 上耍了嘛。 @theblackswan 可以考虑列举一些不错的应用场景,但非程序员的痛点应该不多,要不说说大纲、折叠、输出转换之类的文档组织编辑功能? 不太理解的地方能否举例说说? @tracyone 写高阶教程恐怕没那个实力。 @htfy96 谢谢建议,跳转很常用,但估计不会全部覆盖到,插件的部分会尽量少,毕竟面向入门 @Alexhex 配置插件不一定非得用 git 下载啊,而且 github 上也是可以直接下载 zip 打包文件解压到插件目录的。当然学学 git 不是坏事。 自定义配置应该是 Vim 的优点之一呢,深入之后应该比图形界面的配置好用。 在 Linux 下跟着 Linux 背景的教程学习比较好,涉及权限、路径、终端操作和命令调用等等和 Win 下有差异。 |
28
KentY 2016-01-12 02:06:40 +08:00
**主要面向 Windows 系统下的非程序员**
建议 notepad++ 作为一般编辑, 剩下高级编辑用 office 折腾 vim 确实没啥意义. 我个人武断地估计, 中国作协里用 vim 写作的人应该是 0. |
29
dearrrfish 2016-01-12 06:32:18 +08:00
@calon 感谢 PO 主的用心,我算是入了 Vim 这个坑三年多了,从 Sublime 跳的,目前基本中毒状态。不过我还是觉得非程序猿,甚至非 DevOps 的确没太大必要去花时间学,甚至习惯了以后还会对其他应用场景造成新的障碍。如果实在有爱,这点我觉得要有所了解和准备。
比如就我自身的经历来说,基本经历以下几个阶段: + 服务器只能用 Vim 啊,学吧,肌肉记忆苦下些功夫还是很容易 => 终端里爽完后, cmd+tab 到 Sublime 也习惯性 hjkl, dd 什么的…… => 好吧, Sublime 也启用 Vim Mode => Sublime 还是不爽啊,删 => 研究 .vimrc 和找各种相关插件 (巨坑) => 哎呀 Safari/Chrome 也有 sVim/cVim 扩展啊,装 => shell 也有 Vim mode 呀,换 虽然学新东西的过程很有趣,但回头一看,发现习惯以后已经被绑架一样过分依赖 Vi 编辑风格,一旦换台机器换个更通用的 IDE 各种不爽,这种负面作用和额外成本我觉得还是有必要有所准备。人的习惯是可怕的,一旦离开了 comfortable zone 各种焦躁,至少我是这样;而 Vim 这种模式毕竟是非主流,也必然不是未来新工具的发展方向。 PS. Vim 下中文编辑不蛋疼嘛?输入法切换我至今无法习惯。 |
30
movtoy 2016-01-12 06:57:58 +08:00 1
程序员最应该学习的事情就是学学什么是需求
|
31
rundis 2016-01-12 07:47:11 +08:00 via iPhone
建议讲讲一些配置和插件就好了,其他的还是 vimtutor 好
|
32
calon OP |
33
billwang 2016-01-12 08:44:11 +08:00
不要写成快捷键大全就行了
|
34
66beta 2016-01-12 08:46:56 +08:00
非程序员还是用 notepad++或者 sublimetext 吧,不用折腾,直接有高亮
|
35
raawaa 2016-01-12 08:51:28 +08:00
其实非程序员更适合用 emacs ,第一不用学习插入模式 /普通模式这种颠覆性的概念,第二用 org-mode 管理日程和写大纲杠杠的。
|
36
hqs123 2016-01-12 09:00:36 +08:00
不错,敬佩楼主专研精神
|
37
harry890829 2016-01-12 09:21:08 +08:00
vim 在 win 平台上,最强大的地方就是可以完全抛弃鼠标进行操作,但是往往大多数人并不理解这一点能带来多大的便利
|
38
nashge 2016-01-12 10:06:20 +08:00
非程序员为啥要用 vim
|
39
aksoft 2016-01-12 10:27:13 +08:00
你让文秘的学会我就服了你了
|
40
calon OP |
41
calon OP 你们不觉得在 Surface 之类的 Win 平板上用 Vim 很爽吗?
有原生 gVim ,无论配键盘还是应急用屏幕键盘,都比 iOS 、 Android 上各种功能有限的编辑器好用得多。 |
42
AstroProfundis 2016-01-12 11:54:01 +08:00
我觉得 vim 相比 word 最见效的是各种快速定位操作,比如首行末行第 n 行、行首行尾(段、词首尾之类)、任意移动光标 xx 字符 /行、搜索操作,等各种能直接跳转到指定地方的姿势,直观实用,而且这些操作学起来也快
|
43
Bluecoda 2016-01-12 12:08:41 +08:00
直接用 janus ,鼠标可以操作,当普通的编辑器用,然后再一点点学习切过去
|
44
Xrong 2016-01-12 12:20:39 +08:00
支持楼主写
|
45
byron 2016-01-12 13:54:18 +08:00
楼主写好了 at 我。
|
46
brucmao 2016-01-12 16:25:12 +08:00
vim 提高效率啊,支持楼主,虽然我也不是程序员,喜欢折腾。
|
48
tankb52 2016-01-13 12:57:35 +08:00
非程序员可以选择更好的文本编辑工具的。
|
49
maxwelldu9 2016-01-17 16:21:31 +08:00 1
vim 在线教程
http://www.openvim.com/tutorial.html vim 游戏 http://blog.csdn.net/liuxu31436/article/details/7558892 http://vim-adventures.com/ 跟我一起学 vim http://ju.outofmemory.cn/entry/79671 知乎答案 https://www.zhihu.com/question/20565366 playterm http://playterm.org/s/?tags=+vim vim 基本命令 http://www.atool.org/vim.php 简明 vim 练级攻略 http://blog.jobbole.com/18339/ 下载两本书,一本初级全,一本进阶,加上一个初级使用的 ppt http://pan.baidu.com/s/1sjRFErj 常用命令, 关于意思可以在本上面看 i a o a A i I o O h j k l $ 0 H M L :set nu :set nonu gg G nG :n x nx dd dG d$ d0 D :n1,n2d dw yy Y nyy nY dd ndd p P r R u . /string n :%s/old/new/g :n1,n2s/old/new/g :w :w newfile :wq ZZ :q! :wq! |
50
calon OP 因为 Bram Moonlenaar 忽然去世,提醒自己修改完善、发布《写给非程序员的 Vim 新手教程》。由于拖延症断断续续写了几年,Vim 从 7.4 升级到了 9 ,也用上了 Neovim…
http://calon.github.io/Vim-Tutorial-for-Non-Programmers/ |