008-linux shell vim使用
一、概述
vi: Visual Interface 可视化接口
vim: VI iMproved VI增强版
全屏编辑器,模式化编辑器
vim模式:
- 编辑模式(命令模式)
- 输入模式
- 末行模式
模式转换:
编辑-->输入:
i: 在当前光标所在字符的前面,转为输入模式;【常用】
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
输入-->编辑:按 ESC
编辑-->末行:按 :
末行-->编辑:按 ESC, ESC
注:输入模式和末行模式之间不能直接切换
二、命令操作
1、打开文件
vim aa.txt
2、保存或退出:末行模式关闭文件:【按 ESC 键,然后输入 : 跳到末行模式】
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi 桶 :x
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
编辑模式下退出
ZZ: 保存并退出
3、删除:非编辑模式下【按ESC键 跳到命令模式,然后:】
dd:删除游标所在的一整行(常用)
ndd:n为数字。删除光标所在的向下n行,例如20dd则是删除光标所在的向下20行
d1G:删除光标所在到第一行的所有数据
dG:删除光标所在到最后一行的所有数据
d$:删除光标所在处,到该行的最后一个字符
d0:那个是数字0,删除光标所在到该行的最前面的一个字符
x,X:x向后删除一个字符(相当于[del]按键),X向前删除一个字符(相当于[backspace]即退格键)
nx:n为数字,连续向后删除n个字符
4、翻屏
Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
5、撤消编辑操作 u
u:撤消前一次的编辑操作
#u: 直接撤消最近#次编辑操作
连续u命令可撤消此前的n次编辑操作
撤消最近一次撤消操作:Ctrl+r
6、可视化模式
v: 按字符选取 V:按矩形选取
7、查找
/PATTERN 或 ?PATTERN
n 下一个 N 上一个
8、查找并替换
在末行模式下使用s命令
headline,footlines#PATTERN#string#g
1,$:表示全文
%:表示全文
9、
三、其他扩展
1、显示或取消显示行号
:set nu
:set nonu
mu = number
2、显示忽略或区分字符大小写
:set ic
:set noic
ic = ignorecase
3、设定自动缩进
:set ai
:set noai
ai = autoindent
4、查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch
5、语法高亮
:syntax on
:syntax off
注:特性当前有效,如果想要永久有效需修改配置文件
/etc/vimrc 针对所有用户
~/.vimrc 针对当前用户