VIM
1.什么是vim
vim是linux用来编辑文件的,跟windows的记事本很像
2.vi和vim的关系,有什么区别
本质上vi与vim没什么区别,vim是vi的增强版,vi没有语法检测,语法高亮,而vim有
由于系统默认最小化安装,没有vim,需要安装包
yum install vim -y
3.如何使用vim,vim的四种模式
普通模式,编辑模式,命令模式,视图模式
普通模式
1.命令光标跳转
G 光标跳转至末端
gg 光标跳转至顶端
Ngg 光标跳转至第几行
$ 光标跳转至行尾
^|0 光标跳转至行首
-----------------------------------------------------
2.翻页
Ctrl+f 向下翻页
Ctrl+b 向上翻页
-----------------------------------------------------
3.复制与粘贴
yy 复制当前光标所在行
5yy 复制当前光标所在行及向下4行
p 将内容复制到光标所在下一行
P 将内容复制到光标所在上一行
-----------------------------------------------------
4.删除,剪贴,撤销
dd 删除光标所在行
5dd 删除光标所在行及向下4行
dG 删除当前光标之后的所有行
D 删除当前光标及光标以后的内容
x 删除当前光标记住后的字符
X 删除当前光标记住前的字符
dd & p 剪贴,先删除后粘贴
u 撤销上一次的操作
---------------------------------------------
5.替换
r 替换当前光标选中的单个字符
R 进入REPLACE模式,连续替换,按esc结束
2.编辑模式
i 进入编辑模式,光标不进行任何操作
a 进入编辑模式,光标跳转至下一位
o 进入编辑模式,光标跳转至向下新一行
I 进入编辑模式,光标跳转至行首
A 进入编辑模式,光标跳转至行尾
O 进入编辑模式,光标跳转至向上新一行
3.命令模式,主要用于搜索,保存,退出文件
1.文件保存与退出
:w 保存当前状态
:w! 强制保存当前状态
:q 退出当前文档(文档必须保存才能退出)
:wq 保存退出
:wq! 强制保存退出
:x 先保存,在退出
zz shift+zz 保存退出
:number 跳转至相应行号
-----------------------------------------------
2.文件内容查找
/string 查找需要的内容
n 按搜索到的内容向下查找
N 按搜索到的的内容向上查找
-----------------------------------------------
3.文件内容替换
:n,ns#...#...#g 将n-n行中的...替换为...
:%s#...#...#g 将整个文本中的...替换为...
%s#...#...#gc 替换内容时提示是否要替换
-----------------------------------------------
4.文件内容另存
:wq /root/文件名 将所有内容另存为到/root/文件名 中
-----------------------------------------------
5.文件内容读入
:r /etc/hosts 读入/etc/hosts文件至往前光标下面
:nr /etc/hosts 指定插入/etc/hosts文件至当前文件的第几行下面
4.视图模式
主要进行批量操作
ctrl+v 进入可视块模式,选中需要注释的行
1.插入: 按shift+i进入编辑模式,输入,结束按esc键
2.删除: 选中内容后,按x或者d键删除
3.替换: 选中需要替换的内容,按r键,然后输入替换后的内容
-----------------------------------------------
shift+v 进入可视行模式,选中整行内容
1.复制: 选中后按y复制
2.删除: 选中后按d删除
3.VIM扩展知识
1.环境变量临时生效
:set nu 显示行号
:set ic 不区分大小写
:set ai 自动缩进
:set list 显示制表符(空行,tab键)
:set no[..|..|..] 取消临时设定的变量
2.环境变量永久生效。~/vimrc 个人环境变量(优先级高)/etc/vimrc 全局环境变量
vim ~/.vimrc 当下次再打开文件自动显示行号并忽略大小写
set nu
set ic
如果个人vim环境没有配置,则使用全局vim环境变量配置
如果个人vim环境与全局vim环境变量产生冲突,优先使用个人vim环境变量配置
3.如何同时编辑多个文件
vim -o file1 file2 水平分割
vim -O file1 file2 垂直分割
Ctrl+ww 文件间切换
4.相同文件之间差异对比,通常用于对比修改后的差异
diff 文件对比
vimdiff 以vim方式打开两个文件的对比,光亮显示不同的内容
5.如果vim非正常退出(ctrl+z)挂起或强制退出终端没关闭vim后
假设打开filename文件被意外关闭,需要删除同文件名的.swp文件即可解决
rm -f .filename.swp