vim实用技巧-模式2
第三章:可视模式
- 深入理解可视模式
:h Select-mode
:选择模式(特殊的可视模式)
<C-g>
在可视模式和选择模式之间切换(提示栏不同)
- 选择高亮选区
v, V, <C-v>, gv(重选上次的高亮选区),o(激活高亮选区的活动端)
- 重复执行面向行的可视命令
.
- 尽量使用操作符命令,而不是可视命令
可视模式下,.
号命令可能会有异常表现。如 vitU
与 gUit
(后者是普通模式的命令)
- 操作表格数据
- 列:
<C-v>3jr|
- 行:
yypVr-
- 修改列文本
<C-v>jjeC{new text}<Esc>
- 在行尾添加文本
<C-v>jj$A;
:可视模式下,a与i无法进入插入模式
命令行模式
- 命令行模式
帮助:h ex-cmd-index
delete, yank(复制),put(粘贴到寄存器),copy(简写co,或者t),move(简写m),join(连接),mormal(执行普通模式命令),substitute(替换,简写s),global(匹配并执行指定命令)
特殊键:<C-w>, <C-u>, <C-v>, <C-k>, <C-r>
- 在一行或者连续多行上执行命令
:{start},{end}
- 高亮选择之后,按:号会出现
'<,'>
(高亮选区的首行和尾行) - 用模式指定范围:
:/<html>/,/<\/html>/
- 用偏移对地址进行修正:
:/<html>/+1,/<\/html>/-1
.
当前行,%
所有行
- 复制,移动
@:
重复执行
- 在指定范围内执行普通模式的命令
jVG:'<,'>normal .
:%normal A;
:%normal i//
- 重复
@:, @@
- 补全命令
<C-d>
显示补全列表,按Tab键或者 <S-Tab>
选择
- 把当前单词插入到命令行中
例如重命名变量:*cw{new_name}<Esc>:%s//<C-r><C-w>/g
注:<C-r><C-w>
: 插入光标处的单词
- 回溯命令历史
<Up> or <Down>, <C-p> or <C-n>
:移动q/
打开查找命令行的历史窗口q:
打开Ex命令的历史窗口- 在历史命令窗口通过k,j上下移动
- 运行shell命令
!{cmd}
- 在命令行中,%表示当前文件名
:shell or <C-z>
切换至控制台,exit or fg
退出返回vim- csv文件中按第二列重排文件。
:2,$ !sort -t ',' -k2
(ggj!G
等效:.,$!
) :read !{cmd}
:执行命令,并把结果插入光标下方