vim实用技巧-模式2

第三章:可视模式

  • 深入理解可视模式

:h Select-mode :选择模式(特殊的可视模式)

<C-g> 在可视模式和选择模式之间切换(提示栏不同)

  • 选择高亮选区

v, V, <C-v>, gv(重选上次的高亮选区),o(激活高亮选区的活动端)

  • 重复执行面向行的可视命令 .
  • 尽量使用操作符命令,而不是可视命令

可视模式下,. 号命令可能会有异常表现。如 vitUgUit (后者是普通模式的命令)

  • 操作表格数据
  1. 列:<C-v>3jr|
  2. 行: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>

  • 在一行或者连续多行上执行命令
  1. :{start},{end}
  2. 高亮选择之后,按:号会出现 '<,'> (高亮选区的首行和尾行)
  3. 用模式指定范围::/<html>/,/<\/html>/
  4. 用偏移对地址进行修正::/<html>/+1,/<\/html>/-1
  5. . 当前行,% 所有行
  • 复制,移动

@: 重复执行

  • 在指定范围内执行普通模式的命令
  1. jVG:'<,'>normal .
  2. :%normal A;
  3. :%normal i//
  • 重复

@:, @@

  • 补全命令

<C-d> 显示补全列表,按Tab键或者 <S-Tab> 选择

  • 把当前单词插入到命令行中

例如重命名变量:*cw{new_name}<Esc>:%s//<C-r><C-w>/g

注:<C-r><C-w> : 插入光标处的单词

  • 回溯命令历史
  1. <Up> or <Down>, <C-p> or <C-n>:移动
  2. q/ 打开查找命令行的历史窗口
  3. q: 打开Ex命令的历史窗口
  4. 在历史命令窗口通过k,j上下移动
  • 运行shell命令 !{cmd}
  1. 在命令行中,%表示当前文件名
  2. :shell or <C-z> 切换至控制台,exit or fg退出返回vim
  3. csv文件中按第二列重排文件。:2,$ !sort -t ',' -k2ggj!G 等效 :.,$!
  4. :read !{cmd}:执行命令,并把结果插入光标下方