Vim 入门教程调查 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
calon
V2EX    Vim

Vim 入门教程调查

  •  2
     
  •   calon 2016-01-11 17:40:26 +08:00 7726 次点击
    这是一个创建于 3627 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想抽空(好吧其实是越忙越想开小差……)写一篇不太一样的 Vim 入门文章,主要面向 Windows 系统下的非程序员,大多数时候能用 gVim 写中文文档,顶多日常处理些脚本文件。
    之前觉得反正已经有 Sublime Text/Notepad++/Everedit 等比较现代的文本编辑器,需求应该不多。
    但又看到有人说希望能写出来,所以还是试试看,自己也顺便多学习。

    想调查一下,是希望简明扼要,还是希望能在不容易理解的细节处多谈谈,以便加深理解呢?
    如果您已经熟练掌握 Vim ,入门后觉得当时使用的入门教程有什么不足之处吗?
    如果还没有入门 Vim ,特别是尝试学习过多次而无功而返,觉得入门的难点在什么地方,希望有什么样的教程。

    50 条回复    2023-08-06 23:54:48 +08:00
    SpicyCat
        1
    SpicyCat  
       2016-01-11 17:53:26 +08:00
    非程序员为啥要用 vim
    theblackswan
        2
    theblackswan  
       2016-01-11 18:03:55 +08:00
    0.结合实际应用场景的应用。
    一直说 vim 很强大,但是往往不知道强大在哪里。希望在教程中能看到生活中的痛点,然后用 vim 轻而易举地解决了。无功而返的原因也在于此,想象不到应用的场景。
    1.希望能在不容易理解的细节处多谈谈,以便加深理解。
    cxbig
        3
    cxbig  
       2016-01-11 18:04:12 +08:00
    不是程序员干嘛要用 vim 这么折腾的东西
    plqws
        4
    plqws  
       2016-01-11 18:04:48 +08:00
    一直没有机会静下心来去学 vim ,很希望有一篇通俗易懂,不费脑的 vim 教程
    Changxu
        5
    Changxu  
       2016-01-11 18:09:49 +08:00
    非程序员干吗要用 Vim ,普通打打字的话 Word 不就挺好
    Changxu
        6
    Changxu  
       2016-01-11 18:10:52 +08:00
    我觉得官方自带的那个 Vim Tutor 已经很好了,再配上 Vim Adventure 这个游戏,楼主真的不用费力再去写一份教程了。

    倒是、楼主写份 Emacs 教程吧,感觉好的 Emacs 教程不多
    chemzqm
        7
    chemzqm  
       2016-01-11 18:20:03 +08:00
    印象中几个曾经放弃 Vim 的人,都是过于依赖插件,不能掌握大部分常用 Vim 操作。
    我觉得不是教程问题, vim 帮助文档几经足够了,这玩意要用好需要熟练十指操作键盘,需要不断纠正以往的错误习惯,通过练习熟悉各种快捷键。
    只要你目标不是去写 vim 插件, vim 使用根本没什么难理解的地方,要点还是在练,不常练习学它只是浪费时间。
    经常输入汉字的话,用 vim 也挺蛋疼的。
    SCaffrey
        8
    SCaffrey  
       2016-01-11 18:24:13 +08:00 via iPad
    其实 vimtutor 已经很赞了?
    感觉门槛高一些正好造就了高质量的社区?

    感觉一个好的教程就应该是那种给你'领进门'的体验吧
    tracyone
        9
    tracyone  
       2016-01-11 18:27:37 +08:00 via Android
    楼主还是写高阶的吧,我比较感兴趣,比如说和 learn vimscript the hardway
    4everLoveU
        10
    4everLoveU  
       2016-01-11 18:27:48 +08:00
    不愿意花时间的不费脑的,我劝还是算了吧
    生活上懒就算了,学习这种也能懒???
    Tiande
        11
    Tiande  
    PRO
       2016-01-11 18:35:04 +08:00
    man vim 的内容其实挺好
    jsyangwenjie
        12
    jsyangwenjie  
       2016-01-11 18:35:39 +08:00
    apt-get remove vim & apt-get install emacs
    plqws
        13
    plqws  
       2016-01-11 18:37:42 +08:00
    楼上一堆人很搞笑啊,楼主想要写一篇教程来求建设性建议,你们倒是使劲泼冷水?有本事自己做一些实质的事情出来,而不是在这里当莫名其妙的键盘侠。
    tonghuashuai
        14
    tonghuashuai  
       2016-01-11 18:40:17 +08:00
    这个定位有点尴尬啊, windows 下的非程序员为啥要用 vim 啊
    htfy96
        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 `` 等
    ikey
        16
    ikey  
       2016-01-11 19:09:46 +08:00
    楼主你写吧,我天天用 vim 。
    kingddc314
        17
    kingddc314  
       2016-01-11 19:30:27 +08:00 via Android
    支持,我就没写教程的耐心。。
    chemzqm
        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 ,别的根据自己需要来
    htfy96
        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 更容易写……)
    cha1
        20
    cha1  
       2016-01-11 20:03:40 +08:00
    刷几遍 vimtutor (在 Linux 终端下直接输入),然后多用,就能入门了。
    htfy96
        21
    htfy96  
       2016-01-11 20:05:43 +08:00
    @chemzqm 现在 Neovim 也在核心程序内集成了 Terminal 、 Job Control 等功能。在写插件的时候,我觉得有些功能就应该被集成到核心去,比如说一堆语法文件, dispatch 支持,更好的%(matchit)等,这些东西非侵入,就应该作为标准功能提供。现在的 Vim 默认装完 syntax on 都没有,个人觉得太过保守了,所以切换到 neovim 去了。另外,发行版预装的大多是 vi , vim 的体积应该不是很成问题。
    cha1
        22
    cha1  
       2016-01-11 20:05:56 +08:00
    另外,这是 vim 的一个游戏: http://vim-adventures.com/

    相关介绍:
    http://coolshell.cn/articles/7166.html
    Alexhex
        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 来作为一个写程序的文本编辑器的话?
    dabaitu
        24
    dabaitu  
       2016-01-11 20:33:49 +08:00
    处理简单的文件我一般都用 nano
    Bardon
        25
    Bardon  
       2016-01-11 22:19:33 +08:00
    应用场景,运维
    除了运维,其他人学来何必呢。。。视窗模式下用 vim 的,除了老鸟,就是装逼的。
    不过话说回来,每一个装逼的都有一颗成为老鸟的心。。。
    bupo
        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 状态缩进;
    calon
        27
    calon  
    OP
       2016-01-11 22:44:39 +08:00
    非程序员为什么不能学习 vim 呢?我自己就不是程序员,主要写中文文章,并没有想象的那么折腾。
    花点时间学学没什么坏处。
    不要排斥 Windows 下的非程序员普通用户嘛, Vim 的一大优点就是跨平台通用,不要搞成只在 *nix 上耍了嘛。

    @theblackswan 可以考虑列举一些不错的应用场景,但非程序员的痛点应该不多,要不说说大纲、折叠、输出转换之类的文档组织编辑功能?
    不太理解的地方能否举例说说?

    @tracyone 写高阶教程恐怕没那个实力。

    @htfy96 谢谢建议,跳转很常用,但估计不会全部覆盖到,插件的部分会尽量少,毕竟面向入门

    @Alexhex 配置插件不一定非得用 git 下载啊,而且 github 上也是可以直接下载 zip 打包文件解压到插件目录的。当然学学 git 不是坏事。
    自定义配置应该是 Vim 的优点之一呢,深入之后应该比图形界面的配置好用。
    在 Linux 下跟着 Linux 背景的教程学习比较好,涉及权限、路径、终端操作和命令调用等等和 Win 下有差异。
    KentY
        28
    KentY  
       2016-01-12 02:06:40 +08:00
    **主要面向 Windows 系统下的非程序员**
    建议 notepad++ 作为一般编辑, 剩下高级编辑用 office
    折腾 vim 确实没啥意义.

    我个人武断地估计, 中国作协里用 vim 写作的人应该是 0.
    dearrrfish
        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 下中文编辑不蛋疼嘛?输入法切换我至今无法习惯。
    movtoy
        30
    movtoy  
       2016-01-12 06:57:58 +08:00   1
    程序员最应该学习的事情就是学学什么是需求
    rundis
        31
    rundis  
       2016-01-12 07:47:11 +08:00 via iPhone
    建议讲讲一些配置和插件就好了,其他的还是 vimtutor 好
    calon
        32
    calon  
    OP
       2016-01-12 08:24:39 +08:00
    @dearrrfish Windows 下面用谷歌或手心都还好啊,也不用频繁切换


    @rundis 嗯,配置和插件肯定会有专门章节
    billwang
        33
    billwang  
       2016-01-12 08:44:11 +08:00
    不要写成快捷键大全就行了
    66beta
        34
    66beta  
       2016-01-12 08:46:56 +08:00
    非程序员还是用 notepad++或者 sublimetext 吧,不用折腾,直接有高亮
    raawaa
        35
    raawaa  
       2016-01-12 08:51:28 +08:00
    其实非程序员更适合用 emacs ,第一不用学习插入模式 /普通模式这种颠覆性的概念,第二用 org-mode 管理日程和写大纲杠杠的。
    hqs123
        36
    hqs123  
       2016-01-12 09:00:36 +08:00
    不错,敬佩楼主专研精神
    harry890829
        37
    harry890829  
       2016-01-12 09:21:08 +08:00
    vim 在 win 平台上,最强大的地方就是可以完全抛弃鼠标进行操作,但是往往大多数人并不理解这一点能带来多大的便利
    nashge
        38
    nashge  
       2016-01-12 10:06:20 +08:00
    非程序员为啥要用 vim
    aksoft
        39
    aksoft  
       2016-01-12 10:27:13 +08:00
    你让文秘的学会我就服了你了
    calon
        40
    calon  
    OP
       2016-01-12 10:57:27 +08:00
    @billwang 尽量避免吧,不面向编程的话,快捷键用的不算多,像文本对象、寄存器操作类的都可以简略
    计划文末会把最常用的快捷键列个清单,或配上图
    其实已经写了一部分了,怕走了歪路所以来问问意向
    calon
        41
    calon  
    OP
       2016-01-12 11:04:07 +08:00
    你们不觉得在 Surface 之类的 Win 平板上用 Vim 很爽吗?
    有原生 gVim ,无论配键盘还是应急用屏幕键盘,都比 iOS 、 Android 上各种功能有限的编辑器好用得多。
    AstroProfundis
        42
    AstroProfundis  
       2016-01-12 11:54:01 +08:00
    我觉得 vim 相比 word 最见效的是各种快速定位操作,比如首行末行第 n 行、行首行尾(段、词首尾之类)、任意移动光标 xx 字符 /行、搜索操作,等各种能直接跳转到指定地方的姿势,直观实用,而且这些操作学起来也快
    Bluecoda
        43
    Bluecoda  
       2016-01-12 12:08:41 +08:00
    直接用 janus ,鼠标可以操作,当普通的编辑器用,然后再一点点学习切过去
    Xrong
        44
    Xrong  
       2016-01-12 12:20:39 +08:00
    支持楼主写
    byron
        45
    byron  
       2016-01-12 13:54:18 +08:00
    楼主写好了 at 我。
    brucmao
        46
    brucmao  
       2016-01-12 16:25:12 +08:00
    vim 提高效率啊,支持楼主,虽然我也不是程序员,喜欢折腾。
    regist
        47
    regist  
       2016-01-12 18:26:08 +08:00
    @calon 不错,定位能力确实好用,各种提示错误在第 n 行,打开 vim 直接:n 就到了
    tankb52
        48
    tankb52  
       2016-01-13 12:57:35 +08:00
    非程序员可以选择更好的文本编辑工具的。
    maxwelldu9
        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!
    calon
        50
    calon  
    OP
       2023-08-06 23:54:48 +08:00
    因为 Bram Moonlenaar 忽然去世,提醒自己修改完善、发布《写给非程序员的 Vim 新手教程》。由于拖延症断断续续写了几年,Vim 从 7.4 升级到了 9 ,也用上了 Neovim…
    http://calon.github.io/Vim-Tutorial-for-Non-Programmers/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1511 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 16:31 PVG 00:31 LAX 08:31 JFK 11:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86