Linux 之 Vim 命令使用(详细总结)
1.vim 编辑器简介
vim 是一个全屏幕纯文本编辑器,是 vi 编辑器的增强版。你可以利用别名让输入 vi 命令的时候,实际上执行 vim 编辑器
2.vim的工作模式
vim一共有三种工作模式:
1.命令模式
2.输入模式
3.末行模式
3.保存退出命令
末行模式:
:w 作用:保存当前文件。
:wq 或 :x 作用:保存并退出 Vim。
:q 作用:退出 Vim。
:q! 作用:强制退出 Vim,不保存修改。
示例:
:q!
说明:强制退出 Vim,不保存当前文件的修改。
4.光标移动命令
1.上下左右移动
h 光标向左移动一个字符
j 光标向下移动一行
k 光标向上移动一行
l 光标向右移动一个字符
2.常用的命令
gg 将光标跳转到文件的第一行
G 将光标跳转到文件的最后一行
10G 跳转到指定行号的行,将光标跳转到第 10 行
0 将光标移动到当前行的开头
$ 将光标移动到当前行的末尾
^ 将光标移动到当前行的第一个非空白字符
g_ 将光标移动到当前行的最后一个非空白字符
5.编辑命令
5.1 常用
i 进入插入模式,在当前光标位置插入文本
dd 删除光标所在的一整行
10dd 从当前行开始向下删除10行
yy 复制光标所在的一行文本
10yy 复制光标所在的10行文本
p 粘贴复制的文本到光标所在位置的下一行
u 撤销上一次的编辑操作
ctrl+r 重做上一次撤销的编辑操作
5.2 少用
a 进入插入模式,在当前光标后插入文本
小写o 进入插入模式,在光标所在行的下一行插入文本
大写O 进入插入模式,在光标所在行的上一行插入文本
x 删除光标所在位置的字符
D 删除从光标位置到行尾的文本
6.查找和替换命令
/查找文本 查找文件中的文本内容
/search_string
说明:查找文件中的 search_string
,按回车键后光标会移动到找到的第一个匹配位置。
n 查找下一个匹配项
N 查找上一个匹配项
:set ignorecase: 在查找时忽略大小写。
:set noignorecase: 在查找时区分大小写。
:set hlsearch: 高亮显示所有匹配的查找结果。
:set nohlsearch: 取消高亮显示查找结果。
注意:先输入以上命令之后,再进行查找,就可以实现这个效果了
😒/旧文本/新文本/ 替换当前行中第一个匹配的旧文本为新文本
:s/old/new/
说明:将当前行中第一个匹配的 old
替换为 new
:%s/旧文本/新文本/g 替换整个文件中所有匹配的旧文本为新文本
:%s/old/new/g
说明:将整个文件中所有匹配的 old
替换为 new
7.可视模式命令
小写v 进入普通可视模式,可以选择任意文本
大写V 进入行可视模式,可以选择整行
crtel+v 进入块可视模式,可以选择列块
以上选中文本,可以配合以下命令进行操作
y 复制选中的文本
d 删除选中的文本
c 修改选中的文本,进入插入模式
8.其他常用命令
经常用
:set nu 在编辑器中显示行号
:set nonu 在编辑器中隐藏行号
:w! 强制保存文件,即使文件是只读的
较少用
:help 打开 Vim 的帮助文档,查看详细的命令和用法
:version 查看 Vim 的版本信息
:r file 读取文件内容并插入到当前文件中
:r file.txt
说明:读取 file.txt
的内容并插入到当前文件中
:sp file 在当前窗口中打开文件
:sp file.txt
说明:在当前窗口中打开 file.txt
:vsp file 在垂直分割的窗口中打开文件
:vsp file.txt
说明:在垂直分割的窗口中打开 file.txt
:tabnew file 在新标签页中打开文件
:tabnew file.txt
说明:在新标签页中打开 file.txt
:tabclose 关闭当前标签页
:tabnext 切换到下一个标签页
:tabprevious 切换到上一个标签页
:tabmove +n 将当前标签页移动到第 n 个位置
:tabmove +1
说明:将当前标签页移动到第 1 个位置。
:tabmove -n 将当前标签页移动到倒数第 n 个位置
:tabonly 关闭除当前标签页外的所有标签页
:tabfirst 切换到第一个标签页
:tablast 切换到最后一个标签页
:tabnext n 切换到第 n 个标签页
:tabnext 2
说明:切换到第 2 个标签页
:tabprevious n 切换到倒数第 n 个标签页