强迫自己掌握vi的最好方法是什么?

不久前,我读了viemu创建者的一篇文章,澄清了很多关于vi的误解,并解释了为什么它是一个好主意(以及为什么它在过去30年里非常流行)。同一个人也有一套很棒的图形备忘单,每次教一些基础知识。

我相信。

事实上,在过去的两年里,我一直被说服。但是我仍然没有强迫自己学习vi作为我的主要编辑器,学习曲线太高了。当我开始工作时,可接受的但即时的生产力(使用我当前的编辑器)到目前为止已经超过了进一步的巨大生产力(使用vi)。

有没有人有什么好的建议来帮助你度过学习曲线?它可以是直接的提示,一些其他教程或文章,无论什么。

编辑:注意,我知道vi的vim / gVim奶油MacVim(等等)变体。我保留了关于vi的问题,将vi家族作为一个整体。谢谢你的精彩回答。

更新(2009年4月)

自去年12月以来,我一直在日常的职业生活中使用Vim(更准确地说,是MacVim)。我不会回去的。

祝大家在掌握Vim的过程中好运。

58518 次浏览

删除所有其他文本编辑器应用程序。

那你就得学会。

自己的最简单方法可能只是从你的机器中删除所有其他编辑器。远离诱惑:)

删除notepad.exe并创建vim的快捷方式notepad:)

或者通过ssh或在没有GUI的机器上进行所有的编码;)

我曾尝试将常见的vi命令保存在一个小的备忘单或便利贴中。我对我使用的IDE做同样的事情。我发现如果我把快捷键或命令贴在显示器上,这有助于我学习它们。一旦我用了足够多的快捷方式,并且认为我记得很清楚,我就会删除便利贴。

我要做的第一件事是在方向键和ins/home/end/pgup/down键上放一张纸或一本书。这些在Vi中不需要。

接下来,我习惯了按ctrl+[每当你被告知要按escape。它更快,你不需要把你的手从键盘上拿开。

然后我会看我的截屏:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

然后,练习,练习,再练习。

< em >编辑 避免使用方向键的原因是它们会减慢你的速度。Vim最大的好处之一是它提供的速度。方向键也阻止你真正拥抱模态本质,这是非常强大的,当你掌握了

当你在工作中使用当前编辑器时,写下你在它中使用的所有快捷方式和功能。然后在周六早上坐下来,使用谷歌和stack overflow来了解如何在vi中完成这些工作。最好是使用一张(或几张)纸来完成这些工作。

现在禁用/删除工作中的其他编辑器,这样查找和重新安装它们的时间就会比查看比较表并在vi中进行更长的时间——也就是说,你别无选择。

最后,在你的博客上发布从旧编辑器到新编辑器的交叉快捷键列表。

好运!

首先,您可能想要使用Vim;与vi所拥有的一切一样,它拥有一个非常优越的特性集。

也就是说,学习需要自律。如果你有一份工作,并且无法承受工作效率的下降(否则会被解雇),我建议你参加一个周末项目,唯一的目的就是学习编辑器。在你工作的时候保持文档的开放,并且要自律,不要临阵退缩。当你学得更多,变得更有效率,开始依赖肌肉记忆,坚持下去就不会那么难了。

我使用Vim的时间太长了,以至于我甚至没有考虑过按什么键来搜索、导航或保存。我的手从来没有离开过键盘。使用Vim是我在编程生涯中做出的最好的选择之一。

嗯,这更像是一个生理学问题,而不是一个编程问题,但我能做我真的不想做的事情的最好方法就是去做,不要再想办法激励自己去做。

就把它想象成刷牙。你需要激励自己去做这件事吗?不,你只管做。

我的建议是写一些简单的程序,从头到尾,使用VI。

很有可能,一开始你会因为学习曲线而感到沮丧,无法强迫自己在工作中或任何对时间敏感的环境中使用它们。

为了熟悉环境/编辑器,我以前曾经这样做过,而且效果非常好。

如果你在写作上遇到了困难,我建议你重做你在学校做过的项目(或者你以前做过的任何事情)。这种方法还有一个额外的好处,就是让您看到自己已经成为了一个多么优秀的开发人员。:)

