Maoyl's blog Maoyl's blog
首页
  • 前端基础

    • HTML
    • CSS
    • CSS动画
    • JavaScript文章
    • stylus
  • 性能优化

    • 《性能优化》笔记
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《JavaScript设计模式》笔记
    • 《TypeScript 从零实现 axios》
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架

    • Vue相关
    • React相关
  • 前端监控

    • 前端监控简介
  • 学习笔记

    • 《Vue》笔记
    • 《React》笔记
    • 小程序学习笔记
  • 后端基础

    • Nodejs
  • 学习笔记

    • 数据结构
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • 网页性能
  • 学习笔记

    • 《Git》学习笔记
    • 《Vim》学习笔记
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

maoyln

日日行,不怕千万里
首页
  • 前端基础

    • HTML
    • CSS
    • CSS动画
    • JavaScript文章
    • stylus
  • 性能优化

    • 《性能优化》笔记
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《JavaScript设计模式》笔记
    • 《TypeScript 从零实现 axios》
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架

    • Vue相关
    • React相关
  • 前端监控

    • 前端监控简介
  • 学习笔记

    • 《Vue》笔记
    • 《React》笔记
    • 小程序学习笔记
  • 后端基础

    • Nodejs
  • 学习笔记

    • 数据结构
  • 技术文档
  • GitHub技巧
  • 博客搭建
  • 网页性能
  • 学习笔记

    • 《Git》学习笔记
    • 《Vim》学习笔记
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 简介

  • vim

    • 起步
    • 相关命令的知识
    • 认识vim语法
    • 删改重做命令提升效率
    • 认识可视化模式
    • 什么是文本对象
    • 快速移动
    • 掌握搜索命令
    • vim-easymotion
    • 数字与'.'的威力
    • 多文件跳转
    • vim-surround
    • 字符替换和多文本选中
    • 大小写、注释与提示
    • 窗口管理大法
    • 快速删除一个函数
    • vim的宏操作
      • 宏操作
        • 命令
      • 技巧
    • 调用vscode命令
  • vscode

  • 《Vim》学习笔记
  • vim
maoyln
2022-06-22
目录

vim的宏操作

# 告别重复:vim 的宏操作

在开发中,我们有时会面临需要重复大量相同的操作的情况,比如下面的代码:

我们需要把所有变量名为 obj 的对象修改为 Obj 并在前面添加 _,最终变成 _Obj,但是我们不能修改为数组的 obj,而且处于谨慎起见,我们不可以同事多光标去修改;

const obj = new Object();
const obj = new Object();
const obj = new Object();
const obj = [];
const obj = new Object();
const obj = [];
const obj = new Object();
1
2
3
4
5
6
7

这时,你可能想起 . 命令,在前面我们提到过,它可以重复执行上一个命令;但是对于当前的场景,有好像无法使用 .,这时就要请出终极大杀器 ———— 宏操作(macro)了。

# 宏操作

宏(macro)即可以把一系列的操作录制成组并暂存起来,然后通过特定的指令重复去触发执行。

# 命令

  • q + [字母]:开始录制,并把当前一次的录制命名为 [字母];如 qa,则当前录制的宏操作名称为 a,如 qq,宏操作则为 q;录制完后,再输入 q 则退出录制
  • :req + [字母]:查看录制好的名为 [字母] 的宏操作
  • @ + [字母]:调用名为 [字母] 的宏操作
  • @@:调用最后一次执行的宏操作
  • [数字] + @ + [字母]:以 [数字] 次数重复执行名称为 [字母] 的宏操作
  • q + [大写字母]:在对应名为 [字母] 的宏操作后追加命令

注意

在录制宏操作时,名称无论输入的是大写字母还是小写字母,最终都会暂存为小写字母,而往宏操作追加时,则使用名称字母的大写进行追加。

# 修改已暂存的宏

# 技巧

  • 规范好光标的位置
  • 移录光标移动时使用相对位置
编辑 (opens new window)
#Vim
上次更新: 2025/04/18, 01:42:12
快速删除一个函数
调用vscode命令

← 快速删除一个函数 调用vscode命令→

最近更新
01
GSAP动画库——如何高效写动画
04-17
02
自适应方案PxToRem
09-10
03
性能优化-requestAnimationFrame
08-10
更多文章>
Theme by Vdoing | Copyright © 2019-2025 备案号:京ICP备19058102号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式