📄 usr_02.cnx
字号:
输入"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 ~ Note: 如果你输入 "u" 两次,你的文本恢复原样,那应该是你的 Vim 被配置在 Vi 兼容 模式了。看这里修正这个问题:|not-compatible|。 本文假定你工作在 "Vim 的方式"。你可能更喜欢旧的 Vi 的模式,但是你必须 小心本文中的一些小区别。重 做如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子,输入CTRL-R两次。字符 A 和它后面的空格就出现了: young intelligent turtle ~有一个特殊版本的撤销命令:"U" (行撤销)。行撤销命令撤销所有在前一个编辑行上的操作。 输入这些命令两次取消前一个 "U": A very intelligent turtle ~ xxxx 删除 very A intelligent turtle ~ xxxxxx 删除turtle A intelligent ~ 用 "U" 恢复行 A very intelligent turtle ~ 用 "u" 撤销 "U" A intelligent ~"U" 命令本身就是一个改变操作,"u" 命令撤销该操作,CTRL-R 命令重做该操作。有点乱吧, 但不用担心,用 "u" 和 CTRL-R 命令你可以切换到任何你编辑过的状态。==============================================================================*02.6* 其它编辑命令Vim 有大量的命令可以修改文本。参见|Q_in|和下文。这里是一些经常用到的:添 加"i" 命令在光标所在字符前面插入字符。一般情况下,这就够用了,但如果你刚好想在行尾加东西怎么办?要解决这个问题,你需要在文本后插入字符。这通过 "a" (append)命令实现。 例如,要把如下行 and that's not saying much for the turtle. ~改为 and that's not saying much for the turtle!!! ~把光标移到行尾的句号上。然后输入 "x" 删除它。现在光标处于一行的尾部了,现在输入> a!!!<Esc><添加三个感叹号到 turtle 的 "e" 后面: and that's not saying much for the turtle!!! ~开 始 一 个 新 行"o" 命令在光标下方建立一个新的空行,并把 Vim 切换到插入模式。然后你可以在这个新行内输入文本了。 假定你的光标在下面两行中第一行的某个地方: A very intelligent turtle ~ Found programming UNIX a hurdle ~如果你现在用 "o" 命令并输入新的文字:> oThat liked using Vim<Esc>结果会是: A very intelligent turtle ~ That liked using Vim ~ Found programming UNIX a hurdle ~"O" 命令(大写)在光标上方打开一个新行。指 定 次 数假定你想向上移动 9 行,你可以输入 "kkkkkkkkk" 或者你可以输入"9k"。实际上,你可以在很多命令前面加一个数字。例如在这章的前面,你通过输入 "a!!!<Esc>"增加三个感叹号。另一个方法是使用命令 "3a!<Esc>"。次数 3 要求把后面的命令执行三次。同样的,要删除三个字符,可以使用 "3x"。次数总是放在要被处理多次的命令的前面。=============================================================================*02.7* 退出使用 "ZZ" 命令可以退出。这个命令保存文件并退出。 Note: 与其他编辑器不一样,Vim 不会自动建立一个备份文件。如果你输入 "ZZ", 你的修改立即生效并且不能恢复。你可以配置 Vim 让它产生一个备份文件, 参见|07.4|。放 弃 修 改有时你会做了一系列的修改才突然发现还不如编辑之前。不用担心,Vim 有“放弃修改并退出”的命令,那就是:> :q!<别忘了按回车使你的命令生效。这个命令执行的细节是:命令有三部分,包括冒号(:),它使 Vim 进入命令模式,q 命令,它告诉 Vim 退出,而感叹号是强制命令修饰符。 这里,强制命令修饰符是必要的,它强制性地要求 Vim 放弃修改并退出。如果你只是输入":q",Vim 会显示一个错误信息并拒绝退出: E37: No write since last change (use ! to override) ~通过指定强制执行,你实际上在告诉 Vim:“我知道我所做的看起来很傻,但我长大了,知道自己在做什么。”如果你放弃修改后还想重新编辑,用 ":e!" 命令可以重新装载原来的文件。=============================================================================*02.8* 寻求帮助所有你想知道的东西,都可以在 Vim 帮助文件中找到答案,随便问! 要获得一般的帮助用这个命令:> :help<你还可以用第一个功能键 <F1>。如果你的键盘上有一个 <Help> 键,可能也有效。 如果你不指定主题,":help" 将命令显示一个总揽的帮助窗口。Vim 的作者在帮助系统方面使用了一个很聪明的方案(也许可以说是很懒惰的方案):他们用一个普通的编辑窗口来显示帮助。你可以在帮助窗口中使用任何普通的 Vim 命令移动光标。所以,h,j,k和 l 还是表示左,下,上和右。 要退出帮助窗口,用退出一个普通窗口的命令:"ZZ"。这只会退出帮助窗口,而不会退出 Vim。当你阅读帮助的时候,你会发现有一些文字被一对竖线括起来了(例如|help|)。这表示一个超级链接。如果你把光标移到这两个竖线之间并按 CTRL-](标签跳转命令), 帮助系统会把你引向这个超级链接指向的主题。(由于不是本章的重点,这里不详细讨论,Vim 对超级链接的术语是 "标签"(tag),所以 CTRL-] 实际是跳转到光标所在单词为名的标签所在的位置。) 跳转几次以后,你可能想回到原来的地方。CTRL-T(标签退栈)把你送回前一个跳转点。CTRL-O (跳转到前一个位置)也能完成相同的功能。 在帮助屏幕的顶上,有一个符号: *help.txt*。这个名字被帮助系统用来定义一个标签(也就是超级链接的目标)。 参见|29.1|可以了解更多关于标签的内容。要获得特定主题的帮助,使用如下命令:> :help {主题}<例如,要获得 "x" 命令的帮助,输入如下命令:> :help x<要知道如何删除文本,使用如下命令:> :help deleting<要获得所有命令的帮助索引,使用如下命令:> help index<如果你需要获得一个包含控制字符的命令的帮助(例如 CTRL-A),你可以在它前面加上前缀"CTRL-"。> help CTRL-A<Vim 有很多模式。在默认情况下,帮助系统显示普通模式的命令。例如,如下命令显示普通模式的 CTRL-H 命令的帮助:> :help CTRL-H<要表示其他模式,可以使用模式前缀。如果你需要插入模式的命令帮助,使用 "i_" 前缀。例如对于 CTRL-H,你可以用如下命令:> :help i_CTRL-H<当你启动 Vim,你可以使用一些命令行参数。这些参数以短横线开头(-)。例如知道要-t这个参数是干什么用的,可以使用这个命令:> :help -t<Vim 有大量的选项让你定制这个编辑器。如果你要获得选项的帮助,你需要把它括在一个单引号中。例如,要知道 'number' 这个选项干什么的,使用如下命令:> :help 'number'如果你看到一个你不能理解的错误信息,例如:> E37: No write since last change (use ! to override) ~你可以使用使用E开头的错误号找关于它的帮助:> :help E37<===============================================================================下一章: |usr_03.txt| 移动版权:参见 |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -