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. 学习资源

相关推荐
奔跑吧邓邓子1 小时前
CentOS 7性能飞升秘籍:实战系统优化与调优
linux·运维·centos·实战·系统优化·性能调优
qinyia1 小时前
WisdomSSH如何高效检查服务器状态并生成运维报告
linux·运维·服务器·数据库·人工智能·后端·ssh
laocooon5238578863 小时前
实现了一个新闻数据采集与分析系统python
linux·服务器·windows
海棠蚀omo3 小时前
解读Linux进程的“摩尔斯电码”:信号产生的原理与实践,掌控进程的生死时速
linux·操作系统
YouEmbedded8 小时前
解码UDP
linux·udp
w***48829 小时前
Linux安装redis
linux·运维·redis
python百炼成钢10 小时前
28.嵌入式 Linux LED 驱动开发实验
linux·运维·驱动开发
西风未眠12 小时前
高效编辑之vi/vim常用快捷键汇总
linux·编辑器·vim
_Stellar12 小时前
Linux 服务器管理 根目录文件夹权限设置 基于用户组实现安全共享
linux·服务器·安全
LUCIFER13 小时前
驱动开发:详细分析 DTB、DTS、DTSI、DTBO 的区别、用途及它们之间的关系
linux·服务器·驱动开发