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 对“i”及“a”键的约定
      • 社群讨论
    • 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-06
目录

vim-05-掌握可视化模式

# 任务点

# 可视化模式

  • v: 基于字符的可视化选择
  • V: 基于行的可视化选择
  • C+v: 基于块的可视化选择,多用于处理多行文本

# 退出

  • Esc
  • C+[
  • v/V(不推荐)

# 导航

配合动作范围,如 ve 选择一个单词,vL 选择到行尾

v+L/H 还需要设置一下

"vim.visualModeKeyBindings": [
  {
    "before": ["H"],
    "after": ["^"]
  },
  {
    "before": ["L"],
    "after": ["g", "_"]
  }
],
1
2
3
4
5
6
7
8
9
10
  • o: 切换可视区域光标的起始/终止位置
  • gv: 回到上一次选中的选择区域

# 语法

选中 + 操作,如 ved

# 技巧

跨多行编辑:

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

配合 c 来删除并插入

复制粘贴:

选择以后,可以使用系统的复制粘贴,也可以使用 vim 的复制粘贴,相当于有两套剪切板系统

tips: 尽可能少用可视化模式,因为会增加操作步骤。比如删除一个单词,可视化:ved,正常模式:de

# Vim 对“i”及“a”键的约定

Vim 对于从普通模式切换到插入模式的命令有几个约定,i 命令和 a 命令都完成此切换,并分别把光标置于当前字符之前或之后,I 命令和 A 命令的表现类似,只是它们分别把光标置于当前行的开头和结尾。

Vim 对于从列块可视模式切换到插入模式的命令也遵从类似的约定。I 命令和 A 命令都完成此切换,并分别把光标置于选区的开头和结尾。那 i 和 a 命令呢,它们在可视模式里干什么?

在可视模式及操作符待决模式中,i 和 a 键沿用一个不同的约定。它们会被当作一个文本对象的组成部分。如果你在列块可视模式里选中了一块区域,并且很奇怪为什么按 i 键没进入插入模式,那么换用 I 键试一下。

# 社群讨论

想问一下 vscode 聚焦到编辑器、侧边栏、命令行这些的快捷键你是怎么设置的?

{
  // window move left
  "key": "left",
  "command": "vim.remap",
  "when": "vim.mode == 'Normal' && !suggestWidgetVisible && !inQuickOpen && !panelFocus",
  "args": {
    "after": ["<c-w>", "h"]
  }
},
{
  // window move right
  "key": "right",
  "command": "vim.remap",
  "when": "vim.mode == 'Normal' && !suggestWidgetVisible && !inQuickOpen",
  "args": {
    "after": ["<c-w>", "l"]
  }
},
{
  "key": "ctrl+;",
  "command": "workbench.view.explorer"
},
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

配置在 keybindings.json 里面,输入命令的话 我更喜欢用快捷键打开 iTerm

ctrl + w + l 么?

方向键左 就可以从编辑区到侧边栏,方向键右的话 就可以回来,想直接进入 explorer 的话 使用 command+;,这个分号我特别喜欢 非常的方便

崔大之前的配置不是空格+e 跳到 explorer 吗

我优化了,那个只能在 vim 的 normal mode 下才有效


一个问题 V 选中一行时,用 o 没办法切换光标,但是让他再选中多几行然后减回一行时,又可以切换了

好像 o 只支持多行

只按一下 V 或 v, o 是不起作用的,再扩大选择范围以后,就可以切换了


其实我认为每个人都是期待效率的,但是阻碍我们成长的往往是成就效率之前的矫正,回报期会显得比较长,你可能需要先矫正错误的键盘姿势,然后需要去适应丢掉方向键的不适,再经过一系列熟悉之后才有机会快乐,而正是这种不确定可能触发了人类本能的抗拒,所以我认为如果我们感觉到不适的话,可以试着去解开自己的拖延症心结,给大家推荐一个油管的视频【https://www.youtube.com/watch?v=EeowFfR9Bqs】,感兴趣的朋友可以去看看。因为我自始自终还是坚信磨刀不误砍柴工的,有时候我们花时间去解决一些人本能的抵触可能也会对接受新的事物有帮助!共勉!

还有一部分同学是肯下功夫的,但是就是没有人好好的引导,导致学习难度太大 中途放弃

没有崔大的带领,我估计也不知道啥时候才开始研究这个,可能还是旧的手势,那时候写笔记写多了就累

回头分享本书给大家,叫掌控习惯,虽然听起来好像好传销 但是确实是受益匪浅(个人认为

哈哈 这个挺好

其实键盘侠练习快捷键真的是一个非常好的可以快速建立正向反馈的点,因为只要你练习了 就会习得,没有比这个还快的得到正向反馈的事了

编辑 (opens new window)
#Vim
上次更新: 5/27/2023, 1:02:05 PM
vim-复习 -1
vim-06-文本对象

← vim-复习 -1 vim-06-文本对象→

最近更新
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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式