Linux下实用工具Vim常用命令总结

vi有输入和命令两种工作模式。输入模式用于输入。命令模式则是用来运行一些编排文件、存档以及离开vi等操作命令。当执行vi后,首先进入命令模式,此时输入的任何字符都被视为命令。

vi默认是命令模式,在命令模式下按i或者a进入输入模式输入模式下按esc进入命令模式

vi 后面没有加文件名,默认会开启vi,但不会自动打开任何文件,如果在vi中输入了字符,那么就需要执行w命令的时候,后面加文件名
vi 文件名,,如果文件存在,那么就打开这个文件,如果文件不存在,那么就创建这个文件,那么执行w命令的时候,就不需要再写文件名
:wq 保存同时退出,不能写成:qw

用vi打开一个文件,修改内容后,如果没有用w保存,直接用:q退出的话会提示失败。如果想不保存退出,那么用 :q!

1、使用vi新建一个文档

在Unix/Linux的终端命令主提示符下输入vi。
按下“a”键,进入输入模式,然后输入文本。
可以使用Enter键来换行,使用Backspace键删除前面的文字。
按下”r”键,替换当前光标位置字符
文本输入完成以后,按下“Esc”键切换到命令模式。
为了保存输入的内容,在命令模式下输入“:w filename”,将文本区输入的内容写文件。
在命令行模式下输入“:q”(引号内的部分)并按Enter键,退出vi,并回到shell命令提示符。

2、vi的撤销功能

和很多基于图形的编辑器一样vi也提供撤销功能,对于一个编辑器来说,提供撤销功能是必要的。用户可以在命令模式下输入“u” 就可以撤销上一次操作。 在vi中,撤销功能每一次撤销的是自上次存盘到现在输入的内容,因此撤销能够恢复到最原始的状态,但是此时用户不能使用“:q”命令来退出vi,因为此时用户已经修改了缓冲区的内容。如果确实需要退出vi程序,可以使用在命令模式下“:q!”。

3、vi的插入模式

a 光标位置右边插入文字
i 光标位置当前处插入文字
o 光标位置下方开启新行
O 光标位置上方开启新行
I 光标所在行首插入文字
A 光标所在行尾插入文字

4、退出vi

ZZ 保存退出
:wq 保存退出
:x 保存退出
:w filename 保存到指定文件
:q 退出,如果文件修改但没有保存,会提示无法退出
:q! 退出,不保存
:!命令 暂时离开iv,执行命令

5、vi的删除功能

在vi的输入模式下,用户可以使用Backspace(退格键)来删除光标前面的内容,还可以使用delete键来删除当前的字符。此外,在vi的命令模式下还提供了几个按键用来删除一个字符或进行整行删除,其热键及其功能如表所示

x 删除当前光标所在的字符
X 删除光标前一个字符
D 删除光标所在开始到此行尾的字符
dd 删除光标所在的行
dG 删除光标所在开始到文件尾的所有字符
J 合并两行

6、vi的行定位功能

Ctrl + f 向前卷动一个屏幕
Ctrl + b 向后卷动一个屏幕
G 到文件最后一行行首,G必须为大写
? 到文件最后一样行尾
mG 到指定行,m为目标行数,
set nu 显示行号
/内容 查找指定内容
set nonu 关闭行号

7、vi的文本查找功能

/字符串 查找指定字符串
n 寻找下一个
N 回到前一个
? 寻找上一个
/^字符串 查找以字符串开始的行
/字符串$ 查找以字符串结尾的行
/a.b 查找字符串a任意字符b

8、vi的文本替换功能

r 替换当前光标字符
:r 文件名 在光标当前位置载入另一个文件
:开始行号,截止行号 s /源字符串/目标字符串/g 在指定行号范围内替换字符串
1,$ s /start/end/g 从第一行开始到文件最后,将字符串start替换为end

9、vi的set指令

:set ic 搜寻时忽略大小写
:set noic 搜寻时不忽略大小写
:set nu 显示行号
:set nonu 不显示行号

你可能感兴趣的:(Linux)