surround

surround 插件可以快速编辑围绕在内容两端的字符(pairs of things surrounding things),比如成对出现的括号、引号,甚至 HTML/XML 标签等。

新增环绕字符

  • ys 新增环绕字符

修改环绕字符

  • cs 修改环绕字符

img

删除环绕字符

  • ds 删除环绕字符

img

基本总结

命令汇总

命令 功能
ys 添加环绕字符
yS 添加环绕字符并拆分新行
yss 为整行添加环绕字符
ySS 为整行添加环绕字符并拆分新行
cs 修改环绕字符
cS 修改环绕字符并拆分新行
ds 删除环绕字符

识别/处理目标实体

  • ( )
  • { }
  • [ ]
  • < >
  • ```
  • "
  • '
  • t(标签)
  • w(单词)

easymotion

EasyMotion 提供了一种更简单的方法来在 vim 中使用某些动作。它通过突出显示所有可能的选择并允许您按一个键直接跳转到目标,从而将 <number><number>w<number>f{char} 中剔除

跳转到单词前后位置(w/b)

  • <leader><leader>w (,,w) 向后搜索
  • <leader><leader>b (,,b) 向前搜索

GIF 2024-3-28 17-41-27

搜索跳转 (s)

  • <leader><leader>s,,s) 搜索跳转

GIF 2024-3-28 17-43-29

行级跳转 (j/k)

  • <leader><leader>j (,,j) 向下搜索
  • <leader><leader>k (,,k) 向上搜索

GIF 2024-3-28 17-45-07

行内跳转(h/l)

  • 行内搜索,向前向后跳转至单词首/尾

  • <leader><leader>h (,,h) 向后搜索

  • <leader><leader>l (,,l) 向前搜索

GIF 2024-3-28 17-50-05

sneak

vim-sneak 可以让你跳转到由两个字符指定的任何位置,它是 Vim 强大,可靠但极简的动作插件。

  • s{char}{char} : 转到下一个{char}{char};
  • S{char}{char} : 转到上一次出现的{char}{char};
  • s{char}<Enter> : 转到下一个{char};
  • S{char}<Enter> : 转到上一个{char};
  • s<Enter> : 重复最后一次跳转;
  • S<Enter> : 反方向重复最后一次跳转;
  • ; (英文分号): 转到 [count] 下一个匹配;