编辑:忘记提到你应该完全从控制台来做这个,以避免任何使用鼠标的诱惑!

花十年时间从一台只有vi和emacs可用的机器上发布到Usenet(并且从'rn'调用emacs时启动时间很长)。

我就是这么学会的。

但是对于一种更快的方法,我所能建议的是,您只需致力于学习它,并花几个小时研究一些源代码。如果你还没有vim,请安装它——它有很棒的语法高亮显示功能。

这是非常值得的。我知道我可以在西方世界的任何地方使用任何一台Unix机器,甚至可能通过缓慢的拨号连接或在一台没有gui的机器上,并在几分钟内完全高效地工作。

你应该从< a href = " http://www.vim.org/ " rel = " noreferrer > vim < / > (Vi IMproved)开始,特别是它的GUI - gVim。GUI有菜单,在Windows上您可以使用复制、剪切和粘贴快捷方式,因此您可以立即替换记事本。由于菜单显示了快捷方式(vim命令),您可以学到很多东西。

从一开始就应该做的另一件事是根据需要配置vi。例如,你可以将vim转换为Python IDE。通过这样做,您将没有理由使用其他编辑器,因为vi将为您提供所需的一切。

不要使用X11?

$ sudu rm /usr/local/bin/emacs

将登录shell更改为6?

首先,强迫自己使用艾德,然后6将看起来像一个奢侈品?

使用bash?中的6键绑定

开始一直使用6 ?

在我看来,学习一个编辑器和学习一门语言并没有太大的不同。沉浸式效果最好。

我使用6进行非常快速的编辑,或者当我由于某种原因不能使用X11时,但我生活在emacs中。真正强大的编辑器是值得花时间学习的。

对我来说,VI是一个很好的应急编辑器,但如果有其他可用的替代方案,我就不想使用它。我知道这并不适合所有人,我并不是说这很糟糕,我只是个人更喜欢可发现的UI。

但是如果你想在Linux中做任何重要的事情,你真的必须了解VI !

所以只需要学习基础知识: i =插入模式 Esc =leave插入模式 :wq=save and quit :问!=不要存钱就放弃 X =当不在插入模式时,删除该字符。 / =搜索< / p >

这能帮你度过任何剪辑上的难关。使用这几个命令(当然还有导航)没有什么是做不到的。其余的你可以根据需要“附加”。

不过,要有参考资料或书籍可用——当您需要使用VI时,可能无法浏览网页——但是手册页可能有些用处。

你可以得到一个原始的快乐黑客键盘(没有方向键),每次开始编辑时把你的(无线)鼠标放在你够不到的地方。

写出一大堆命令/快捷键很容易,但是如果没有练习就很难记住它们。

一次只关注一个新命令。当它变成自动的,比如在使用一两个星期后,再增加一个。

为了在短期内完成某些事情,你会走很长的路——这些显然是学习新捷径的机会。

根据我的经验,当我试着不一次承担太多时,事情会更容易些。

等到您不得不在实际环境中调试一个奇怪而奇妙的问题时,您所能做的就是进入命令行。您可能最终不喜欢VI,但它将为您节省大量时间,并且您将学习大量的技巧来逐步查看大量(日志)文件。

我的第一个建议是:学会快速打字,不需要看键盘。

如果您不能触摸类型,并且总是在寻找冒号或hjkl或:%s/foo/bar,请忘记它。输入可以比使用鼠标更快,但如果不是这样,vi将无法工作。

但结合良好的打字技能,ssh和屏幕和vi将是自然的。

你可以在网上找到许多Vi/Vim备忘单,打印出来,强迫自己坚持几周。

