vim 文本编辑

概况

  • Vi/Vim 中关于编辑操作的命令也比较多,操作单位按从小到大的顺序为(括号内为相应的操作命令)
    • 字符 x、c、s、r、i、a
    • 单词 cw、cW、cb、cB、dw、dW、db、dB
    • dd、d0、d$、I、A、o、O
    • 句子 (、)
    • 段落 {、}
  • 这些操作单位有些可以加操作次数。操作对象的范围计算公式为:操作范围 = 操作次数 * 操作单位
    • d3w/3dw 命令删除三个单词
    • 10dd 命令删除十行

字符

# 删除光标位置的字符
x
# 更改当前字符并进入插入模式
c
# 替换光标位置的字符并进入插入模式
s
# 替换光标位置的字符但不进入插入模式
r
# 在当前位置的字符之前进入插入模式
i
# 在当前位置的字符之后进入插入模式
a

单词

# 删除当前单词从光标开始的部分并进入插入模式
cw/cW
# 删除当前单词从光标所在位置至单词开始的部分并进入插入模式
cb/cB
# 删除当前单词从光标开始的部分但不进入插入模式
dw/dW
# 删除当前单词从光标所在位置至单词开始的部分但不进入插入模式
db/dB
# cW、cB、dW、dB 命令操作的单词是以空白字符(空格、Tab)分隔的字串
# 比如字符串“str1-str2 str3-str4”,对 cW,cB,dW,dB 命令来说是两个单词,而对 cw、cb、dw、db 命令来说则是四个单词。

# 删除当前行
dd
# 删除以当前行开始的 n 行
ndd
# 删除从当前光标开始到行末的内容
d0
# 删除从当前光标开始到行末的内容
d$
# 在当前行的行首进入插入模式
I
# 在当前行的行尾进入插入模式
A
# 在当前行下方另起一行进入插入模式
o
# 在当前行上方另起一行进入插入模式
O

句子

# 删除当前句子从光标位置开始到句末的内容
d)
# 删除当前句子从光标位置开始到句首的内容
d(

段落

# 删除当前段落从光标位置开始到段末的内容
d}
# 删除当前段落从光标位置开始到段首的内容
d{

参考

相关