Vim 编辑器详细教程

Vim 编辑器详细教程

Vim 是一个强大的文本编辑器,以其高效的编辑能力和强大的功能著称,特别适合程序员和文字处理工作者。以下是一个详细的 Vim 教程,从基础操作到高级用法。


1. Vim 基础操作

1.1 Vim 的三种模式

  • 正常模式(Normal Mode):默认进入的模式,用于浏览、操作和执行命令。
  • 插入模式 (Insert Mode):用于编辑文本,按 i 进入。
  • 命令模式 (Command Mode):执行文件操作或配置命令,按 : 进入。
  • ESC:三种模式切换。

1.2 启动和退出 Vim

  • 启动 Vim:

    bash 复制代码
    vim 文件名
  • 退出 Vim:

    • 保存并退出:: → 输入 wq → 按 Enter
    • 强制退出(不保存):: → 输入 q! → 按 Enter

2. Vim 基本移动命令

  • 按键快速移动:
    • h:向左移动一个字符
    • l:向右移动一个字符
    • j:向下移动一行
    • k:向上移动一行
  • 按单词移动:
    • w:跳到下一个单词开头
    • e:跳到当前或下一个单词末尾
    • b:跳到当前或前一个单词开头
  • 按行快速移动:
    • 0:跳到行首
    • ^:跳到行首的第一个非空字符
    • $:跳到行尾
  • 按页移动:
    • Ctrl-d:向下滚动半屏
    • Ctrl-u:向上滚动半屏

3. 文本编辑操作

3.1 插入文本

  • i:在光标前插入
  • I:在行首插入
  • a:在光标后插入
  • A:在行尾插入
  • o:在当前行下插入新行
  • O:在当前行上插入新行

3.2 删除文本

  • x:删除光标处字符
  • dw:删除当前单词
  • dd:删除当前行
  • d$:删除光标到行尾
  • d0:删除光标到行首

3.3 复制与粘贴

  • yy:复制当前行
  • y$:复制光标到行尾
  • p:粘贴到光标后
  • P:粘贴到光标前

3.4 替换文本

  • r:替换当前字符
  • R:进入替换模式
  • cw:替换当前单词
  • C:替换光标到行尾内容

4. 搜索与替换

4.1 搜索

  • /关键词:向下搜索
  • ?关键词:向上搜索
  • n:跳到下一个匹配
  • N:跳到上一个匹配

4.2 替换

  • 单次替换::%s/旧文本/新文本/g
  • 确认替换::%s/旧文本/新文本/gc

5. 多文件与多窗口

5.1 分屏操作

  • :sp 文件名:水平分屏
  • :vsp 文件名:垂直分屏
  • Ctrl-w + 方向键:切换窗口

5.2 标签页

  • :tabnew 文件名:打开新标签页
  • :tabn:切换到下一个标签页
  • :tabp:切换到上一个标签页

6. Vim 配置

6.1 创建配置文件

Vim 配置文件路径:

  • Linux: ~/.vimrc
  • Windows: C:\Users\<用户名>\_vimrc

6.2 常用配置

vim 复制代码
set number           " 显示行号
set tabstop=4        " 设置 Tab 宽度为 4
set shiftwidth=4     " 自动缩进宽度为 4
set expandtab        " 将 Tab 转为空格
set autoindent       " 自动缩进
set hlsearch         " 高亮搜索结果
set incsearch        " 实时搜索
syntax on            " 开启语法高亮

7. 高级功能

7.1 宏录制

  • 开始录制:按 q → 输入一个字母(如 a
  • 执行操作(如插入文本或删除行)
  • 结束录制:再次按 q
  • 播放宏:@a

7.2 快速跳转

  • Ctrl-o:返回上一个光标位置
  • Ctrl-i:前进到下一个光标位置

8. 学习资源

相关推荐
一枚正在学习的小白12 分钟前
PG数据文件位置迁移
linux·运维·服务器·数据库
Tfly__25 分钟前
Ubuntu 20.04 安装Aerial Gym Simulator - 基于 Gym 的无人机强化学习仿真器
linux·人工智能·ubuntu·github·无人机·强化学习·运动规划
博睿谷IT99_34 分钟前
Linux 云计算核心技术:原理、组件与 K8s 实战部署
linux·kubernetes·云计算
疯癫的老码农42 分钟前
【Linux环境下安装】SpringBoot应用环境安装(二)-Redis安装
linux·spring boot·redis
点亮一颗LED(从入门到放弃)1 小时前
SQLite3数据库——Linux应用
linux·数据库·sqlite
我科绝伦(Huanhuan Zhou)2 小时前
Systemctl 与 Systemd 全面指南:Linux 系统服务管理详解
linux·服务器·网络
倔强的石头1062 小时前
【Linux指南】Linux命令行进度条实现原理解析
android·linux
---学无止境---2 小时前
Linux中setup_arch和setup_memory相关函数的实现
linux
gplitems1232 小时前
Petslist – Pet listing WordPress Theme Free Download
linux·服务器·前端
1白天的黑夜12 小时前
Linux (5)| 入门进阶:Linux 权限管理的基础规则与实践
linux·运维·服务器·centos