一旦你学会了一些基本的命令,你就会非常有效率。从那里开始,只要坚持不懈,每隔一段时间学习一个新命令。你不可能学会所有的vi命令。我相信vi命令比宇宙中的原子还多!!:)

最好的方法是什么?将您的终端设置为使用vi键绑定。

面对这样的事实,它将立即造成性能损失。在学习一种新工具时,你需要能够做一些你已经知道如何用其他工具做的事情,这样问题就不是你的问题。在使用新工具一段时间后,它将消失,你将只关注潜在的问题。

对于像vim这样的东西(正如其他人所说,vim比vi优越得多),定期重读和浏览文档是很重要的。如果没有它,界面是完全无法被发现的。每读一篇新文章,你就会发现一个特点,然后说:“啊哈,这就解决了我上周想要解决的问题”,然后把它记在脑子里。对于你来说,与现实问题相关的解决方案比随机的捷径更容易记住。

最后,您可以使用vim的一个相当小的功能子集,所以不要被所有花哨的功能搞得不知所措。想想Word中的所有功能,99%的人都在使用它们吗?

gVIM有一个非常好的教程(链接在开始菜单组中)。

我发现通过这种方式学习有助于克服最初的学习困难;然后把我的Visual Studio切换到ViEMU帮助我磨练了我的VI技能。

而且,http://vimcasts.org/的截屏也很棒!

您要求获得一些好的技巧来帮助您度过vi文本编辑器的学习曲线。以前的许多答案建议您不要使用其他编辑器。我认为这是一个很好的建议。从更图形化的编辑器切换到vi需要改变心态。它需要从命令的角度思考,而不是从视觉变化的角度。

多年来,我只使用vi,并且相信提高效率的唯一方法是记住经常使用的命令。我这样做的方法是列出一个最常见的键盘命令的简短列表。我将这些命令按函数分组并按颜色编码,例如移动光标,编辑,搜索等。我很小心地只包含了我不知道的最常用的命令。这个想法是创建一个快速的参考,同时也有助于记忆-而不是取代可用的帮助屏幕。然后我把这个清单打印出来,贴在显示器后面的墙上,这样我就可以很容易地看到它。(你提到的图形小抄可能对一些人更有用,但可能是一个比记忆工具更好的参考来源。)

这是钥匙。当我对其中一个命令感到舒服时,我用铅笔在它上面画了一条线。如果我需要的话,我仍然可以看到它,但对我来说,这是一个象征,我已经掌握了这个命令。这给了我信心和动力,因为我可以看到定期的进步。在划掉大部分命令后,我删除了它们,并添加了一些很少使用的命令。我继续这个过程,直到我对我的vi命令感到满意。当我意识到我已经很长时间没有删除任何命令,甚至没有查看列表时,我知道我已经达到了那个点。

几年前,我需要在一个UNIX平台上工作,其中vi是唯一可用的编辑器。我买了一本关于vi的袖珍参考书,但几乎没用过。最后,我像第一次使用vi一样做了清单,并把它们贴在墙上。到第一周结束时,我感到非常舒服,尽管我已经有五年没有使用vi了。

当我开始为一家ISP工作时,我才学会了vi,那里编辑域的脚本只能在终端上打开vi。我别无选择,只能学习它,但我从未后悔过。

简而言之,把自己放在一个你别无选择只能学习的环境中。

我从O'Reilly的书“学习vi编辑器”中学到了vi。

这些年来,我一直断断续续地使用vim(偶尔做一些系统管理工作)。我最近才开始花更多的时间在里面做我的编程工作。我建议也从gvim开始。它与大多数操作系统环境集成得很好,(甚至更好),当你需要时,你可以回到鼠标:)。

要开始使用vim, 运行vimtutor(与gVim绑定)一次或两次(需要一个小时左右)。我不能夸大它对我的帮助!尤其是第一部分,关于在文档中移动的不同方式,以及如何用运动命令记录编辑动作,等等。在那之后,事情就会清楚得多。

然后,开始对它进行快速、小的编辑(替换记事本的东西),直到你能舒服地快速进行有用的剪辑。然后试着在里面做你的日常工作。你会发现自己非常渴望在其他编辑器中使用“重复最后一个动作”命令!

谷歌是你的朋友。保持一个窗口或选项卡在手边,当你有一些你需要做几次的事情,比如缩进代码或用正则表达式搜索,查找它。最好的提示网站将变得熟悉,收藏一些,也许打印出一个小抄。

ESC gg=G重新缩进代码和:retab将制表符转换为空格或空格转换为制表符是吸引我到vim的原因。所以实际上你不需要被迫使用它,你只需要学习什么时候它可以帮助你提高速度。

遍历vimtutor

开始使用vim进行简单的编辑,比如配置文件或html。根据需要学习命令。

在谷歌中搜索一个好的。vimrc,这个人使用的工具链与你的类似。打开语法高亮显示。找一个漂亮的配色方案。

学习宏,因为Vim最适合自动化任务和代码片段插入,比如将几个单词格式化为复杂的XML标记或将CSV转换为HTML表。

我记得当我第一次开始学习emacs时,那是在我已经非常熟悉Vim之后,我和你处于相同或相似的境地,我知道如何在另一个编辑器中完成很多工作,所以当我开始使用emacs时,它总是非常缓慢。

然而,我认为你要做的只是承受一点点痛苦,并且总是,总是,总是确保你在以前的编辑器中可以做一些知道的事情,比如移动到一行的末尾,或者选择文本的一个区域,你要查阅文档。

如果你身边有一个本地的vi专家,你可以问问题,或者如果你像我们公司一样,你提倡结对编程,这也是有帮助的。这样当你试图做一些应该很容易的事情时,你可以简单地问别人,他们会告诉你如何做,如果你经常使用编辑器几个星期,你不应该在它成为第二天性之前再问几次。

如果你没有任何本地资源,网上有大量的书籍/教程/参考资料,应该可以回答你的大部分问题。

最终,学习Vi就像学习其他技能一样,没有银弹,你必须接受这一点,在一段时间内,你使用Vi的效率将低于当前的编辑器。只要不断告诉自己,“其他人已经能够学习Vi,我至少和他们一样聪明”(这就是我告诉自己的:))

每次你在做一项复杂的编辑任务时,都要思考是否有更有效的方法来完成它。大多数情况下,当您可以用简单的术语描述它时(如“交换文本段落”或“删除注释行中X字符后面的所有内容”),您只需在vim中敲击几下键就可以完成。

有一些关键特性非常有用,你会一直用到它们。我最喜欢的是:

  • 方块选择(Ctrl-V)
  • 宏记录(q)
  • 虚拟编辑(:set ve=all)
  • 正则表达式
  • 连接到外部Unix程序
  • 键映射
  • 自动补全(C-p, C-x C-p, C-x C-f)
  • 操作+移动组合(这是非常强大的)

询问其他程序员他们认为最有用的功能是什么,然后采用那些更适合你大脑的功能。从别人的.vimrcs中窃取想法(这里是我的)

我曾经写过一个使用Vim进行高效编辑的指南。你会发现它很有用。

我会退一步问自己“为什么我想要学习这个编辑器?”是什么让我认为它会比我现在的文本编辑器更快或更好?”然后学习那些使Vi(m)对您不可或缺的特性。

例如,Vim的CTags集成对我来说是完全不可或缺的。我使用的是一个非常非常大的代码库,在一次击键中跳转到函数或类定义的能力(不管它在哪个文件中)绝对是一个杀手级特性,没有它我就很难工作。

使用.vimrc文件来创建宏,使常见任务自动化。

