第一次编辑

下一个章节展示了怎样编辑你的文件。通过这个过程,你学习到你一你使用Vim知道的基本的命令。在此次课程的最后,你将会知道怎样编辑 -- 不是最快的,不是最有效的,但是足以工作了。

插入文件

为了键入文本,你需要切换为插入模式。键入i, 注意到屏幕左下角变成了--INSERT--(表示你处于插入模式)。

现在输入一些文件。不要担心你会犯错误;你可以稍后改正他。输入下面的程序员的打油诗:

A very intelligent turtle
    Found programming UNIX a hurdle
    The system, you see,
    Ran as slow as did he,
And that's not saying much for the turtle.

在你完成输入之后,敲<Esc>键。表示符--INSERT--表示符消失了并返回成命令行模式。

你的屏幕现在看起来像Figure1.3.

摆脱困惑

问题的其中之一是对Vim的模式的困惑,造成这样的原因是你忘记了你现在处于哪个模式或意外的键入了一个命令切换了模式。返回正常的模式,无论你处于哪种模式,键入<Esc>键。

左右移动

在你返回命令模式后,你可以使用以下按键左右移动:h(left), j(down), k(up), and l(right)。第一个,这些命令可能是随机选择的。在这之后,有可能有人会想为什么使用l来向右移动?但实际上,这有一个对于这些选择的最好的选择:移动光标是最通常的东西在你使用编辑器工作时,这些键在你右手的home row.换句话说,这些命令被放在了你可以最快速的键入他们的地方。

注意:

你也可以使用方向键来移动作的光标。如果你这样做了,然而,你会显著的放慢你编辑的速度--因为为了键入方向键,你必须要把你的手从文本区移动到方向键。试想一下你可能在一个小时之内做几百次这样的动作,这可能会花费掉大量的时间。如果你想有效率的编辑,使用h,j,k和l。

也因为,一些键般没有方向键,或者把他们放在不常用的位置;

因此,了解使用这些键会在这些情况下帮助你。

一种记忆这些命令的方式是h在左边,l在右边,j是下,k是上。另一种记忆这些命令的方式是复制这些信息到对应的位置关系并且把他放在你显示器的旁边直到你记住了怎样使用这些命令。

Deleting Characters

要删除一个字符,把光档移动到这个字符止并且键入x(这是一种倒退到旧的打字机,通过键入xxxx来删除东西。)

把光标移动到第一行的开始,并且键入xxxxxxxx(8个x)来删除这行开始的8个字符。Figure1.4展示了结果。输入改正的信息,键入iA young .开始插入(i键),插入了单词A young,然后退出了插入模式(the final ). Figure1.5展示了结果。

注意

Vim是一个文本编辑器。默认情况下,他不会包裹文本。你必须通过键入<Enter>键。如果你没有这样作并且保持键入当你到达右边时,你所作的是插入了一个很长的行到编辑器中。你并不会自动的换到下一行。为了换行,你需要键入<Enter>键(这是默认模式的操作。你可以配制Vim编辑器来包裹单词,像11章讨论的 “处理文件文件”)

Undo and Redo

假设你删除了大多。然而,你需要在一次键入,较容易的方式存在。u命令撤销你最后的编辑。 来观看此次操作。移支指针到第一行的A.现在键入xxxxxxx来删除A young.结果像下面展示的:

intelligent turtle

键入 u 撤销你最后删除。删除的g,撤销重新保存了这个字符。

g intelligent turtle

下一个 u 撤销重新保存你倒数第二个删除的字符

ng intelligent turtle

下一个 u返回给你u,等等:

ung intelligent turtle
oung intelligent turtle
young intelligent turtle
 young intelligent turtle
A young intelligent turtle

如果你撤销了太多次,你可以输入CTRL-R(redo)来反转前面的命令。换句话说,你撤销撤销

为了看见此操作的影响,输入CTRL-R两次。字符A和其后的空格消失了。

young intelligent turtle

There's a special version of the undo command, the U(undo line) command. The undo line command undoes all the changes made on the last line that was edited. Typing this command twice cancels the preceding U.

注意

如果你是一个老的 Vi 使用者, note that the multilevel undo of Vim differs significantly from the single level available to a Vi user.

注意

在本书中我们假定你已经关闭了Vi 兼容(Vi 兼容模式禁止了许多Vim的先进特性为了兼容Vi)。这个特性在Unix用户创建$HOME/.vimrc文件后自动关闭了。对于Microsoft Windows,在安装时关闭(如果是兼容被打开了,v命令提供了one level of undo.)

Getting Out

为了离开,使用ZZ命令。此命令保存文件并退出。

不像其他编辑器,Vim不会自动制作一个备份文件。如果你键入ZZ,你的更改被提交没有方法返回了。(你可以配置Vim编辑器来产生备份文件,像在14章"File Recovery and Command-Line Arguments"讨论的一样)

丢弃改变

一些时候你将会作了一系列的改变并突然意识到刚开始的时候是最好的。不要担心;Vim有一个“退出-把改变的东西抛弃”的命令。他是:q!

对于你感兴趣的一些细节,此命令的三个部分是分号(:),是一个输入命令的模式;q命令,告诉编辑器退出;和强制命令修饰符(!)。强制命令修饰符是需要的因为Vim会不情愿的抛弃改变的东西。因为这是命令模式的命令。你需要键入<Enter>来完成它(所有的命令模式命令要有<Enter>在最后。这没有在文本中展示)。

如果你仅键入了:q, Vim将会展示下面的错误信息并拒绝退出:

No write since last change(use ! to override)

通过指定强制,你告诉Vim, "我知道我正在做的看起来有点傻,但我是一个大男孩了并且我真的想这样作"。

results matching ""

    No results matching ""