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

编辑器Vim

vim

一、模式切换

Vim 默认处于命令模式,各模式切换方式如下:

  • 命令模式 ↔ 插入模式:按 i(在光标前插入)、a(在光标后插入)、o(在当前行下插入新行)等进入插入模式;按 Esc 回到命令模式。
  • 命令模式 → 底行模式:输入 : 进入底行模式,按 Esc 回命令模式。
  • 命令模式 → 替换模式:按 RShift + r)进入替换模式,按 Esc 回命令模式。
  • 命令模式 → 块可视化模式(VISUAL BLOCK):按 Ctrl + v 进入,按 Esc 回命令模式。
二、命令模式常用操作
(一)文本定位
  • gg:跳转到文本开头。
  • GShift + g):跳转到文本末尾。
  • n + Gn + Shift + g):跳转到第 n 行。
  • $Shift + 4):跳转到当前行结尾。
  • ^Shift + 6):跳转到当前行开头。
  • w:按 “单词” 为单位向右移动光标。
  • b:按 “单词” 为单位向左移动光标。
(二)文本编辑
  • 复制粘贴
    • n + yy:复制从当前行开始的 n 行。
    • p:粘贴到当前行的下一行。
  • 删除
    • n + dd:删除从当前行开始的 n 行。
    • x:删除光标所在字符,连续按 x 向右删除。
    • XShift + x):向左删除光标前的字符。
  • 替换
    • r:替换光标所在位置的一个字符。
    • RShift + r):进入替换模式,可批量替换字符。
  • 大小写转换~Shift + ~),快速转换光标所在字符的大小写。
(三)撤销与重做
  • u:撤销上一步操作。
  • Ctrl + r:对 u 的撤销操作进行重做(恢复被撤销的操作)。
(四)块操作(批量注释 / 去注释)
  • 批量注释
    1. 按 Ctrl + v 进入块可视化模式。
    2. 用 h(左)、j(下)、k(上)键选择要注释的区域。
    3. 按 I(大写 I)进入块插入模式。
    4. 输入注释符号(如 //)。
    5. 按 Esc,所选区域每行开头会添加注释符号。

  • 批量去注释
    1. 按 Ctrl + v 进入块可视化模式。
    2. 用 hjk 键选择要去注释的区域(选中注释符号部分)。
    3. 按 d或者x,删除所选的注释符号。
三、底行模式常用操作
  • 保存与退出
    • w:保存文件。
    • q:退出 Vim(文件未修改时)。
    • wq:保存并退出。
    • w!:强制保存(忽略权限等问题)。
    • q!:强制退出(不保存修改)。
    • ZZShift + zz):保存并退出(在命令模式下操作)。
  • 搜索/key + n(ext),从当前位置向下搜索 key;按 N 向上搜索。
  • 编译运行:!cmd,不退出 Vim,直接在终端执行 cmd 命令(如编译运行代码)。
  • 全局替换:%s/dst/src/g,将文件中所有 dst 替换为 src
  • 分屏操作:vs,垂直分屏;按 Ctrl + ww 在分屏间切换。
  • 显示行号:set nu,显示行号;:set nonu,隐藏行号。
四、特殊场景
  • 终端意外退出恢复:若 Vim 打开文件时终端突然退出,会生成 .swp 临时文件(可通过 ls -al 查看)。再次打开文件时,Vim 会提示恢复,可选择恢复之前的编辑内容。
  • 光标记忆:Vim 退出时,若光标在第 n 行,再次打开文件,光标会回到原来的位置。可通过 vim main.c +9 直接打开文件并跳转到第 9 行。

vim的简单配置

直接让豆包等人工智能简单配置即可,注意删掉不合适的

http://www.dtcms.com/a/390695.html

相关文章:

  • 数字推理笔记——基础数列
  • 如何使用 FinalShell 连接本地 WSL Ubuntu
  • Node.js 进程生命周期核心笔记
  • 低空网络安全防护核心:管理平台安全体系构建与实践
  • 站内信通知功能websoket+锁+重试机制+多线程
  • Vue 3 <script setup> 语法详解
  • Redis三种服务架构详解:主从复制、哨兵模式与Cluster集群
  • 复习1——IP网络基础
  • MATLAB中借助pdetool 实现有限元求解Possion方程
  • string::c_str()写入导致段错误?const指针的只读特性与正确用法
  • 深度解析 CopyOnWriteArrayList:并发编程中的读写分离利器
  • 直接看 rstudio里面的 rds 数据 无法看到 expr 表达矩阵的详细数据 ,有什么办法呢
  • 【示例】通义千问Qwen大模型解析本地pdf文档,转换成markdown格式文档
  • 企业级容器技术Docker 20250919总结
  • 微信小程序-隐藏自定义 tabbar
  • leetcode15.三数之和
  • 强化学习Gym库的常用API
  • ✅ Python微博舆情分析系统 Flask+SnowNLP情感分析 词云可视化 爬虫大数据 爬虫+机器学习+可视化
  • 红队渗透实战
  • 基于MATLAB的NSCT(非下采样轮廓波变换)实现
  • 创建vue3项目,npm install后,运行报错,已解决
  • 设计模式(C++)详解—外观模式(1)
  • pnpm 进阶配置:依赖缓存优化、工作区搭建与镜像管理
  • gitlab:从CentOS 7.9迁移至Ubuntu 24.04.2(版本17.2.2-ee)
  • 有哪些适合初学者的Java项目?
  • 如何开始学习Java编程?
  • 【项目实战 Day3】springboot + vue 苍穹外卖系统(菜品模块 完结)
  • 华为 ai 机考 编程题解答
  • Docker多容器通过卷共享 R 包目录
  • 【保姆级教程】MasterGo MCP + Cursor 一键实现 UI 设计稿还原