你的自动编辑选择器会选择一个最快完成工作且花费最少脑力的编辑器。一点准备工作将确保编辑器是Vim。: -)

不要强迫自己。掌握爱的途径是。

我会从argdo开始,一旦你爱上了它,剩下的就很容易了…

花几个小时在vi爱好者的网站http://nereida.deioc.ull.es/html/vilovers.html -大量的教程,链接等与热情的vi爱好者。

我已经开始使用VI,因为它是除了Windows之外几乎所有操作系统的默认编辑器。我没有在Windows上写太多代码,所以这很有帮助。

如果你想在*NIX/OSX系统上强制使用,只需删除其他编辑器或别名即可。其他的就看你自己了。每次你不使用VI来编辑一个文件,你就不会得到一个cookie。

我用它在linux的web服务器上编辑文件,而不是使用FTP。那是9年前的事了,我已经掌握了这些技能。

另一件事是找到一些你可以在VI中做的很棒的事情,比如全局搜索和替换或更强大的东西,并在需要的时候使用VI。

你可以先从奶油开始。Cream将自己描述为vim的“现代配置”。基本上,它是vim的一个特殊版本,从所有实际目的来看,它的外观和感觉都与任何其他文本编辑器相似。但是启用“专家模式”,您就拥有了vim的所有功能和行为。

所以你可以开始使用奶油作为常规的文本编辑器,然后尝试“专家模式”,直到你足够舒服,完全切换到vim。

在现代vi (vim?)中,我发现真正令人困惑的一件事是输入模式允许命令模式的一些功能,但不是所有功能。当输入模式完全简化为“只覆盖,不可能移动光标”时,我感觉舒服多了,就像老Solaris vi所拥有的那样。真正的vi需要您大部分时间保持在命令模式。

话虽如此,现在已经没有必要学习vi了——emacs同样无处不在。:)

在你使用的所有平台上安装gVim

然后运行vimtutor(在命令行执行:help vimtutorvimtutor)。

观看下面的讲座,并按照它的建议:7个习惯有效的文本编辑2.0

我说你一定要开始使用它来进行所有的编辑。如果你担心效率下降,那就花一个周末的时间来练习(我曾经这样做过,把qwerty换成dvorak,到周一的时候我的效率已经足够高了,并且成功地坚持了下来)。

这是值得的努力,你不会回头!

两件事将大大提高你的vi技能:

  1. 练习,练习,再练习
  2. Nethack

将系统上的每个终端编辑器符号链接到vim,并将系统上的每个图形化编辑器符号链接到一个脚本,该脚本将打开一个运行vim的新终端窗口。

我的做法是,一开始花几分钟复习最基本的内容——移动光标,前后搜索,跳转到下一个和上一个单词/句子/段落,等等。插入、添加。你脑子里装得下什么都行。然后,当你有事情要做而又不需要在15秒内完成时,强迫自己去做。

当你对基本的命令非常熟悉时,慢慢地学习更高级的命令——尤其是那些利用你之前学习过的命令(比如替换接下来的3个单词,或者删除到下一个搜索目标)。

我喜欢使用VI,一旦我学会了。高级命令比大多数GUI编辑器提供的功能强大得多,而且它无处不在且基于文本,因此可以通过ssh使用,这一点就更好了。

如果你强迫自己使用几天,你会发现这些命令很快就变成了第二天性。如果您使用的是posix系统,我建议您从bsd许可的nvi开始,这是一个经典的1:1 vi克隆,然后转向vim。如果从vim开始,很可能只使用编辑命令的一个子集,因为它的INSERT模式非常类似于GUI编辑器。

就我个人而言,我必须确保我可以在几个应用程序中使用Vim键绑定(或者至少足够接近)。每当我改变编辑器时,都必须完全切换我编辑文本的方式,这使得Vim编辑风格很难被肌肉记忆所接受。

在我的例子中,Viemu + vimperator成功了。

