vim option file...
+# 打开文件后,让光标处于第几行行首,+默认行尾
+/pattern 打开文件后,光标处于第一次匹配到pattern的行首
-b file 二进制打开
-d file1 file2 比较不同
-m file 只读,不能修改
ex file or vim -e 进入扩展模式
:%!xxd 转换为可读16进制
:%!xxd -r 换回二进制
vim file1 file2 ...
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 退出所有
:wqall 保存并退出所有
vim -o|O file1 file2
o 水平分割
O 垂直分割
Ctrl+w 窗口切换
3种模式
nomal命令模式————i————>insert插入模式————Esc————>nomal命令模式
nomal命令模式————:————>extend扩展模式————Esc/Enter————>nomal命令模式
nomal命令模式————v————>visual可视化模式————v————>nomal命令模式
i 在光标所在处插入
o 光标下方添加新行
O 光标上方添加新行
:q 未修改,退出
:q! 不保存,退出
:wq = :x 保存退出
:w 存盘
w file 当前内容写入file
r file file内容读入当前
!cmd 执行命令
r!cmd 读入命令的输出
^ 跳至行首非空白字符
0 行首
$ 行尾
G 最后一行
1G = gg 第1行
#G 第几行
Ctrl+b 向首部翻一屏
Ctrl+f 向尾部翻一屏
Ctrl+u 首部翻半屏
Ctrl+d 尾部翻半屏
dd/yy/cc 删除/复制/删除所在行
#dd/#yy/#cc 删除/复制/删除几行
d$/y$/c$ 删除/复制/删除到行尾
d0/y0/c0 删除/复制/删除到行首
d^/y^/c^ 删除/复制/删除到非空白字符
x 删除字符
~ 大写<——>小写
J 删除当前行后的换行符
r/R 替换光标所在处字符 replace模式
p 粘贴所在行下方/后面
P 粘贴所在行上方/前面
0y$
0gU$
gU 变大写
gu 变小写
100iwang[Esc] 粘贴wang100次
扩展模式(:)
地址定界
#,# 第几行——>第几行
#,+# (2,5)=(2,+3)
. 当前行
$ 最后1行
.,$-1 当前行——>倒数第2行
% 全文
1,$ 全文
/pattern1/,/pattern2/ 第1次匹配pattern1的行——>第1次匹配pattern2的行
#,/pattern/
/pattern/,$
查找
/pattern 当前——>文件尾部
?pattern 当前——>文件首部
查找替换
s/查找内容/替换内容/修饰符 / or # or @
后项引用 \1 \2 ...
& 引用前面查找时找到的整个内容
修饰符
i 忽略字符大小写
g 全局替换
gc 全局替换,替换前询问
可视化模式
v 面向字符
V 面向行
Ctrl -v 面向块
定制特性
永久有效
/etc/vimrc 全局
~/.vimrc 个人
行号 set nu ≠ set nonu
自动缩进 set ai ≠ set noai
高亮搜索 set hlsearch ≠ set nohlsearch
忽略字符大小写 set ic ≠ set noic
文件格式 set fileformat=dos/unix 启用windows/linux格式
:help option -list 查看帮助
颜色vim
^[[31mred color^[[0m 字颜色red color
^[[43;31mred color^[[0m 背景颜色
键盘输入注意:^[ = ctrl+v+[
脚本
vim color.sh
#!/bin/bash
echo "^[[43;31mred color^[[0m" or echo "^[[31mred color^[[0m"
网友评论