Linux Vim 编辑器使用指南

发布于:2025-07-29 ⋅ 阅读:(17) ⋅ 点赞:(0)

Linux Vim 编辑器使用指南

在这里插入图片描述

一、Vim 简介

Vim(Vi IMproved)是 Linux/Unix 系统中最流行的文本编辑器之一,它是 Vi 的增强版,支持多模式操作、语法高亮、插件扩展等特性,无需鼠标即可高效编辑文本。

二、核心工作模式

Vim 有四种主要模式,通过不同按键快速切换:

  1. 命令模式(Normal Mode):

    ​ 默认模式,用于导航、执行命令和切换到其他模式。

    ​ 进入方式:启动 Vim 后直接进入;从其他模式按 Esc或 Ctrl+[ 返回。

  2. 输入模式(Insert Mode):

    ​ 用于编辑文本,类似常规编辑器。

    ​ 进入方式:在命令模式下按 i(光标前插入)、a(光标后插入)、o(下一行插入)、O(上一行插 入)等。

    ​ 退出方式:按ESC返回命令模式

  3. 末行模式(Command-Line Mode)

    ​ 用于执行文件操作、搜索替换、配置等命令。

    ​ 进入方式:在命令模式下按 :(冒号)。

    ​ 退出方式:执行命令后自动退出或按 Esc

  4. 可视模式(Visual Mode)

    ​ 用于选择文本块,支持字符、行、块三种选择方式。

    ​ 进入方式:在命令模式下按 v(字符)、V(行)或 Ctrl+v(块)。

三、Vim编辑器常用命令与快捷键

1. 文件操作

# 启动Vim并打开文件
vim filename.txt          # 打开文件
vim -o file1 file2        # 水平分屏打开多个文件
vim -O file1 file2        # 垂直分屏打开多个文件

# 末行模式命令(需先按冒号:)
:w                      # 保存文件
:w filename             # 另存为
:q                      # 退出
:wq / :x                # 保存并退出
:wq!                   # 强制保存退出
:q!                     # 强制退出(不保存)
:e filename             # 打开新文件
:bn / :bp               # 切换到下一个/上一个文件(多文件编辑时)

2. 光标移动

# 基本移动(命令模式)
h/j/k/l                 # 左/下/上/右(推荐用方向键替代)
w / b                   # 跳到下一个/上一个单词开头
e                       # 跳到单词末尾
0 / ^                   # 行首(0到第一个字符,^到非空白字符)
$                       # 行尾
gg / G                  # 文档开头/结尾
5G                      # 跳到第5行(数字+G)
Ctrl+f / Ctrl+b         # 下翻页/上翻页
Ctrl+d / Ctrl+u         # 下翻半页/上翻半页

3. 文本编辑

# 插入模式(命令模式下按以下键进入)
i                       # 在光标前插入
a                       # 在光标后插入
I                       # 在行首插入
A                       # 在行尾插入
o / O                   # 在当前行下方/上方插入新行
s / S                   # 删除当前字符/整行并进入插入模式

# 删除与修改
x                       # 删除当前字符(等同于Delete)
dd                      # 删除当前行
3dd                     # 删除当前行及以下3行
d$                      # 删除从光标到行尾的内容
d^                      # 删除从光标到行首的内容(不包含光标字符)
dw                      # 删除一个单词
u                       # 撤销上一步操作
Ctrl+r                  # 恢复撤销(重做)

4. 复制粘贴

yy                      # 复制当前行
5yy                     # 复制当前行及以下5行
yw                      # 复制一个单词
p / P                   # 在光标后/前粘贴(小写p贴到下一行,大写P贴到上一行)
"ayy                   # 将当前行复制到寄存器a(可指定a-z任意寄存器)
"ap                    # 从寄存器a粘贴内容

5.查找与替换

# 查找(命令模式下)
/keyword                # 向下查找keyword
?keyword                # 向上查找keyword
n / N                   # 下一个/上一个匹配项(按查找方向)
:nohlsearch             # 取消高亮显示(可简写为:noh)

# 替换(末行模式下)
:%s/old/new/g           # 全局替换(%表示全文,g表示替换所有匹配项)
:%s/old/new/gc          # 全局替换,每次替换前询问(c表示confirm)
:1,10s/old/new/g        # 替换第1-10行的匹配项

6. 可视模式操作

v                       # 进入字符可视模式(按字符选择)
V                       # 进入行可视模式(整行选择)
Ctrl+v                  # 进入块可视模式(矩形区域选择)
# 选中后可执行:
d                       # 删除选中内容
y                       # 复制选中内容
p                       # 粘贴到光标位置

7. 多窗口操作

# 分屏(末行模式)
:split                  # 水平分屏
:vsplit                 # 垂直分屏
:split filename         # 分屏并打开新文件

# 窗口切换(命令模式)
Ctrl+w w                # 循环切换窗口
Ctrl+w h/j/k/l          # 切换到左/下/上/右窗口
Ctrl+w q                # 关闭当前窗口

8. 寄存器与宏

"ayy                   # 将当前行复制到寄存器a
"ap                    # 从寄存器a粘贴
:registers              # 查看所有寄存器内容

# 录制宏
qa                      # 开始录制宏到寄存器a
# 执行一系列操作(如yy,p,j等)
q                       # 停止录制
@a                      # 执行宏a
10@a                    # 重复执行宏a 10次

9. 标记与书签

ma                      # 在当前位置设置标记a(a-z为局部标记,A-Z为全局标记)
`a                      # 跳转到标记a的位置
''                      # 跳转到上次编辑位置

10. 配置文件(~/.vimrc)

创建或编辑 ~/.vimrc 文件可自定义 Vim 配置:

set number              # 显示行号
set relativenumber      # 显示相对行号
set tabstop=4           # Tab宽度为4个空格
set shiftwidth=4        # 自动缩进宽度为4个空格
set expandtab           # 将Tab转换为空格
set autoindent          # 自动缩进
syntax on               # 语法高亮
set cursorline          # 高亮当前行
set mouse=a             # 启用鼠标支持

网站公告

今日签到

点亮在社区的每一天
去签到