文本编辑器,字处理器
ASCII
nano,sed
vi: Visual Interface
vim VI improved
全屏编辑器,模式化编辑器
vim 模式:
编辑模式
输入模式
末行模式
模式转化:
编辑->输入:
i. 在当前光标所在字符前面转为输入模式
a 在当前光标所在字符后面转为输入模式
o 在当前光标所在的行的下方,新建一行,并转为输入模式
I. 在当前光标所在行的行首,转换为输入模式
A 在当前光标所在行的行尾 转换为输入模式
O 在当前光标所在行的上方,新建一行转为输入模式
输入-->编辑:
esc
编辑-->末行
:
末行-->编辑
esc,
打开文件
vim /etc/inittab
vim +# 打开文件光标并跳到第#行
vim + 打开文件光标跳转到最后一行
vim +/pattern 打开文件,定位到第一次被pattern 匹配到的行
默认处于编辑模式
关闭文件
1 末行模式关闭文件
:q 退出
:wq 保存退出
:q! 不保存退出
:w 保存
:w! 强行保存
:wq == :x 保存并退出
2 编辑模式下退出
ZZ: 保存并退出
移动光标
h 移动道光标左侧一个光标 #h 向左移动#个光标
l. 移动到光标右侧一个光标 #l 向右移动#个光标
j 向下移动光标 #j 向下移动#行
k. 向上移动光标 #k 向上移动#行
w: 移动到下一个单词的词首。 #w 单词为单位移动
e: 下一个单词的词尾 #e
b: 跳至当前或前一个单词的词首. #b
行内跳转
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
行间跳转
#G 跳转到#行
G 最后一行
末行模式下直接给行号即可
翻屏
ctrl +f. 文件尾部翻-屏
ctrl +b 文件向上翻一屏
ctrl+ d. 向下翻半屏
ctrl + u. 向上翻半屏
删除单个字符
x: 删除光标所在处的单个字符
#x: 删除光标所在处的及向后的共#个字符
逐字符删除
d命令跟跳转命令组合
d0 删除到行首
d$ 删除到行尾
整行删除
dd删除光标所在行
#dd 删除光标所在行的及一下#行
末行模式下
num1,mum2d 删除num1到num2行
$最后一行
+# 光标向下的#行
粘贴命令 p
p 在当前光标的下一行粘贴
P 在当前光标的上一行粘贴
复制命令。y
同语法d
yy 复制 当前光标行
#yy 复制当前光标及下#行
先删除内容,在再换为输入模式
替换模式R
撤销命令
u 撤销
多次u 连续撤销
#u 撤销#次
还原最近一次的撤销操作 ctrl+r
可视化模式
v: 按字符选取
V:按矩形选取
查找
? 向上查找
/ 向下查找
n
N
查找并替换
末行模式下
:.,$-1s/a/A/g 当前行到倒数第二行所有的a被A替换
shell 交互
:! command
显示 取消行符号
:set nu
:set nonu
语法高亮
:syntax on
:syntax off
设置全局的设置
/etc/vimrc 全局变量
~/.vimrc 家目录下没有此文件创建即可。 局部变量