作为一个没有vi经验的完整初学者,如何仅靠Vim本身学习使用Vim?有内置的教程,如何访问它?

假设我有一台装有Linux和Vim的笔记本电脑,并且没有Internet连接。

评论

在头30分钟内从vimtutor开始。在接下来的一周中继续练习。繁荣!您可以熟练使用Vim并具有所有优点。

我发现Swaroop CH的这本电子书非常有用:files.swaroopch.com/vim/byte_of_vim_v051.pdf

#1 楼

vimtutor是香草vim安装随附的程序。这是一个30分钟的教程程序,它解释了vim的基本知识。在* nix系统上,通常只需要在命令行上执行vimtutor。如果您更喜欢GUI版本,Unix也可以使用gvimtutor

在Windows上,vimtutor.bat位于$VIMRUNTIME(通常类似于C:\Program Files (x86)\Vim\vim74或类似名称)中。在Windows上,vimtutor.bat将默认为GUI vim;如果要强制使用控制台vim,请传递-console。至少在Windows 8上,您还可以从“开始”菜单中搜索“ vim tutor”(当然不带引号)以打开该tutor。

#2 楼

您可以通过上下阅读:help来学习Vim。当您输入:help时,它看起来像这样:以此类推。如果向下滚动一点,此文档列表将变为可见:

*help.txt*      For Vim version 7.3.  Last change: 2010 Jul 20

                        VIM - main help file
                                                                         k
      Move around:  Use the cursor keys, or "h" to go left,            h   l
                    "j" to go down, "k" to go up, "l" to go right.       j
Close this window:  Use ":q<Enter>".
   Get out of Vim:  Use ":qa!<Enter>" (careful, all changes are lost!).

Jump to a subject:  Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
   With the mouse:  ":set mouse=a" to enable the mouse (in xterm or GUI).
                    Double-click the left mouse button on a tag, e.g. |bars|.
        Jump back:  Type CTRL-T or CTRL-O (repeat to go further back).

Get specific help:  It is possible to go directly to whatever you want help
                    on, by giving an argument to the |:help| command.
                    It is possible to further specify the context:


使用顶部提供的导航提示(和Ctrl)跟随链接)您可以开始访问这些部分,例如,从tutor开始。
(这实际上是我最初学习Vim的方式。)

评论


这让我感到很傻,因为我从未执行过此命令。我一直使用内置的帮助。我从一个随机提示网站上学到了Ctrl-]和Ctrl-t快捷键,我认为它们很巧妙并且非常有用,并且想知道为什么我没有听说过它们.........我从来没有只运行过:help然后开始阅读。

–通配符
2015年10月11日,下午3:23

#3 楼

就像其他人提到的那样,vimtutor是一个不错的起点,还有许多其他资源可用于提高您对vim哲学的知识和理解,这不仅是出色的,而且是令人惊讶的和令人愉快的直观。
但是,我仍然想用一个例子来说明如何学习vim。

我们出生时,我们几乎没有动静,需要随身携带到需要的地方慢慢地,我们的腿和手臂会逐渐发展肌肉,并通过实践逐渐学会如何使用它们并精确地控制它们以利用它们开始爬行,以便我们自己探索周围的环境。随着我们进一步成长并发展更多的肌肉,力量和协调能力,我们开始行走,随着更多的运动,我们最终可以跑步。现在您可能会以为这就是终点,但并不是这样,当我们相当舒适地步行/奔跑至所需位置后,我们感到需要走得越来越远,意识到需要更多工具(不同的车辆)可以走得更远和更快。
学习vim IMO应该与此类似,因为您应该首先学习基础知识,然后逐步并逐步地学习更多高级模式,思想和插件,以不断改进您的工作流程。通过练习,您学到的所有东西都会被嵌入到您的肌肉记忆中,并成为第二天性,这将使您有时间学习更多的技巧并重复此循环。由于VIM仍在开发中并且正在添加新功能(还有NeoVIM),因此该过程可以永远进行下去。

在确定的时间点之后,当VIM的理念深深植根于您的肌肉记忆中时,您将不再花时间思考how做自己想做的事情,而完全专注于您真正想做的what。发生这种情况时,您会感到沮丧,因为在没有某些适当的模拟vim支持的其他应用程序/编辑器中编辑文本是多么的痛苦和痛苦。

#4 楼

您可以通过在命令行中运行vimtutor来学习基础知识。它随vim一起提供,并提供了有关其用法的基本交互式教程。

#5 楼

我主要是第二个@janos的答案。自下而上
继续在vim中独家编程
阅读Drew Neil撰写的实用Vim

在vim中进行更多编程
&c。现在要花大量时间在Vi&Vim上,以及编写VimScript。
我补充说,我选择在vim中编程会导致学习其他工具(如vimtutor:help ),以方便我编程。我还为良好的CLI工具开发了强大的价值,现在对CLI程序的质量有着直觉(提示:我总是问自己:“我可以从Vim中使用它吗?这很容易吗?”)。同样,我对vim插件的质量开发出了一种直觉:与那些试图在顶部改写其他概念的插件相比,我更喜欢那些能够增强现有行为或很好地适合vim的概念(例如,运算符和动作)的插件vim。 (这种纯粹主义并不适合所有人,甚至也不是最极端的vi(m)纯粹主义。尽管如此,它对我有用,因为我喜欢vim的语言,并且希望我的命令和插件映射在vim的上下文。)
我不生活在vim中。我住在码头(通常在tmux中)。但是我整天忙于学习vim,这对学习如何使用它有所不同。

最后一条建议:使进入vim变得容易。以下是一小段代码,这些代码一直为我提供了帮助。
Shell函数
大多数最新信息始终在我的Dotfiles中
 make 

shell变量
 javac 

Tmux绑定
# create a throwaway vim
bind-key v new-window -a vim
bind-key V command-prompt -p 'vim +' { new-window -a vim +"%%" }