Henry Henry
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)

Henry

小学生中的前端大佬
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)
  • 说明
  • Vim

    • 环境准备
    • vim normal 模式中文输入法切换问题
    • vim-01-存活下来
    • vim-02-掌握行相关的命令
    • vim-03-掌握 vim 的语法
    • vim-04-更有效率的处理单字符&undo&redo
    • vim-复习 -1
    • vim-05-掌握可视化模式
    • vim-06-文本对象
    • vim-07-在单文件中移动的更快
    • vim-08-掌握搜索命令
    • vim-复习 -2
      • 可视化模式
      • 文本对象
        • 对象
      • 单文件移动
      • 搜索
      • 其他
      • 社群讨论
    • vim-09-更高效的移动 - 想去哪里就去哪里
    • vim-10-认识数字&点的威力
    • vim-11-掌握多文件之间的跳转
    • vim-12-处理包裹字符的符号
    • vim-复习 -3
    • vim-13-替换字符
    • vim-14-掌握悬浮显示&大小写&注释
    • vim-15-掌握窗口的管理
    • vim-16-删除函数
    • vim-复习 -4
    • vim-17-掌握宏
    • vim-18-调用 vscode 的命令
    • vim-复习 -5
  • VSCode

  • Chrome

  • iTerm

  • mac

  • Obsidian

  • lazygit

  • 学习双拼
  • Vim 技巧

  • 键盘侠
  • Vim
Henry
2022-06-10
目录

vim-复习 -2

# 可视化模式

  • v: 基于字符的可视化选择
  • V: 基于行的可视化选择
  • C+v: 基于块的可视化选择,多用于处理多行文本
  • o: 切换可视区域光标的起始/终止位置,只在选择了多行后生效
  • gv: 回到上一次选中的选择区域

选中 + 操作,如 ved

使用 V 或者 C+v 选择多行后,可以配合 A 或者 I 进行多行编辑

配合 c 来删除并插入

# 文本对象

  • operator + 内/外部 + 文本对象

  • 可视化模式 + 内/外部 + 文本对象

  • i: 内部

  • a: 外部

# 对象

  • w: 一个单词。内部:单词本身,外部:单词本身 + 左右空格,优先右空格
  • (/)/b: 一对 ()。内部:括号内部,外部:括号及括号内部
  • [/]: 一对 []。内外部同 ()
  • {/}/B: 一对{}。内外部同 ()
  • </>: 一对<>。内外部同 (),操作 html 标签
  • t: html 文本。
  • ': 一对单引号。内外部同 ()
  • ": 一对双引号。内外部同 ()
  • `: 一对反引号。内外部同 ()
  • s: 一个句子,以 .!? 结尾
  • p: 一个段落,以空行分隔,内部选中该段落,外部还会选中下面的空行

vim-textobj-arguments(选择函数参数):

  • ia: 不包含分隔符
  • aa: 包含分隔符

技巧:

  • cia: 修改一个参数
  • daa: 删除一个参数

vim-textobj-entire:

  • ae: 删除当前文本所有内容
  • ie: 删除当前文本所有内容,不包含前后空格

# 单文件移动

  • ctrl + f(forward): 向下滚动一屏

  • ctrl + b(backward): 向上滚动一屏

  • ctrl + d: 向下滚动半屏

  • ctrl + u: 向上滚动半屏

  • ctrl + e: 向下滚动一行

  • ctrl + y: 向上滚动一行

  • shift + j: 向下滚动 5 行 (需改键)

  • shift + k: 向上滚动 5 行 (需改键)

  • zz: 将当前行置于屏幕中央

  • zt: 将当前行置于屏幕顶部

  • zb: 将当前行置于屏幕底部

  • gg: 跳转到文件首

  • G: 跳转到文件尾

  • 行数 + gg/G: 跳转到指定行

# 搜索

  • f: 正向移动到下一个 char 所在之处

  • F: 反向移动到上一个 char 所在之处

  • t: 正向移动到下一个 char 所在之处的前一个 char

  • T: 反向移动到上一个 char 所在之处的后一个 char

  • ;: 重复上次的 char 查找命令

  • ,: 反转方向查找上次的 char 查找命令

  • /: 向后查 (模糊搜索)

  • ?: 向前查 (模糊搜索)

  • n: 查找下一个

  • N: 查找上一个

  • / + 上下方向键:查看搜索历史

  • *: 向后查光标所处的字符(全量匹配搜索)

  • #: 向前查光标所处的字符(全量匹配搜索)

# 其他

gh 相当于 hover

gb 批量修改

# 社群讨论

选中多段怎么选,比如 选中这两段

V + jk 吧,我没有太好的办法,我平常就这么干

上面那段 V2j,下面 VJ 再微调

Vip

这不是一段吗

加个 2 试试

可以了 2vap;2vip 有点奇怪,2vip 是这个效果 有点不懂

2vap 就是想要的效果

v2ip 是把空行算上了,一般这样不想动脑子就 V+J 选就好了


我用 /vim().t 是匹配不了这一句的

加转义符,不过你用 /vim( 就够了


昨天我用 f 行内搜索,发现搜索中文不行

f 是单行单字符搜索

明天的课学 vim-sneak 会把 f 替换掉

/会换不

不会


按键变成小下划线 怎么变回来

esc 或 ctrl [


搜方法名,我还在用 cmd + shift + o

/真的好用

其实搜方法名有个更好用的方法,command + t,在 vscode 中 试试

我擦,新世界啊,全局搜索啊

cmd + p 输入# 一样吧

一样的

我之前用 ctrl f


大佬们 这种怎么一步删除并把光标移动到上一行尾

如果这种情况非常常见的话 那么研究研究还值得 不然就正常删除吧


当自己习惯的快捷键跟 vim 冲突了该怎么办呢。比如 control+w / command + w 基本都是关闭 tab 页。但是 vim 下是切换 viewport

切换 viewport?没有发现有冲突哦

那就改习惯

好像 vscode 里面原生 vim 的 Ctrl + j 可以把后面的代码移到当前行

合并两行

是滴,不过我用的少 用的多的是格式化

所以 <Leader> 到底是什么?

自定义快捷键的意思类似

编辑 (opens new window)
#Vim
上次更新: 5/27/2023, 1:02:05 PM
vim-08-掌握搜索命令
vim-09-更高效的移动 - 想去哪里就去哪里

← vim-08-掌握搜索命令 vim-09-更高效的移动 - 想去哪里就去哪里→

最近更新
01
version 1.15
07-01
02
version 1.14
06-27
03
version 1.13
06-27
更多文章>
Theme by Vdoing | Copyright © 2017-2023 HenryTSZ | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式