下面是自己在学习 vi 编辑器过程中总结的一些操作对应的命令,谨以此作为记录:
vi 学习笔记:
用vi打开要编辑的文件:[vi 文本名]
两种模式:
命令模式、插入模式
- 退出编辑模式:按键 [Esc]
- 保存文件:在命令模式中输入[:w]然后再 Enter
- 退出vi:在命令模式中输入[:q]然后再Enter
- 退出并保存:在命令模式中输入[:wq]然后再Enter
- 没有保存的文件要退出并且不希望出现警告:在命令模式中输入[:q!]然后再Enter
- 从插入模式退回命令模式:按[Esc]
- 一个字符的移动光标:在命令模式中 [h] 向左移动光标、[l] 向右移动光标、[k] 向上移动光标、[j] 向下移动光标
- 将光标移动到一行的开头:在命令模式中按 [0]
- 将光标移动到一行的末尾:在命令模式中按 [$]
- 将光标向前移动一个单词的开头:在命令模式中按 [w]
- 将光标向后移动一个单词的开头:在命令模式中按 [b]
- 将光标向前移动一个单词的末尾:在命令模式中按 [e]
- 将光标向后移动一个单词的末尾:在命令模式中按 [g]
- 向上翻一页:在命令模式中按 [Ctrl]和[u]
- 向下翻一页:在命令模式中按 [Ctrl]和[d]
- 将光标移动到文档的第一行:按 [g][g]
- 将光标移动到文档的最后一行:按 [Shift]和[g]
- 从命令模式进入插入模式:按[i] 进入 insert 模式,该模式输入的内容将添加在光标前面;也可以按[a] 进入 append 模式,该模式将在光标当前位置之后添加文本
- 在光标位置一行最前面添加文本:按[Shift]和[i] 这样光标会放在该行最前面,添加的文本就在改行最前面
- 在一行位置最后面添加文本:按[Shift]和[a] 这样光标会放在该行最后面,将会在最后面插入输入内容
- 在光标位置之前插入新的一行:按[Shift]和[o]
- 在光标位置之后插入新的一行:按 [o]
- 替换光标所在位置的单个字符:按 [r] (这种情况下删除光标的位置的字符,并进入到插入模式以便输入单个替换的字符,输入之后就会自动返回到命令模式,不需要按Esc键)
- 替换光标所在位置之后的整个单词:按 [c][w] (该按键组合将会删除光标所在位置之后的整个单词,然后进入插入模式,按 Esc 键退出)
- 删除光标所在位置的一个字符:按 [x]
- 删除一个单词:按 [d][w]
- 删除光标位置后面该行所有的字符:按 [d][$]
- 删除光标所在行整体内容:按 [d][d]
- 将光标所在行的下面一行文本向上移动到光标所在行:按 [Shift]和[j]
*剪贴、复制和粘贴* - 复制整行文本:按 [y][y]
- 复制一个单词:按 [y][w]
- 复制光标所在位置之后该行的所有内容:按 [y][$]
- 其实上面的 [x]、[d][d]、[d][w]、[d][$]这些组合键将删除的文本自动保存在缓冲区中,,相当于剪贴
- 粘贴:按键 [p]
- 撤销:按键 [u]
- 重做:按键 [Ctrl] 和 [r]
- 再次执行最后一条命令: 按键 [.]
- 正向搜索字符串:按键 [/]再加上希望搜索的字符串,然后再按Enter,按键 [n] 找下一个。
- 反向搜索字符串:按键 [?]再加上希望搜索的字符串,然后再按Enter,按键 [n] 找下一个
注意:
在命令前面加数字表示多次执行此命令
参考资料:
http://www.open-open.com/doc/view/dd438ede02204b119d9e10131fdcb1c4