学习VIM 3 编辑
Contents
编辑动词operators :
x 删除当前字符(或者选择的字符)
X 删除前面的字符
r 用另一个字符替换字符
s 替换当前字符(或者选择的字符)并进入插入模式
S 替换整行
i 进入插入模式并将cursor置于当前位置前面
a 进入插入模式并将cursor置于当前位置后面
f 查找到下一个特定字符
t 查找直到下一个特定字符前
y copy
d 删除
c 替换
v 选择
dd 删除整行
D 删除到行尾(同d$)
yy copy整行
p 在当前cursor后粘贴
P 在当前cursor前粘贴
o 在当前行下插入新行并进入插入模式
O 在当前行上插入新行并进入插入模式
u 取消最后编辑动作
. 重复最后的插入编辑改变命令
~ 转换字符的大小写
gu 转换为小写
gU 转换为大小
动作名词的修饰符号
- i inner inside
- a a(around)
- NUM 数字(1,2,…10..)
- t 查找某物在其前面停止(search until)
- f 查找(find)
- / 查找字符串(文字或正则表达式)
动作的接受者,名词:
- w,W 词(大写的W忽略词中间的标点符号,小写的认为标点也是一个词)
- b,B 前面词的开始
- e,E 词尾
- s sentence句子
- p paragraph段落
- t tag(html/xml的标签)
- b block(编程的代码块{} [] () )
- h,j,k,l 前下上后移动
- $ 行尾
- ^,0 行首
动作句子
|
|
例子:
3e 移动到第三个单词词尾
3w 移动到第四个单词词头
2G 移动到缓冲区的第二行
dw 删除到词尾
|
|
光标在第二行o 上,输入dw,输出如下
|
|
- 2dw 删除2个单词 继续使用例子句子,光标在第二行o上,输入2dw,输出是
|
|
- d2w 同样也是删除2个单词
|
|
- 2d3w 操作2遍删除3个单词的操作
|
|
vis 选择句子
vas 选择句子 包含空白符号
vip 选择段落
vit 选择tag内文本
vat 选择包含tag的文本
|
|
光标位于第一行中, 输入vis, 会选择第一行 光标位于第一行或者第二行中, 输入vip, 会选择两行整个段落
猜猜看
- dw
- daw
- dt,
- d2e
- dj
- d/test
- 2wdw
都是啥意思:)
“dot” “.” 命令
|
|
要在每行的开头加上"- “作为markdown的列表。 “^i- " ^跳到第一行开头 i插入模式, 输入 “- ” 然后ESCj^跳转到第二行行首,输入”.” 然后ESCj^跳转到第三行行首,输入"."
|
|
重复的是改变文本的编辑命令, 不会重复移动操作
上面猜一猜的回答
- dw 删除到下一个单词词首
|
|
- daw 删除本单词
|
|
- dt, 删除直到逗号
|
|
- d2e 删除2个单词到词尾
|
|
- dj 删除本行 删除下一行
|
|
在第一行中输入d2j,会删除第一行第二行,结果为:
|
|
- d/test 删除直到test
|
|
输出
|
|
- 2wdw 跳转2个单词然后删除一个单词
|
|
先跳到short,然后删除short
输出为
|
|