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
      • 替换命令
      • 多选操作:gb
      • 悬浮显示:gh
      • 切换大小写
      • 注释
      • 窗口管理
        • vim
        • vscode
      • 删除函数
        • 转到括号
        • vim-indent-object:
        • 删除函数
    • vim-17-掌握宏
    • vim-18-调用 vscode 的命令
    • vim-复习 -5
  • VSCode

  • Chrome

  • iTerm

  • mac

  • Obsidian

  • lazygit

  • 学习双拼
  • Vim 技巧

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

vim-复习 -4

# 替换命令

公式::[range]s[ubstitute]/{pattern}/{string}/[flags]

公式中 [] 内是可选的,{} 内是必填的

range: 表示范围;% 表示替换全文;number1,number2 表示替换 number1 行到 number2 行;$ 表示替换到文件尾部,可以和 number 配合,比如 number,$ 或 $,number;也可以使用可视化模式选择范围

s[ubstitute]: 表示替换命令,可以简写为 s,全称为 substitute

pattern: 表示被替换的字符,可以输入正则表达式

string: 表示替换的字符

flags: 取值有两个:g 表示全局替换,如果不加 g,默认只替换每行第一个匹配到的字符;c 会弹出对话框,询问是否替换,输入 y 表示替换当前字符,n 表示不替换当前字符,a 表示替换所有,q 表示退出,l 表示替换当前字符并退出。可以多个 flag 一起使用,比如 gc

# 多选操作:gb

# 悬浮显示:gh

# 切换大小写

normal 模式

  • gu + 动作(范围): 变为小写字母
  • gU + 动作(范围): 变为大写字母

visual 模式

  • u: 变为小写字母

  • U: 变为大写字母

  • ~: 可以实现大小写互换

# 注释

  • gc: 单行注释
  • gC: 多行注释

n + 1 个单行注释:gc + n + j

快速依次单行注释:gc + l,再下一行 + .

visual 模式下,先多选,再 gc

# 窗口管理

# vim

  • C-w v: 新建左右窗口(向右拆分窗口)
  • C-w s: 新建上下窗口(向下拆分窗口)
  • C-w hjkl: 切换窗口(适用于多窗口,也可以切换到左侧边栏,但不能再切换回来)
  • C-w w: 循环切换窗口(适用于两个窗口来回切换)
  • C-w c: 关闭窗口,只关闭当前文件的窗口
  • C-w o: 只保留当前窗口,关闭其他所有窗口,包括左侧边栏
  • Shift-方向键:切换窗口(需改键)

# vscode

  • cmd-: 新建左右窗口
  • ctrl-cmd-: 新建上下窗口(需绑定快捷键,搜索 split editor up,然后绑定)
  • cmd-1,2,3...: 切换第几个窗口
  • cmd-w: 关闭窗口
  • cmd-k w: 关闭一组窗口
  • option-cmd-t: 只保留当前窗口,关闭其他所有窗口,不包括左侧边栏

# 删除函数

# 转到括号

  • %: 转到括号

# vim-indent-object (opens new window):

将当前缩进级别的代码块视为文本对象,原理就是根据缩进来操作的,只要缩进范围大于等于光标当前行,都会被当成一个文本对象

  • <operator>ii: 操作当前缩进级别的代码块
  • <operator>ai: 操作当前缩进级别的代码块和上面一行
  • <operator>aI: 操作当前缩进级别的代码块和上下两行

# 删除函数

  • dap: 基于段落 text-object; 如果这个函数体内没有空行,函数整体上下都有空行,可以删除,否则不行
  • daI: 基于 vim-indent-object; 代码缩进正常(经过格式化),需要在函数体内执行,不能在函数头执行;可以改键:ai -> aI; 这个其实不止可以删除函数,if 判断,多行对象/数组...,只要是开头和结尾的缩进小于中间的缩进都可以用这个
  • V$%d: 基于 %; 必须在函数头执行;V 先选中当前行,$ 移动到行尾,光标在 {,% 匹配结束的 },d 删除;当函数的参数太多导致换行后,$ 移动到行尾时,光标是在 (,% 匹配到是 ),我们还需要执行 $% 来匹配结束的 }; 可以改键:<leader> d f -> V$%d
编辑 (opens new window)
#Vim
上次更新: 5/27/2023, 1:02:05 PM
vim-16-删除函数
vim-17-掌握宏

← vim-16-删除函数 vim-17-掌握宏→

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