首先我们先了解常用的通配符
1 . #代表当前目录,但文件名以点开头则代表隐
2 .. # 代表着上级目录
3 ~ #当前用户的家目录
4 * #所有
5 \ #转义字符
6 # #命令行是不执行命令,但会保留在history中,文件中有#代表不执行
7 $() #小括号中必须是命令,与其类似的还有 ``
8 ^ #在匹配字符的时候,以什么开头
9 $ #在匹配字符的时候,以什么结尾
10 | #将左边命令的输出,交给右边命令的输入
11 || #前者命令执行不成功,后者命令执行
12 && #前者命令执行成功,后者命令则执行
vim使用
1 vim有三种模式
第一种 普通模式
主要功能: 控制光标移动,对文本进行复制、粘贴、删除等工作
在普通模式中
光标的跳转的控制建
G #光标跳至最后一行 shift +g
gg #光标跳至文件的第一行
Ngg # 光标跳至当前文件的Number行
$ #光标跳至光标所在行的尾部
^ #光标跳至光标所在行的尾部
ctrl +f 往下翻
ctrl+b 往上翻
复制与粘贴
yy #复制当前光标所在的行
Nyy # 复制当前光标以光标的N行
p #粘贴至当前光标下一行
P #粘贴至光标当的上一行
删除 剪贴 撤销
dd #删除当前光标所在行
Ndd #删除当前光标所在的行以及往下N行
dG #删除光标以下的所有行
D #删除光标以及光标以后的内容
x # 删除当前光标标记往后的字符
X #删除当前光标标记往前的字符
u #撤销上一次的操作
替换
r #替换当前光标标记的单个字符
R #进入REPLACE模式 连续替换 ESC结束
第二种编辑模式 主要是文件内容编辑和修改
i #进入编辑模式 光标不做动作
a #进入编辑模式,将当前光标往后一位
0 #进入编辑模式 , 并在当前光标下添加一行空白的内容
I #进入编辑模式,并且光标会跳转至本行的头部
A #进入编辑模式,将光标移动至本行的尾部
O #进入编辑模式,并在当前光标上添加一行空白内容
第三种模式
命令模式 主要用于搜索,,替换 保存, 退出文件。
#1.文件保存与退出
:w 保存当前状态
:q 退出当前文档(文档必须保存才能退出)
:wq 先保存,在退出
:x 先保存,在退出
ZZ 保存退出, shfit+zz
:q! 强制退出文档不会修改当前内容(常用)
:w! 强制保存当前状态(不常用)
:wq! 强制保存并退出(忽略)
:number 跳转至对应的行号 和在普通模式下用Ngg一个意思
-------------------------------------------
#2.文件内容查找
/string #需要搜索的内容(查找)
n #按搜索到的内容依次往下进行查找
N #按搜索到的内容依次往上进行查找
-------------------------------------------
#3.文件内容替换sed 's###g'
:1,5s#sbin#test#g #替换1-5行中包含sbin的内容为test
:%s#sbin#test# #替换整个文本中每一行的第一个bin,替换为test
:%s#sbin#test#g #替换整个文本文件中包含sbin的替换为test
:%s#sbin#test#gc #替换内容时时提示是否需要替换(用的极少)
-------------------------------------------
---------------了解即可--------------------
-------------------------------------------
#4.文件内容另存
:w /root/test.txt #将所有内容另存为/root/test.txt文件中
-------------------------------------------
#5.文件内容读入
:r /etc/hosts #读入/etc/hosts文件至当前光标下面
:5r /etc/hosts #指定插入/etc/hosts文件至当前文件的第五行下面
用vim打开test.txt并显示行号
:set number :set nu
特殊模式(视图模式)
ctrl+v 进入可视块模式(单个字符)
1.批量删除开头的某个字符,比如 # x d
2.批量的添加单个字符,比如#
选中,shift+i,进入编辑模式,输入#,然后esc
3.批量的替换某个字符,比如#替换为@ r
shift+v 进入可视行模式(按行操作)
1.复制:选中行内容后按y键及可复制。
2.删除:选中行内容后按d键删除。
3.剪贴
1.环境变量临时生效
:set nu #显示行号
:set ic #忽略大小写, 在搜索的时候有用
:set list #显示制表符(空行、tab键)
:set no[nu|ic|ai…] #取消临时设定的变量
2.环境变量永久生效。~/.vimrc 个人环境变量(优先级高) /etc/vimrc 全局环境变量
# vim ~/.vimrc #当下次再打开文件自动显示行号并忽略大小写
set nu
set ic
#如果个人vim环境没有配置, 则使用全局vim环境变量配置。
#如果个人vim环境和全局环境变量产生冲突, 优先使用个人vim环境变量。
全局
开启行号
忽略大小写
个人
开启行号
不忽略大小写
4.相同文件之间差异对比,通常用于对比修改前后差异
# diff #文件对比(No)
# vimdiff #以vim方式打开两个文件对比,高亮显示不同的内容
5.如果VIM非正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后
#假设打开filename文件被以外关闭,
1.恢复编写的内容
vim filename ---->R
vim -r filename
2.如果恢复之后也保存文件了,但每次打开都提示.swp
可以选择删除该文件
vim filename ----> D
rm -f .filename.swp 删除与编辑的文件同名的文件(.filename.swp)