vi模式
基本命令
- 撤销编辑:按esc退出编辑模式后,按“u”键撤销
行号
- :set nu
(显示行数) - :set no
(取消行数显示)
剪切(删除)
- x
(剪切当前字符) - 2x
(剪切字符及其后一个字符) - dd
(剪切光标所在行) - d$
(剪切光标所在位置到行尾) - do
(剪切光标所在位置到行首) - d^
(剪切光标位置到文本行的第一个非空字符) - dW
(剪切从光标位置到下一个单词的开头) - 2dd
(剪切2行) - dG
(剪切当前行到文件末尾) - d10G
(剪切当前行到文件的第20行)
复制
- yy
(复制光标所在行) - y$
(复制当前光标所在的位置到行尾) - y^
(复制当前光标所在的位置到行首) - 2yy
(复制2行)
粘贴
- p
查找
- /abc
(查找abc) - n
(查找下一个abc)
替换
- :s/abc/efg/
(替换当前行第一个abc为efg) - :s/abc/efg/g
(替换当前行所有abc为efg)
- :n,$s/abc/efg/
(替换第n行开始到最后一行中每一行的第一个abc为efg) - :n,$s/abc/efg/g
(替换第n行开始到最后一行中每一行所有abc为efg)
注:n为数字,若n为. ,表示从当前行开始到最后一行
- :%s/abc/efg/
(等同于 :g/abc/s//efg 替换每一行的第一个abc为efg) - :%s/abc/efg/g
(等同于 :g/abc/s//efg/g 替换每一行中所有的abc为efg)