Vi: 简易教程
来源:互联网 发布:rust优化指令 编辑:程序博客网 时间:2024/05/19 15:19
让我们先打开 Vi : 此时,您会发现您面对如下窗口: 图 4.4. VIM 开始 您现在是在打开的第一个文件的最前面,并处于 命令模式 。在此模式下,您不能往文件中插入文本。要插入文本,您需要先切换到 插入模式 。 以下是一些插入文本的快捷方式: a 和 i :在当前光标前或后插入文本(A 和 I 分别在当前行行末或行首插入文本); o 和 O :在当前行下或上插入文本。 在插入模式中,您会在屏幕底部看到 -- 插入 -- 字符串(提示您所处的模式)。只有在这个模式下您才能插入文本。按下 Esc 键就能返回命令模式。 在插入模式中,您可以使用 Backspace 和 DEL 键删除文本。方向键让您能够在命令模式和插入模式下在文本中移动。在命令模式下,要移动还有其他的按键组合,我们将在下文中提及。 在命令模式下按 : 键可以进入 ex 模式。此时,屏幕左下角光标前面会出现一个 : 。Vi 会把您在 Enter 前输入的任何东西当作一条 ex 命令。如果您删除了您输入的命令和 : ,您将返回命令模式,且光标将返回到它在文本中原来的位置。 在命令模式下输入 :w 可以保存对某个文件的更改。要保存到另外的文件,请输入 :w <文件名> 。 要在从命令行上输入的各个文件之间移动,键入 :next 就能移动到下一个文件,键入 :prev 就能移动到前一个文件。您也可以输入 :e <file_name> ,如果该文件已打开则将移动到该文件,否则则打开该文件。您也可以使用补全。 同 Emacs 一样,您可以在屏幕上同时显示多个缓冲区,只要输入 :split 命令。 键入 Ctrl+w j 移到下面的缓冲区,键入 Ctrl+w k 移到上面的缓冲区。您也可以用上下方向键替换 k 或 j 。命令 :close 隐藏当前缓冲区,命令 :q 关闭当前缓冲区。 请注意,如果您要隐藏或关闭的缓冲区未曾保存修改,该命令不会执行,且 Vi 将提示: No write since last change (use ! to override) 要强制关闭或隐藏,请键入 :q! 或 :close! 。 编辑模式下,Vi 除了 Backspace 和 DEL 键,还有很多其他命令用于删除、复制、粘贴和替换文本。以下对命令的讨论分成两个部分:要执行的动作及其作用域。动作有: c :替换(Change )。编辑器删除请求的文本,并返回到插入模式。 d :删除(Delete ); y :复制(“Yank ”)。我们将在下一节讨论。 . :重复最后一次操作。 作用域定义了该命令所作用的字符。 h 、j 、k 、l :分别表示左、下、上、右边一个字符。[11 ] e 、b 、w :分别表示当前单词的末尾以及开头,和下一个单词的开头。 ^ 、0 、$ :分别表示本行的首个非空白符、当前行行首、和当前行行末。 f<x> :至下一个字符 <x> 处。例如,fe 将光标移动到下一个 e 字符处。 /<字符串> , ?<字符串> :分别表示下一个和前一个字符串或正则表达式 <字符串> 处。例如,/foobar 将光标移动到下一个单词 foobar 处。 { 、} :至本段开头和结尾; G 、H :至文件末尾,以及至屏幕开头。 上述每个“作用域 ”字符或移动命令都可以前缀重复次数。对于 G (原意为移至文件末尾),前缀表示要移动到文件中的行号。由此,您可以使用各种组合。 例如: 6b :向后移动 6 个单词; c8fk :删除直到字符 k 第八次出现处,然后进入插入模式; 91G :移动到文件中 91 行; d3$ :从当前位置删除到行末,并删除接下来的两行。 不过这些命令大都不太直观,所以最好的方法是勤加训练。不过您还是应该承认“只要轻轻几按,就一切 OK ”并非虚言。 在 Vi 中复制命令我们已经在上文中看到过了:y 命令。要剪切,只要用 d 命令。一共有 27 个剪切板位置可以保存剪切的文本:其中一个为匿名,另外 26 个以 26 个小写字符命名。 要使用匿名剪贴板,您只要“按原样 ”输入命令。因此,y12w 命令将把光标后的 12 个单词复制到匿名剪贴板[12 ] 。如果您想要剪切的话,只要输入 d12w 。 要使用 26 个命名剪贴板之一,请在命令之前输入 "<x> ,其中 <x> 给出您想使用的剪贴板的名字。因此,要将上述 12 个单词复制到剪贴板 k ,请输入 "ky12w 。要剪切,请输入 "kd12w 。 要粘贴匿名剪贴板中的内容,请使用 p 或 P 命令(意为粘贴(Paste) )。它们将分别插入到光标之后以及之前。要粘贴命名粘贴板中的内容,请用 "<x>p 或 "<x>P (例如,"dp 将把剪贴板 d 中的内容粘贴到光标之后)。 举例说明: 图 4.5. VIM,复制文本块之前 我们将: 复制该句话的前 6 个单词到(比方说)剪贴板 r :"ry6w [13 ] ; 移动到下面的缓冲区 file2 :Ctrl+w j ; 在光标前粘贴剪贴板 r 中的内容:"rp 。 我们就得到了需要的结果,如图 4.6 “VIM,复制了文本块之后” 所示。 图 4.6. VIM,复制了文本块之后 查找文本非常简单:在命令模式,您只要键入 / 接着输入想要查找的字符串,并按 Enter 键。例如:/party 会从当前光标所在位置寻找字符串 party 。按下 n 将移至下一个匹配处,到达文件末尾后会重新从开头找起。要向前寻找,请用 ? 代替 / 。 退出命令是 :q (正如我们以上所见,该命令实际上只是关闭当前缓冲区,不过如果这就是唯一打开的缓冲区,那您就将退出 Vi )。通常,您只会编辑一个文件,因此要退出,您只要键入: :wq 就能保存并退出(更快的方式是 ZZ ),或者 :q! 退出而不保存。 请注意,如果您打开了好几个缓冲区,:wq 只保存当前缓冲区并关闭它。 [11 ] 与 dl (删除下一个字符)相当的快捷键是 x ;dh 的快捷键是 X ;dd 删除当前行。 [12 ] 不过,这仅当光标位于第一个单词开头! [13 ] y6w 字面上的含义是:“复制 6 个单词 ”。插入模式、命令模式、ex 模式 ...
$ vi file1 file2
处理缓冲区
编辑文本和移动命令
剪切,复制,粘贴
退出 Vi
- Vi: 简易教程
- Vi: 简易教程
- vi简易操作说明
- 简易的vi使用法
- 简易vi指南
- vi 简易说明
- vi编辑器简易用法
- vi教程
- vi教程
- vi 教程
- vi教程
- VI教程
- 简易教程
- debian 6 vi 简易配置
- debian 6 vi 简易配置
- VI使用教程
- vi图片教程
- 简单VI教程
- linux下MyEclipse 安装
- 我是你的谁。你又是谁的谁。
- 辞职后五险一金怎么处理?
- vi编辑器命令大全
- 如何查看CentOS版本方法
- Vi: 简易教程
- VIM 使用技巧
- vim常用命令
- fedora 13 安装与配置(三)----定制与安装
- 细节和感觉[一]
- 【叶子函数分享五十】无序字符比较函数
- 寻找关键点
- 细节和感觉[二]:细节包括哪些部分?
- [抢鲜翻译]Adobe实验室新品:支持3D硬件加速以及立方贝赛尔曲线绘制的预览版运行时——Incubator