第七天 vim编辑器
今日内容:
1.什么是Vim
2.vi 与vim有什么关系?有什么区别
3.如何使用vim,vim四种视图
4.vim扩展知识
1.什么时vim
其实和Windows的记事本或word文档很像,都是用来编辑文档的
2.vi 与vim有什么关系?有什么区别
其实本质上没有区别,vim时vi的增强版,vi没有语法检测,语法高亮,而vim有
由于系统默认时最小安装,所以没有vim只有vi
需要使用 yum install vim -y 进行安装
3.如何使用vim,vim四种视图
小结:vim 编辑打开文件整体流程如下
1.默认打开文件处于普通模式
2.从普通模式切换至编辑模式需要使用a 、 i 、 o
3.编辑模式修改完毕后需要首先使用Esc返回普通模式
4.在普通模式输入“:”或“/”进入命令模式,可实现文件的保存于退出
PS :在vim中,无法直接从编辑模式切换到命令模式
1)Vim 普通模式
# 1. 命令光标跳转
G #光标跳转至文件末端
gg #光标转跳至文件顶端
Ngg #光标转至当前那文件的第N行
$ #光标跳转至当前光标所在行的尾部
^ | 0 #光标跳转至当前文件所在行的首部
# 2.适用于文件内容较多时
CTRL + f #向下翻页
CTRL + b #向上翻页
# 3.复制与粘贴
yy #复制当前光标所在行
5yy #复制当前光标以及向下4行
p #粘贴至光标下一行
P #粘贴至光标上一行
#4 删除、剪贴、撤销
dd #删除当前光标所在行
4dd #删除光标所在行以及向下3行
dG #删除当前光标以后所有的行
D #删除光标即光标以后的内容
x (d) #删除当前光标标记往后的字符
#删行,只能删除单个字符
u #撤销上一次的操作
dd & p # 剪贴、先删除dd或ndd 后粘贴p
5.替换
r #替换当前光标标记的单个字符
2)vim 编辑模式
编辑模式(从普通模式切换到编辑模式)
i #进入编辑模式,光标不做任何操作
a #进入编辑模式,将当前光标往后一位
o #进入编辑模式,并在当前光标下添加一行空白内容
------------------------------------------
I #进入编辑模式,并且光标会跳转至本行的头部
A #进入编辑模式,将光标移动至本行的尾部
O #进入编辑模式,并在当前光标上添加一行空白内容
3)vim命令模式
命令模式,主要是用于搜索,保存,退出文件。
#1.文件保存与退出 :
w 保存当前状态 :
q 退出当前文档(文档必须保存才能退出) :
wq 先保存,在退出
:w! 强制保存当前状态 :
q! 强制退出文档不会修改当前内容
wq! 强制保存并退出
:x 先保存,在退出
ZZ 保存退出, shfit+zz :
number 跳转至对应的行号
#文件保存
:wq 保存并退出
:wq! 强制保存并退出
#2.文件内容查找
/string #需要搜索的内容(查找) #查找string
n # 按搜索到的内容依次向下进行查找
N # 按搜索到的内容依次向上进行查找
#3. 文件内容替换
:1,5s#sbin#test#g #替换1-5行中包含sbin的内容为test :%s#sbin#test#g #替换整个文本文件中包含sbin的替换为test
------------------------------------------
#4.文件内容另存
:w /root/test.txt #将所有内容另存为/root/test.txt文件中
4)vim视图模式
视图模式(从普通模式进入视图模式),主要进行批量操作处理
shift+v 进入可视行模式,选中整行内容
1.复制:选中行内容后按y键及可复制。
2.删除:选中行内容后按d键删除。
ctrl+v 进入可视块模式,选中需要注释的行
1.插入:按shift+i进入编辑模式,输入#,结束按ESC键
2.删除:选中内容后,按d键删除
3.替换:选中需要替换的内容, 按下r键,然后输入替换后的内容
vim 扩展知识
环境变量临时生效
:set nu #显示行号
:set ic #忽略大小写, 在搜索的时候有用
:set ai #自动缩进
:set list #显示制表符(空行、tab键)
:set no[nu|ic|ai…] #取消临时设定的变量
环境变量永久生效。~/.vimrc 个人环境变量(优先级高) /etc/vimrc 全 局环境变量
# vim ~/.vimrc #当下次再打开文件自动显示行号并忽略大小写 set nu set ic
#如果个人vim环境没有配置, 则使用全局vim环境变量配置。 #如果个人vim环境和全局环境变量产生冲突, 优先使用个人vim环境变 量。
如何同时编辑多个文件
vim -o file1 file2 #水平分割 vim -O file1 file2 #垂直分割
#ctrl+ww 文件间切换
相同文件之间差异对比,通常用于对比修改前后差异
# diff #文件对比 # vimdiff #以vim方式打开两个文件对比,高亮显示不同的内容
如果VIM非正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后
#假设打开filename文件被以外关闭,需要删除同文件名的.swp文件即可 解决 # rm -f .filename.swp