MeiK / VIM 实战
Created 2018-07-04 Modifyed 2018-07-04

213 Words

贴几个我自己平时使用 vim 时的需求和解决方案

在一个文件中的每一行前后添加 "

解决方案

<esc>gg<c-v>GI"<esc><c-v>G$A",<esc>

1.gif

解析

  1. <esc>gg, 进入编辑模式且定位至文件开头
  2. <c-v>, 代表 ctrl + v ,选择区域块
  3. G, 使区域块包含到文件最后一行
  4. I", 在光标前插入 ", 注意: 在区域选择模式下, 只能使用 IA, ia 没有效果
  5. <esc><c-v>G$A",, 类似 1 - 4, 使用 $ 移动到行尾, A 在光标后插入
  6. <esc>, 回到 Normal 模式

指定区间替换字符串

解决方案

<esc>:46<enter>v12<enter>:s/<from>/<to>/g

2.gif

解析

  1. <esc>:46<enter>, 移动到区间开头
  2. v12<enter>, 区间选择, 到 12 行之后
  3. :, vim 自动补全为 :'<,'>
  4. s/<from>/<to>/g, 指定字符串, 全部替换. 注意: from 字符串为正则表达式