. 表示当前行
$ 表示行尾
0 表示行首
^ 表示行首非空白字符
% 表示所有行
- v 进入选择模式
- 选中之后
- y 复制选中内容
- d 删除选中内容
- p 粘贴选中内容
- 替换
:s/old/new/g
- y 选中区域
- yy 复制一行
- 10yy 复制
当前行之后10行
- y$ 复制到行尾
- y0 复制到行首
:1,10y 复制1-10行
- i 在光标前插入
- I 在行首插入
- a 在光标后插入
- A 在行尾插入
- o 在当前行下方插入新行
- O 在当前行上方插入新行
- x 剪切当前字符
- d 剪切一行
- D 剪切到行尾
- d0 剪切到行首
42G 跳转到42行
gg 第一行
G 最后一行
0 行首
$ 行尾
:n1,n2 m n3 将n1行到n2行之间的内容移动至到第n3行下
:n1,n2 m . 将n1行到n2行之间的内容移动至到当前行下
:n1,n2 co n3 将n1行到n2行之间的内容复制至到第n3行下
r 替换当前字符
R 替换当前字符到行尾
ctrl + a 数字自增
ctrl + x 数字自减
:s/old/new/g 替换当前行的old为new
:1,10s/old/new/g 替换1-10行的old为new
:%s/old/new/g 替换全文的old为new
:set list
# cat
# mac 下 cat -vet file.txt
cat -A file.txt
:sort
:g/^\(.\+\)$\n\1/d
# awk 去重
# 整行重复
awk '!seen[$0]++' file.txt >uniq.txt
# 根据某一个列去重,根据\t分割
awk -F '\t' '!seen[$1]++' file.txt >uniq.txt