vim从入门到精通

《vi编辑器》
1.查看文件内容:cat、 head、 more、 less、 tail
2.行编辑工具:grep awk sed
3.全屏编辑工具:nano、vi、vim
4.注意:
vi和vim最大区别:vim有语法着色,会记录上次退出时候的位置
一、vi是模式化工具
三种工作模式:
0.打开文件默认是编辑模式;
1.编辑模式(只能看,不能输入内容);
编辑模式->输入模式:
i:在光标之前输入内容
I:将光标定位到行首,在行首插入数据
a:在光标之后位置写入内容
A:将光标定位到行尾,在行尾写入内容
o:在光标所在行下一行新开一行
O:在光标所在行上一行新开一行
2.输入模式(可以在文件中输入或删除内容);
输入模式->编辑模式:
末行模式->编辑模式:
ESC
3.末行模式(可以执行一些命令操作);
编辑模式->末行模式:
shift+:
(如:set nu、set ts=4)
二、常规操作
1.打开文件
vim +n file:打开文件,同时将光标定位到指定行首部
vim file:打开文件,同时将光标定位到首行首部
vim + file:打开文件,同时将光标定位到末行首部
2.关闭文件
2.1.编辑模式下关闭:
保存关闭:shift+z+z(快捷键)
2.2.末行模式下关闭:
q: 退出文件,仅仅退出没有修改的文件
w:保存文件(原地保存)
w /path/:另存功能
q!:不保存强制退出,如果文件修改过,而且没有保存(或不想保存)
wq:保存并退出
三、移动光标(编辑模式)
h (左) :n h
j (下):n j
k (上): n k
l(右):n l
逐词移动:
n w:移动到下个单词的首部
n b:移动到上个单词的首部
四、行内跳转-(编辑模式)
0:跳转到绝对行首
^:跳转到相对行首
$:跳转到行尾
五、行间跳转-(编辑模式)
n G:跳转到第n行
G:直接跳转到最后一行
六、行间跳转-(末行模式)
:n 到第n行
:$到末行
七、翻屏操作
ctrl +f下翻一屏
ctrl+b上翻一屏
ctrl+d下翻0.5屏
ctrl+u上翻0.5屏
八、删除字符-编辑模式
n x 删除n个字符
九、删除行
n d 删除n行
d$或D 删除光标到行尾的内容
d0 删除光标到行首的内容
dG 删除光标所在行个后面所有行
十一、复制和剪切
dd 删除光标所在行(剪切)或ndd
yy 复制光标所在行或nyy
十二、粘贴
p:粘贴光标所在行下一行
P:粘贴到光标所在行上一行
十三、替换
r替换一个字符
R
十四、撤销
ctrl + r 撤销撤销操作(等同于widows中ctrl+y)
u撤销操作(最多撤销之前的50次)
十五、重复之前的操作
.
十六、查找内容
/查找模式
/sea在文件中查找sea
n向下查找
N反向查找
十七、查找替换
:149,159 s/查找字符/替换字符/修饰符(g全局替换),表示将149-159行file 替换zk
如:
:149,159 s#file#zk#g
:% s/file/zk/g 表示全文检索,将file替换成zk
十八、打开多文件
vim file1 file2
:next 显示下一个文件
:prev 显示上一个文件
:qa 同时退出多个文件
:first
:second
十九、分屏显示两个文件
vim -o file1 file2 上下分屏
vim -O file1 file2 左右分屏
ctrl+w 在两个窗口之间切换
二十、从一个文件读取内容:末行模式
:r /path/file
二十一、在文件中执行bash命令-末行模式
:! common
将命令执行结果保存至打开文件中
:r ! ls
二十二、末行模式下特殊操作
set nu 行号
set nonu 无行号
set tapstop=4 缩进
set nohl 无高亮
start ,stop co dest 拷贝
start,stop d 删除
start,stop m dest 移动