VIM编辑器的日常使用

vim是著名的命令行编辑器vi的升级版,在原有的基础上上增加了一些特性进去,支持语法、关键字高亮、缩进等。

VIM的几种模式

1.命令模式

​ 在此模式下可以快速执行,文本的复制、粘贴、删除、替换等工作;默认打开文件是命令模式。

2.编辑模式

​ 普通模式下按i I a A o O r R键可进入编辑模式,左下角显示INSERT字样表示已进入编辑模式,此时可以像使用图形文本编辑器一样去使用vim

3.末行模式

​ 主要用于保存文本或退出vim编辑器

​ 命令模式可以用:[shift+;]直接进入末行模式,编辑模式进入需先按ESC 键退出编辑模式,然后输入:才能进入末行模式。
4.视图模式(可视块模式)

​ 可视化选中内容,然后可以执行命令模式的所有操作。有两种或可视模式,可是块模式和可视行模式。

可视块模式:

在命令模式进入可直接按ctrl+v,在编辑模式进入需要先按ESC退出编辑模式然后再ctrl+v

可视行模式:

在命令模式进入可直接按shift+v,在编辑模式进入需要先按ESC退出编辑模式然后再shift+v

命令模式的一些常用快捷键

快捷键 作用
h
j
k
l
gg 首行
[number] gg number行
G 尾行
yy 复制当前行
[number] yy 复制当前光标及其后的number行
p 粘贴
P 粘贴到光标上面
dd 快速删除当前行
[number] dd 删除number指定行
d g 清空
D 删除光标及光标之后的内容
u 撤销更改
x 删除当前光标后的一位
X 删除当前光标前的一位
ctrl+f 下翻页
ctrl+b 上翻页
$ 行尾
^ 行首
r 替换光标字符
R 一直替换光标位置同样的内容,直到按下ESC

编辑模式

快捷键 作用
i 直接进进编辑模式
I 在本行的头部进入编辑模式
a 在当前光标后一位进入光标模式
A 从当前行的行尾插入并进入编辑模式
o 从光标当前行的行尾插入新行并进入编辑模式
O 在当前光标行行首插入新行并进入编辑模式

注: 若打开文件时指定vim +[number] filename的话,则打开文件即可跳转到number指定的行 。

末行模式(😃

命令 行为
r [PATH] 导入PATH指定文件的内容
num r [PATH] 将PATH指定文件的内容导入到num行
w 写入文件
w! 强制写入
w [PATH] 写入PATH指定的路径文件(另存为...)
num1,num2 w [PATH] 指定行另存为
q 退出VIM
q! 强制退出但不保存
wq 写入并退出
wq! 强制写入并退出
x 先保存,再退出
X 加密文档
shift+zz 保存并退出
[number] 跳转到number行
/[str] 搜索str指定的内容,n按搜索内容一次向后查找,N向前
num1,num2s#str1#str2# 替换num区间内的str1为str2,只替换行里第一个出现的str1
num1,num2s#str1#str2#g 替换num区间内的所有str1为str2
%s#str1#str2#g 替换全局内的所有str1为str2
%s#str1#str2#gc 全局替换,交互式
nohl 禁止高亮(搜索后,关键字会一直保持高亮,可以用此命令关闭)
设置VIM的环境变量

命令模式,临时生效

变量 作用
set nu 开行号
set nonu 关行号
set ic 忽略大小写
set noic 检查大小写
set list 显示制表符(,$I等)
set nolist 不显示制表符
set ai 开自动缩进
set noai 关闭自动缩进

可将变量存入配置文件,/etc/vimrc影响全局(未存在个人配置时,默认),用户目录的.vimrc文件内的变量仅对当前用户生效!如果存在,会影响默认全局变量对当前用户的默认配置!因为用户目录下的这个自定义的配置比全局配置优先级较高

视图模式(V模式、可视块模式)

可搭配命令模式的快捷键执行块操作
快捷键 行为
ctrl+v 选中区间行或区块,up``down``left``righth\j\k\l移动光标区域
shift+i 进编辑模式插入指定内容,按ESC键就替换了选中的内容
shift+v 按行选择内容,选择区间行,可执行复制y删除d

其它特性

1.同时打开多个文件
vim -o file1 file2							#水平式,同时打开两个文件

shuiping.jpg

vim -o file1 file2							#垂直式,同时打开两个文件

chuizhi.png

ctrl+ww可在窗口间切换

2.对比文件,比diff命令更直观
vimdiff file1 file2						#以vim方式打开比对,高亮显示不同之处

vimdiff.png

posted @ 2019-04-07 12:55  喝茶,吃瓜  阅读(207)  评论(0编辑  收藏  举报