我在Windows上有VI,我使用的版本如下所示,如果我在控制台窗口中,我总是默认使用VI,那么无论我在什么操作系统上运行,我知道我可以编辑文件。相反,如果我在UI模式,我使用notepad++ go figure。

NT VI -版本0.23 由: 托尼·安德鲁斯 基于一个程序由: 蒂姆·汤普森< / p >

玩很多nethack游戏。我上大学的时候就是这么做的,后来我发现光标的移动也是一样的。尽管此时您可能需要更改设置以使用vi样式的键映射。

我的建议是:从小事做起。只要从记住一小部分最有用的命令开始。当我开始创建vi时,以下是我最喜欢的10个:

  • (Esc)返回命令模式(最重要!)
  • 在光标后添加文本
  • 在当前行的末尾添加文本
  • X删除1个字符
  • Dd删除一行
  • 用R替换文本(覆盖)
  • U撤销
  • :问!(Enter)不保存退出
  • :w(输入)保存
  • ZZ保存并退出

只需使用这些命令就可以完成许多基本的编辑工作。一旦你适应了,剩下的看起来就不太难了。

顺便说一句,我想补充一点,我曾经依赖vi作为我的主要文本编辑器,但现在只有在我不得不这样做的时候。就我而言,当我使用Emacs或Visual Studio这样的工具时,工作效率会更好(请注意:“在我的情况下”)。尝试不止一种工具,选择最能提高效率的那一种。好运!

我给自己做了一页方便的小抄,用它来学习所有非基本的功能。然而,实践是掌握任何东西的唯一途径。

vi很好,因为它适用于每一台unix类型的计算机,Mac OS X, Solaris, Linux。在易趣上找到一个旧的废纸盒?有vi, Sun OS 4呢?vi。

虽然我是vi的忠实粉丝,特别是vim,但有很多功能强大的编辑器,你不应该觉得你必须使用vi,或者它在某种程度上是某种绝对完美的编辑器,因为它不是。

如果你不得不强迫自己使用vi,我担心你会觉得使用它没有效率。但是,如果您坚持要坚持,我可能只会确保对每个编辑任务都使用vi。每当我需要做一些事情,我不太知道最好的方法来做它,我会试着找到最优的(在最小的击键方面)来在vi 中做它,我做了一个非最优的正常方式。然后我会用这个小技巧做一个便利贴(或者只是一个文本文件),这样我下次就会记住它。

随着时间的推移,您使用vi的效率将显著提高。

为什么不让我用我自己的低摩擦方式来强迫自己呢?: -)

我所做的很简单:我尝试让我的git使用vim提交消息(当您没有在命令行指定消息时,默认编辑器)。

当然,提交消息太短了,几乎没有什么帮助。但是当用git commit --amend重新编辑消息时,它会更有帮助。

像我一样。用它做任何事情,在freenode的#vim中闲逛。

当你需要快速搜索一些东西时,把它们都放在一个页面上会有所帮助。

使用便利贴方法:-)

当使用gvim时,允许您自己使用菜单。 读一本关于vim的书或教程,这样你就知道基本知识了。 (插入和命令模式)

选择一些你认为你需要的很酷的函数,并把它们写在便利贴上 然后把它们贴在显示器的下部

一个好的开始大概是 i, a, o, gg, G,:10,/something

和一些剪切和粘贴 Yy, dd, p

然后用 v, v(可视模式)+剪切粘贴

然后当你知道它们的时候,用一个功能更酷的新便利贴代替它们,

/约翰

这听起来很傻,但玩roguelike游戏(如NethackAngband)是一种有趣的方式,可以轻松使用h/j/k/l键进行光标导航。

当我16岁的时候,我被迫学习Vim作为我的第一份编程工作(老板不让我们使用其他任何东西),但我并没有任何真正的进步,直到我读了Steve Oualline的Vim Book——如果你想认真对待Vim,强烈建议将它作为一个起点。

