文本编辑器vi命令
文本编辑器vi命令
1.概述
vi,是一款由加州大学伯克利分校,Bill Joy研究开发的文本编辑器
文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice,文本模式下的编辑器有vi、vim。vi和vim是我们在Linux中最常用的编辑器,。vi或vim是Linux最基本的文本编辑工具
(注意:vi是unix/linux操作系统中最经典的文本编辑器,vim是vi文本编辑器的增强版本(最大的区别是有颜色区别),只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件,也可以编辑文件;它没有菜单,只有命令,且命令繁多。)
2.作用
(1)创建或修改文本文件
(2)维护Linux系统中的各种配置文件
3.vi编辑器的工作模式
vi是一个多模式的软件,它有三种工作模式。在不同的工作模式下,它对输入的内容有不同的解释。
1). 命令模式(Command mode)
在命令模式下,输入的任何字符都作为命令来解释执行,屏幕上不显示输入内容。命令模式用于完成各种文本修改工作。
2). 输入模式(Insert mode)
在输入模式下,输入的任何字符都将作为文件的内容被保存,并显示在屏幕上。输入模式用于完成文本录入工作。
3). 末行模式(Last line mode)
末行模式也称为ex转义模式。在末行模式下 ,光标停留在屏幕的最末行,在此接收输入的命令并执行。末行模式用于执行一些全局性操作,如文件操作、参数设置、查找与替换、拷贝与粘贴、执行Shell命令等
vi编辑的格式:
vi 文件名
vim 文件名
!vim ##返回上一次编辑的文件
在文本编辑过程中,用户可以控制vi在这三种工作模式之间进行切换,完成各种编辑工作。三种模式之间的转换关系如下图所示。


如何从命令模式进入输入模式:按 a , i , o 键
如何从输入模式退回命令模式:按 ESC 键
如何从命令模式进入末行模式:按 shift 键 + 冒号引号 键
如何从末行模式退回命令模式:按 ESC 键
4.命令模式切换至输入模式
| 命令模式切换至输入模式 | 说明 |
|---|---|
| a: | 在当前光标位置之 后 插入内容 |
| i | 在当前光标位置之 前 插入内容 |
| o(小写) | 在光标所在行之 下 插入一个新行 |
| O(大写) | 在光标所在行之 **上 ** 插入一个新行 |
| A | 在所在行的 行尾 插入内容 |
| l | 在所在行的 行首 插入内容 |
5.在命令模式中基本操作
| 操作类型 | 操作键 | 作用 |
|---|---|---|
| 翻页操作 | Page Down键或 Ctrl + F | 向下翻动一整页内容 |
| Page Up键或Ctrl + B | 向上翻动一整页内容 | |
| 行内快速跳转 | Home键或^键、数字0键 | 跳转到本行的行首 |
| End键或者$键 | 跳转到本行的行尾 | |
| 行间快速跳转 | 1G或者gg | 转到文件内容的第一行 |
| G | 跳转到文件内容的最后一行 | |
| #G | 跳转到文件的第#行(#用具体的数字替换) | |
| M | 跳转到当前页的中间位置 | |
| 删除替换字符 | x或Delete键 | 删除光标处的单个字符 |
| dd | 删除光标所在行(有剪切功能) | |
| #dd | 删除光标开始的#行内容 | |
| d^ | 删除当前光标之前到行首的所有字符 | |
| d$ | 删除当前光标处到行尾的所有字符 | |
| R或Shift+r | 替换当前光标处字符 | |
| 复制 | yy | 复制当前行整行的内容到剪切板 |
| #yy | 复制当前光标处开始#行内容到剪切板 | |
| 粘贴 | p | 粘贴到光标所在行之下 |
| P(大写P) | 粘贴到光标所在行之上 | |
| 查找 | /word | 从当前光标处开始向后进行查找字符串“word” |
| ?word | 从当前光标处开始向前进行查找字符串“word” | |
| n | 定位下一个匹配的被查找字符串 | |
| N | 定位上一个匹配的被查找字符串 | |
| 撤销 | u | 撤销上次命令(可一直对回到最初) |
| U | 为对其他行进行修改默认撤回当前行编辑,对其他行进行修改只会撤回上一次操作的所在行 |
6.在末行模式中操作
| 操作类型 | 操作类 | 作用 |
|---|---|---|
| 显示行号 | :set nu(nu是number的缩写) | 在编辑器中显示行号 |
| :set nonu | 在编辑器中关闭行号显示 | |
| 保存退出 | :w | 保存修改内容 |
| :q | 退出修改内容不保存 | |
| :q! | 强制退出 | |
| :w /位置/新文件名 | 另存为其他文件 | |
| ZZ :wq :x | 保存并退出 | |
| 打开新文件 | :e+其他文件名 | 在编辑器里面在此打开一个新文件进行编辑 |
| 导入文件内容 | :r+其他文件名 | 在当前文件中进行其他文件内容的导入 |
| 文件内容替换 | :s /old/new | 替换当前行所在的第一个字符 |
| :s old/new/g | 将当前行中找到的所有字符进行替换 | |
| :#,# s/old/new/g | 从第#,#行中找到的所有的字符进行替换 | |
| :% s/old/new/g | 在全文中查找到的所有字符 进行替换 | |
| :s old/new/c | 对每个替换进行用户确认 | |
| 复制/剪切/粘贴 | :5,10 m 15 | 将5-10行的内容剪切到15行下面 |
| :5,10 co 15 | 将5-10行的内容复制到15行下面 |
vi/vim是Linux系统中常用的文本编辑器,具有命令模式、输入模式和末行模式。在命令模式下,用户可以执行文本修改命令;输入模式用于文本录入;末行模式则用于文件操作和全局命令。用户可以通过a、i、o键从命令模式进入输入模式,按ESC键返回。文章详细介绍了各种模式下的切换及基本编辑操作。
853

被折叠的 条评论
为什么被折叠?



