VIM编辑器的日常使用

vim是Linux下的的一个功能强大的文本编辑器,从著名的文本编辑器vi衍生而来,在原有的基础上上增加了一些特性进去,支持语法、关键字高亮、缩进等。

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

快捷键 作用
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+l 上翻页
$ 行尾
^ 行首
r 替换光标字符
R 一直替换光标位置同样的内容,直到按下ESC

编辑模式

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

末行模式(:)

命令 行为
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

注: 总结日常学习的常用命令,本文参考了徐亮伟导师的资料后整理而来,此处可移至他的博客;VIM完整的命令及用法请自行参考手册.

猜你喜欢

转载自www.cnblogs.com/tea-melon/p/10664990.html