实际上,掌握Vim比掌握一些编程语言需要更多的时间(其特性是复杂的)。试图通过打印小抄来“掌握”Vim就像试图通过阅读几篇博客文章来掌握Haskell一样。准备好投入一些认真的时间,你会得到很好的回报。

步骤0:学会触摸打字。说真的,如果你的手指不知道键在哪里,那么vim将是一种痛苦。即使你拒绝vim,触摸输入将改进你的编程(问Steve Yegge)通过使思想监视链接摩擦自由。有一个软件很多可以帮助你提高你的打字。

步骤1:使用vimtutor来开始。它在gvim(下 我想是帮助菜单)或者你可以在命令中输入“vimtutor” 线。这将花费你30-45分钟的时间,然后你的手指会 了解vi/vim的基础知识,你应该能够编辑文件 想把键盘扔出窗外。< / p >

步骤2:处处使用vim。参见this 问题< / > 在命令中使用vim和vi键绑定的提示和链接 行,从您的web浏览器,编写电子邮件,在您的IDE…你 需要使用vim将键绑定嵌入到你的肌肉记忆中 了解更多关于vim的知识。你只会划伤 表面与vimtutor。你可以看这个 < / >或视频 read 这篇文章 (both about “有效编辑文本的七个习惯”。你可以 读< a href = " https://stackoverflow.com/questions/164847/what-is-in-your-vimrc " > < / > 关于 < a href = " https://stackoverflow.com/questions/20735/useful-vim-features " >提示< / > 而且 技巧< a href = " https://stackoverflow.com/questions/726894/vim-tricks-your-mom-never-told-you-about-dark-corners " > < / > 在 StackOverflow。 你可以浏览vimtips。学习一门 我的建议是“很少经常”——外面有太多这样的东西 坚持一口大小的知识块将是获取知识的最佳方式 < / p >。

步骤4:利润:)

当我还很小的时候(11岁),我的家人搬到德国住了几年。我能够通过沉浸式学习语言——我别无选择,只能说这门语言(尽管如果我在一个可怕的情况下,我可以找到一个会说英语的人)。

我的建议是你也这样做——除非你处于绝对绝望的境地。“好吧,我刚刚删除了/etc/passwd,需要放回root”),有意识地决定尽你最大的努力使用vi。实际上,如果你愿意,学习基本知识并不需要那么长时间。

正如其他人所说,

vim-tutor

可以是一个非常好的起点,就像这幅图一样

我使用vi的主要原因是ssh(或Windows上的Putty):当你远程登录到Unix服务器时,vi总是可用的。当光标键和退格/删除键都没有映射时,它可以与VT100一起工作。

还有像VI编辑器口袋参考这样的书帮助很大。

如何强迫自己?我的建议是在这样一个工作环境中,你必须通过telnet / putting在windows中维护10个unix机器。您很快就会意识到,在*nix的多个变体上高效编辑文本的唯一方法是使用我所知道的几乎每个发行版都附带的标准编辑器。此外,当X11在新安装时没有启动时,vi是你唯一的朋友:)

编辑:我已经创建了在在线记忆重复网站flashcarddb.com上设置的抽认卡,如果你感兴趣的话…

  1. 使用诸如摩涅莫辛涅supermemo,或anki这样的间隔重复闪存卡程序,将学习和记忆新命令融入你的日常生活中。仅仅使用vim作为日常编辑器是不够的。要掌握它,你必须把这些代码储存在你的头脑中,等待它们成为手头任务的理想解决方案的时刻。
  2. 使用自定义维护.vimrc
  3. 编写或编辑一个vim插件

十多年前我在攻读硕士学位时学习了vim/vi。当时我唯一能使用的机器是Sun Sparc站(我想是Sparc 20)。vi是唯一在上面的东西。因此,您可以做的一件事是“强迫”自己卸载您拥有的任何其他编辑器!