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}:执行命令,并把结果插入光标下方