vim +行号 文件 :直接编辑指定文件的第几行
vim +/正则 :
vim -d 文件1 文件2 : 比较两个文件
vim -m 文件 : 打开文件(只读模式)
命令模式下:
k :向上
j : 向下
h : 向左
l :向右
I : 行首
a : 后移一字符,追加
A : 行尾, 追加
o : 新行追加
O : 追加新行
:!命令 : vim模式下可以查看命令
:r!命令 结果贴到当前文件下
ctrl+v+[
wc -l filename 查看文件行数
数字+指令 : 跳转到多少行
w键跳到下一个单词的词首
H: 页首
L : 页底
M : 页中间行
扩展命令下:
:2,5d 删除第2-5行
:1,3s/bin/sbin/g : 替换第1到3行之间的bin,改为sbin
:%s/查找内容/替换内容/g 全文替换
:%s/查找内容/替换内容/gc 替换前询问
行首行尾跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
行间移动:
#G 、扩展模式: # 跳转至由#指定行
G :最后一行
1G、gg 第一行
句间移动:
): 下一句
(: 上一句
段落间移动:
} : 下一段
{ : 上一段
ctrl +f 向文件尾部翻一屏
ctrl+b 向文件首部翻一屏
ctrl + d 向文件尾部翻半屏
ctrl +u 向文件首部翻半屏
字符编辑:
x : 删除光标处的字符
#x : 删除光标处起始的#个字符
xp: 交换光标所在处的字符及其后面的字符的位置
~ 转换大小写
J: 删除当前行后的换行符
替换命令
r : 替换光标所在处的字符
R : 切换成REPLACE模式
命令模式操作
删除命令
d : 删除命令, 可结合光标跳转字符, 实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0: 删除到行首
dw : 删除一个单词,包括后面的空格
de : 删除一个单词,不包括空格
db
#COMMAND
dd 删除光标所在行
#dd 多行删除
D 从当前光标位置一直删除到行尾 ,留空行 等同于d$
复制命令
y : 复制, 行为相似于d命令
y$
y0
y^
ye
yw
yb
#COMMAND
yy 复制行
#yy 复制多行
Y 复制整行
改变命令
c 修改后切换成插入模式
命令模式 —> 插入模式
c$
c^
c0
cb
ce
cw
#COMMAND
cc 删除当前行并输入新内容,相当于$
C : 删除当前光标到行尾, 并切换成插入模式
100iwang[ESC] 粘贴 “wang” 100次
Command:
y 复制、 d 删除、 gU 变大写 gu 变小写
例如 0y$ 命令意味着:
0-> 先到行头
y-> 从这里开始拷贝
$ -> 拷贝到本行最后一个字符
ye 从当前位置拷贝到本单词的最后一个字符