四、vim高级用法配置
4.1、vim的三种模式
#vim是全球两大流行文本编辑器之一
#vim file ##直接编辑文件内容
#vim
#:wq ##文件存在
#:wq! file ##文件不存在
#vim模式:
(1)命令模式(浏览模式)
##此模式下只能对文件内容浏览
##对vim的工作方式进行设定
##不能修改文件内容
(2)插入模式 #对文件内容进行修改的模式
(3)退出模式 #结束vim程序使用到的指令
注:从命令模式进入插入模式按“i”,插入模式进入到命令模式按Esc,命令模式到退出模式:wq
vimtutor ##vim手册
##vim 命令打开vim程序在程序输入:help
4.2、vim工作的基本配置
#在命令模式下如何更改vim的工作方式
4.2.1、临时设定方式
:set nu #显示行号
注:该方式显示行号为临时,再次使用vim编辑时不显示行号,需再次设定
:set nonu #取消行号显示
:set mouse=a #鼠标可用
:set cursorline #显示光标所在行的行线
以上设置在vim file 之后< : >+< 指令 >设定
4.2.2、永久设定方式
vim /etc/vimrc ##vim配置文件,永久设定对所有用户设定有效
:set nu
vim ~/.vimrc ##永久设定仅对指定用户设定有效(用户级)
注:此设定指令为固定格式,第二种设定的设定效果在切换用户之后会消失。
4.3 搜索
/关键字##高亮显示关键字
:noh ##取消高亮显示
n ##向下匹配关键字
N ##向上匹配关键字
4.4、vim中的字符管理
4.4.1、复制
y ##复制快捷键
yl ##复制一个字母
y3l ##复制三个字母
yw ##复制一个单词
y3w ##复制三个单词
yy ##复制一行
y3y ##复制三行
4.4.2、删除
d ##删除的快捷键
dl|x ##删除一个字母
d3l ##删除三个字母
dw ##删除一个单词
d3w ##删除3个单词
dd ##删除一行
d3d ##删除3行
4.4.3、剪切
c ##剪切
cl
c3l ##剪切1个字母
cw ##剪切1个单词
c3w
cc ##剪切1整行
c3c
注: 剪切操作完毕后会进入到插入模式,如果要粘贴需要按< ESC>退出插入模式按< P >"
4.4.4、粘贴
p ##在命令模式下p表示粘贴
4.4.5、恢复
u ##恢复
4.4.6、撤销
< ctrl >+< R > ##撤销
4.5、vim可视化模式
4.5.1、批量复制粘贴
< ctrl >+< v > ##进入可视化模式< ESC >退出可视化模式
y复制,p粘贴
4.5.2、批量添加字符
步骤:
1.< ctrl >+< v > 选中插入字符所在列
2.按大写< I >进入插入模式
3.插入要写入的字符
4.< ESC >退出插入模式
4.6、批量修改字符
:%s/原字符/替换字符/g ##%表示全文的行,g表示全文的列。
例:1-5行中的:全部替换为%%
1,5s/: /%%/g
例: lp字符到halt字符之间的:全部替换成##
/lp/,/halt/s/: /##/g
4.7、vim的分屏功能
4.7.1、同一窗口分屏
< ctrl > + < w > < s > ##上下分屏
< ctrl > + < w > < v > ##左右分屏
< ctrl > + < w > <上|下|左|右> ##光标移动
< ctrl > + < w > < c > ##取消分屏
4.7.2、不同窗口分屏
(1)vim file打开一个文件之后,可以:sp打开另一个文件,以分屏的效果展示。
(2)vim -o file1 file2 #文件直接以上下方式打开,光标以+松开按上或下切换
(3)vim -p file1 file2 #文件直接以左右方式打开,:tabn切换下一个,:tanp切换上一个。
4.8、vim中快速定位光标
gg ##光标移动到文件第一行行首
G ##光标移动到最后一行
: 数字 ##光标移动到指定行
4.9、vim插入模式进入方式
i #光标所在位置插入
I #光标所在行行首插入
A #光标所在行的行尾插入
a #光标所在字符的下一个字符插入
o #光标所在行的下一行插入
O #光标所在行的上一行插入
s #删除光标所在字符插入
S #删除光标所在行插入
4.10、vim退出模式
:wq ##保存退出
:wq! ##强行保存退出,只有文件是自己的或者root用户可用
:q ##退出
:q! ##强制退出不保存
4.11、获取帮助
rm --help ##查看命令的基本用法
[] ##内容可加可不加
… ##内容个数任意
< > ##必须在命令执行时加入的元素
4.12、man获取帮助
man rm ##命令用法的详解
man -k passwd ##passwd关键字有多少级别的man
#1 命令
#2 系统调用
#3 函数库调用
#4 特殊文件(设备文件等)
#5 文件
#6 游戏
#7 特殊的包
#8 系统管理命令
#9 内核信息规则