vim四种模式
1.普通模式
---------------------------------------------------------------------
#1.命令光标跳转
G? ? ? #光标跳转至末端(文件的尾部)
gg? ? ? #光标跳转至顶端
Ngg? ? #光标跳转至当前文件内的N行? (指定到光标跳转至多少行) 50gg
ctrl+f? #往下翻页(行比较多)
ctrl+b? #往上翻页
$? ? ? #光标跳转至当前光标所在行的尾部? (只是跳转,并不会进入编辑模式)
^|0? ? #光标跳转至当前光标所在行的首部
#2.复制与粘贴
yy? ? ? #复制当前光标所在的行
5yy? ? #复制当前光标以及光标向下4行
p(小写)? #粘贴至当前光标下一行?
P(大写)? #粘贴至当前光标上一行
#3.删除、剪贴、撤销?
dd? ? ? #删除当前光标所在的行?
4dd? ? #删除当前光标所在的行以及往下的3行
dG? ? ? #删除当前光标以后的所有行
D? ? ? #删除当前光标及光标以后的内容?
x? ? ? #删除当前光标标记往后的字符
X? ? ? #删除当前光标标记往前的字符
dd & p? #剪贴、先删除dd(number dd),后粘贴p
u? ? ? #撤销上一次的操作
#4.替换
r? ? ? #替换当前光标标记的单个字符
R? ? ? #进入REPLACE模式, 连续替换,ESC结束
2.编辑模式(从普通模式进入到编辑模式)
i? #进入编辑模式,光标不做任何操作 (*)
a? #进入编辑模式,将当前光标往后一位 (*)
o? #进入编辑模式,并在当前光标下添加一行空白内容? (*)
-------------------------------------------
I? #进入编辑模式,并且光标会跳转至本行的头部
A? #进入编辑模式,将光标移动至本行的尾部 (*)
O? #进入编辑模式,并在当前光标上添加一行空白内容
2.vim环境变量(如果/etc/vimrc,vim同时配置环境变量,要以vim为主)
:set number? 自动设置行
:set ic ?? 查找时不考虑大小写
:set ai ?? 自动对齐
:set list ? 列出制表符
--------------------------------------------------------------------------------------
3.末行模式,主要用于搜索, 保存, 退出文件。
#1.文件保存与退出
:w? ? ? 保存当前状态
:q? ? ? 退出当前文档(文档必须保存才能退出)
:w!? ? 强制保存当前状态
:q!? ? 强制退出文档不会修改当前内容
:wq? ? 先保存,在退出 :x? ? ? 先保存,在退出
:wq!? ? 强制保存并退出
:number 跳转至对应的行号
#2.文件内容查找
/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文件中
-------------------------------------------
#5.文件内容读入
:r? /etc/hosts? #读入/etc/hosts文件至当前光标下面
:5r /etc/hosts? #指定插入/etc/hosts文件至当前文件的第五行下面
4.视图模式(从普通模式进入视图模式),主要进行批量操作(重点,难点)
shift+v 进入可视行模式,选中整行内容
? ? 1.复制:选中行内容后按y键及可复制。
? ? 2.删除:选中行内容后按d键删除。
ctrl+v? 进入可视块模式,选中需要注释的行
? ? 1.插入:按shift+i进入编辑模式,输入#,结束按两次ESC键
? ? 2.删除:选中内容后,按x或者d键删除
? ? 3.替换:选中需要替换的内容, 按下r键,然后输入替换后的内容
5.vim环境变量(如果/etc/vimrc,vim同时配置环境变量,要以vim为主)
:set number? 自动设置行
:set ic ?? 查找时不考虑大小写
:set ai ?? 自动对齐
:set list ? 列出制表符
6.vim文件比对
vimdiff 非常直观、容易看懂两个文件的不同点
diff 这个不太容易看懂