当前位置: 首页 > java >正文

Vi/Vim 编辑器详细指南

在这里插入图片描述


Vi/Vim 编辑器详细指南

  • 简介
  • 一、模式详解
    • 1. 命令模式(Normal Mode)
    • 2. 插入模式(Insert Mode)
    • 3. 可视模式(Visual Mode)
    • 4. 命令行模式(Ex Mode)
  • 二、核心操作
    • 1. 保存与退出
    • 2. 导航与移动
    • 3. 编辑与文本操作
    • 4. 搜索与替换
  • 三、高级技巧
    • 1. 多文件与窗口操作
    • 2. 宏录制
    • 3. 寄存器与剪贴板
    • 4. 代码折叠
  • 四、配置与插件
    • 1. 配置文件(~/.vimrc)
    • 2. 插件管理(以 vim-plug 为例
      • 1. 安装 vim-plug:
      • 2. 配置插件(在 `~/.vimrc` 中添加):
      • 3. 安装插件:
  • 五、场景示例
    • 1. 批量注释代码
    • 2. 多文件编辑
    • 3. 快速修复缩进
  • 六、快捷键速查表
  • 七、注意事项
    • 1. 只读文件:
    • 2. 恢复文件:
    • 3. 插件兼容性:
    • 4. 性能优化:


简介

Vi/Vim 是一款功能强大的文本编辑器,以其高效的键盘操作和灵活的配置著称。它支持多模式编辑,适用于从简单文本处理到复杂代码开发的各类场景。本指南将全面解析其核心功能,帮助你掌握从基础到进阶的操作。


一、模式详解

1. 命令模式(Normal Mode)

  • 默认模式:启动 Vim 后自动进入,所有按键被解析为命令。

  • 核心作用:导航、删除、复制、粘贴、搜索等操作。

  • 退出其他模式:按 Esc 键返回此模式。

2. 插入模式(Insert Mode)

  • 进入方式:

    • i:在光标前插入。

    • a:在光标后插入。

    • o / O:在当前行下方/上方新建行并插入。

    • s:删除当前字符并插入。

    • S:删除整行并插入。

  • 退出:按 Esc 返回命令模式。

3. 可视模式(Visual Mode)

  • 进入方式:

    • v:字符级选择。

    • V:行级选择。

    • Ctrl+v:块级选择(列选择)。

  • 操作:选中文本后,可执行复制(y)、删除(d)、缩进(>)等操作。

4. 命令行模式(Ex Mode)

  • 进入方式:在命令模式下按 :

  • 用途:执行保存、退出、替换、配置等高级命令。


二、核心操作

1. 保存与退出

命令说明
:w保存当前文件。
:w [新文件名]另存为指定文件(如 :w backup.txt)。
:w !sudo tee %无权限时强制保存(需输入密码)。
:q退出,仅当文件未修改时生效。
:q!强制退出,丢弃所有未保存的修改。
:wq / :x保存并退出(:x 仅在修改后保存)。
ZZ快捷键,等同于 :wq

2. 导航与移动

命令说明
h/j/k/l
http://www.xdnf.cn/news/4159.html

相关文章:

  • Facebook如何运用AI实现元宇宙的无限可能?
  • DC-DC降压型开关电源(Buck Converter)设计中,开关频率(f sw​ )、滤波电感(L)和滤波电容(C out​ )的关系和取舍
  • uniapp 全局混入:监听路由变化,路由变化即执行
  • 嵌入式openharmony标准鸿蒙系统驱动开发基本原理与流程
  • openssl 生成自签名证书实现接口支持https
  • 【coze】手册小助手(提示词、知识库、交互、发布)
  • C++中指针使用详解(4)指针的高级应用汇总
  • 人工智能对人类的影响
  • 【Hive入门】Hive安全管理与权限控制:审计日志全解析,构建完善的操作追踪体系
  • kubeadm部署k8s
  • openwrt 使用quilt 打补丁(patch)
  • 基于图像处理的道路监控与路面障碍检测系统设计与实现 (源码+定制+开发) 图像处理 计算机视觉 道路监控系统 视频帧分析 道路安全监控 城市道路管理
  • 计算机视觉与深度学习 | 基于数字图像处理的裂缝检测与识别系统(matlab代码)
  • 【Python系列】Python 中的 HTTP 请求处理
  • OpenAI的“四面楚歌”:从营利到非营利,一场关于AGI控制权的革命
  • 信息时代的政治重构:网络空间与主权的未来
  • 搭建spark yarn 模式的集群
  • mybatis 的多表查询
  • Nacos源码—4.Nacos集群高可用分析四
  • 【Linux网络】应用层协议HTTP
  • Ubuntu18.04搭建samda服务器
  • ORACLE EBS 12.1 启用https 简单策略
  • 谷歌在即将举行的I/O大会之前,意外泄露了其全新设计语言“Material 3 Expressive”的细节
  • 如何通过外网访问内网?对比5个简单的局域网让互联网连接方案
  • 单应性估计
  • 《深入探索位操作符:Python、Java与C语言的实现与应用》
  • UE5 渲染思路笔记(角色)
  • Linux 磁盘初始化与扩容操作手册
  • nnUNet V2修改网络——暴力替换网络为Swin-Unet
  • 爬虫技术-利用Python和Selenium批量下载动态渲染网页中的标准文本文件