vi的基本使用
本文目录
- 使用vi的原因
- 启动、退出、保存vi
- vi的三种工作模式
- 移动光标
- 基本编辑 a.撤销命令 b.删除文本 c.剪切、复制和粘贴文本 d.合并行
- 查找和替换 a.行内搜索 b.搜索整个文件 c.全局搜索和替换
- 编辑多个文件 a.切换文件 b.载入更多的文件 c.文件之间的内容复制 d.插入整个文件
使用vi的原因:
- vi总是可用的,如果用户面前的系统没有图形界面,例如是远程服务器或者是本地系统的X配置不可用,那么vi就会成为救命的稻草。POSIX(一种UNIX系统的程序兼容标准)要求系统必须配备有vi
- vi是轻量级的软件,运行速度快。对很多任务来说,启动vi比在菜单中找到一个图形界面编辑器并等待几兆大小的编辑器载入要容易的多。另外,vi的设计还非常利于打字
- 用户不想被其他Linux和UNIX用户蔑视
启动、退出、保存vi:
启动vi:vi 新文件名
退出、保存vi:
1 | esc |
vi的三种工作模式:
如果用户阅读vi的说明文档,会困惑的发现命令模式被称为普通模式,而使用ex命令则被称为命令模式
移动光标(命令模式下):
- l或右方向键:右移一位
- h或左方向键:左移一位
- j或下方向键:下移一行
- k或上方向键:上移一行
- 数字0:至本文开头
基本编辑:
在命令模式下按u键可以撤销用户多步操作
删除文本(命令模式下):
1 | x:当前字符 |
剪切(d)、复制(y)和粘贴(p)文本:
1 | 命令d不只是删除文本,而是在剪切文本,用户每次使用d命令之后,都会复制删除的内容进缓存(类似剪贴板),然后用户就可以使用p命令将缓存中的内容粘贴到光标之后或使用P命令将内容粘贴到光标之前 |
合并行(J):vi在行的概念上非常严格,通常来说,将光标移动到行的末端并删除行的末尾字符并不能将此行与下一行合并
查找和替换:
行内搜索:命令f在行内进行搜索,并将光标移至搜索到的下一个指定字符。比如命令fa就会将光标移动到本行下一处出现字符a的地方,在执行过一次行内搜索之后,输入分号可以使vi重复上一次搜索
搜索整个文件:命令“/”可以完成对单词或短语的搜索,当用户使用“/”命令后,一个“/”符号会出现在屏幕的底部。接下来,输入需要搜索的单词或短语,以Enter结束,光标就会移动到下一处包含被搜索字符串的地方,使用n命令可以重复此搜索
全局搜素和替换:vi使用ex命令来执行几行之内或者整个文件中的搜索和替换操作
1 | :%s/Line/line/g |
编辑多个文件:
1 | vi file1 file2 file3… 打开多个文件 |
切换文件:
1 | :n下一个文件 :N上一个文件 |
当用户从一个文件切换到另一个的时候,vi要求用户必须先保存对当前文件做出的修改才能切换到其他文件。若要放弃对文件的修改并使vi强制切换到另一个文件,可在命令后添加感叹号!
1 | :buffers 查看正在编辑的文件列表 |
载入更多的文件:
1 | :e 文件名【使用此命令载入的文件不会响应:n或:N命令,而需要使用:buffer加文件编号来切换文件】 |
文件之间的内容复制:使用之前的复制粘贴命令即可
插入整个文件:
1 | :r text1 将text1文件内容插入到当前文件光标处 |