vi 编辑器
作用:创建或修改文本文件
维护系统中的各种配置文件
打开单个文件
vim filename
同时打开多个文件
vim file1 file2 file3
在vim窗口中打开一个新文件
:open filename
在新窗口中打开文件(纵向打开)(按Ctrl+ww切换文件)
:split filename
切换到下一个文件
:bn
切换到上一个文件
:bp
查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。
:args
打开远程文件,比如ftp或者share folder
:e ftp://192.168.10.76/abc.txt
:e \\qadrive\test\1.txt
输入模式下的命令:
a 在光标后插入
A 在光标所在行尾插入
i 在光标前插入
I 在光标所在行行首插入
o 在光标下插入新行
O 在光标上插入新行
命令模式下的操作:
4个方向键,实现光标的上、下、左、右移动
Page Down 或Ctrl+F 向下翻页
Page Up 或Ctrl+B 向上翻页
Home键、“^”、数字“00” 跳转至行首
End键 “$” 跳转至行尾
1G、gg 跳转到文件的首行
G 跳到末尾行的行首
?G 跳到第?行
x 或 Del 删除光标处单个字符
dd 删除光标所在行
d^ 删除光标之前到行首的所有字符
d$ 删除光标处到行尾的所有字符
yy 复制当前整行到剪贴板
?yy 复制从光标开始的?行
p 粘贴到光标的下一行
P (大) 粘贴到光标的上一行
r 替换光标所在字符
R 从光标处开始替换,按ESC结束
/hello 从上而下查找“hello”
?hello 从下而上查找“hello”
n 定位下一个匹配的字符串
N 定位上一个匹配的字符串
u 撤销
Ctrl+r 反向撤销
U 取消当前行的所有编辑
Shift+zz或ZZ 保存并退出
vim中有一些特殊字符在查找时需要转义 .*[]^%/?~$
:set ignorecase 忽略大小写的查找
:set noignorecase 不忽略大小写的查找
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可对该单词进行搜索,相当于/搜索。而#命令相当于?搜索。
:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
:set nohlsearch 关闭高亮搜索显示
:nohlsearch 关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
:set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
末行模式下的操作
:w 保存
:w /路径/文件名 另存为其它文件
:q 未修改退出
:q! 放弃对文件的修改,强制退出
:wq 保存退出
:n,nd 删除n到n行
:e /路径/文件名 打开新的文件进行编辑
:r /路径/文件名 在当前文件中读入其他文件内容
:!命令 直接执行命令打印到屏幕上
:r !命令 导入命令结果到光标所在处
:set nu/nonu 显示/取消行号
:syntax off/on 关闭/开启颜色显示
当一个文本编辑后没有保存时,打开新文件格式:
:e ! 路径/文件名 (强制不保存打开新文件)
:s /old/new/ 将当前行第一个“old”改为“new”
:s /old/new/g 当前行所有“old”替换为“new” (g匹配行中所有)
:n,ns /old/new/g 在行号“n,n”范围内替换“old”为“new”
:%s /old/new/g 在整个文件内替换“old”为“new”
:s /old/new/cg c命令是对每个替换动作进行确认
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
w 向后移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
b 向前移动一个单词
2b 向前移动2个单词
注释:# , // , ;
:%s /^/#/g 行首加#注释
:%s /^#/\/\//g 将#注释改为//注释
:%s /\/\//;/g 将//注释换成 ; 注释
\ 转义符
设置快捷键
:map 快捷键快捷键执行的命令
例 :map ^PI#<esc>
当输入 Ctrl+P 快捷键时,执行在首行添加#注释
例 :map ^Z I zjning95@aliyun.com
当输入 Ctrl+Z 时,在光标所在行行首插入邮箱
例 :ab mail zjning95@aliyun.com
在插入模式下,输入mail后回车,自动写入邮箱
如果想让这些快捷键永久生效,可以写入 vim 的配置文件/etc/vimrc