Skip to content

第9章:文本编辑(vim编辑器)

9.1 vim编辑器介绍

什么是vim?

  • Vim是一个功能强大的文本编辑器,是vi编辑器的改进版
  • 它是Linux系统中最常用的文本编辑器之一
  • Vim支持多种编辑模式,功能丰富,可定制性强

为什么要学vim?

  • 通用性:几乎所有Linux系统都预装了vim
  • 高效性:支持键盘快捷键,编辑速度快
  • 功能强大:支持语法高亮、代码折叠、多窗口编辑等
  • 可定制:可以通过配置文件和插件扩展功能
  • 职业需求:许多服务器管理和开发工作都需要使用vim

启动vim

  • 命令格式:vim [文件名]
  • 示例:
    bash
    $ vim file.txt  # 编辑已存在的文件
    $ vim newfile.txt  # 创建并编辑新文件

9.2 vim的三种模式

命令模式(Normal Mode)

  • 默认模式:启动vim后进入的模式
  • 功能:执行命令,如移动光标、删除文本、复制粘贴等
  • 如何进入:从其他模式按 Esc

插入模式(Insert Mode)

  • 功能:输入文本
  • 如何进入:在命令模式下按 iao 等键
    • i:在光标前插入
    • a:在光标后插入
    • o:在当前行下方插入新行
    • I:在当前行开头插入
    • A:在当前行结尾插入
    • O:在当前行上方插入新行

末行模式(Command-Line Mode)

  • 功能:执行保存、退出、搜索、替换等命令
  • 如何进入:在命令模式下按 :

9.3 命令模式常用操作

光标移动

  • 基本移动
    • h:向左移动
    • j:向下移动
    • k:向上移动
    • l:向右移动
  • 单词移动
    • w:移动到下一个单词开头
    • b:移动到上一个单词开头
    • e:移动到下一个单词结尾
  • 行移动
    • 0:移动到行首
    • $:移动到行尾
    • ^:移动到行首非空白字符
  • 屏幕移动
    • Ctrl + f:向下翻页
    • Ctrl + b:向上翻页
    • Ctrl + d:向下翻半页
    • Ctrl + u:向上翻半页
  • 文件移动
    • gg:移动到文件开头
    • G:移动到文件结尾
    • nG:移动到第n行

删除操作

  • x:删除光标所在字符
  • dd:删除当前行
  • ndd:删除从当前行开始的n行
  • d0:删除从光标到行首的内容
  • d$:删除从光标到行尾的内容
  • dw:删除从光标到下一个单词开头的内容

复制粘贴

  • yy:复制当前行
  • nyy:复制从当前行开始的n行
  • p:在光标后粘贴
  • P:在光标前粘贴

撤销与重做

  • u:撤销上一次操作
  • Ctrl + r:重做上一次撤销的操作

其他常用命令

  • r:替换光标所在字符
  • R:进入替换模式,连续替换
  • v:进入可视模式,选择文本
  • V:进入可视行模式,选择整行
  • Ctrl + v:进入可视块模式,选择矩形区域

9.4 插入模式与末行模式操作

插入模式

  • 在插入模式下,你可以直接输入文本
  • Esc 键返回命令模式

末行模式命令

保存与退出

  • :w:保存文件
  • :q:退出vim
  • :wq:x:保存并退出
  • :q!:强制退出,不保存

搜索

  • :/pattern:向下搜索pattern
  • :?pattern:向上搜索pattern
  • n:继续搜索下一个
  • N:继续搜索上一个

替换

  • :s/old/new:替换当前行第一个old为new
  • :s/old/new/g:替换当前行所有old为new
  • :%s/old/new:替换文件中每一行第一个old为new
  • :%s/old/new/g:替换文件中所有old为new
  • :%s/old/new/gc:替换时询问确认

其他末行命令

  • :set number:set nu:显示行号
  • :set nonumber:set nonu:隐藏行号
  • :set hlsearch:高亮搜索结果
  • :set nohlsearch:取消高亮搜索结果
  • :help:查看帮助

9.5 新手实战:用vim编辑一个文本文件

步骤1:创建并编辑文件

  1. 创建并打开一个新文件:

    bash
    $ vim test.txt
  2. 进入插入模式:

    • i 键进入插入模式
  3. 输入文本:

    Hello, Linux!
    This is a test file.
    Learning vim is fun.
  4. Esc 键返回命令模式

步骤2:编辑文本

  1. 移动光标:

    • j 键向下移动到第二行
    • $ 键移动到行尾
  2. 删除操作:

    • dd 删除第二行
  3. 复制粘贴:

    • yy 复制第一行
    • p 粘贴到文件末尾
  4. 撤销操作:

    • u 撤销上一次操作

步骤3:保存与退出

  1. 进入末行模式:

    • :
  2. 保存文件:

    • 输入 w 并按 Enter
  3. 退出vim:

    • 输入 q 并按 Enter
  4. 查看文件内容:

    bash
    $ cat test.txt

9.6 vim简单配置

配置文件

  • 全局配置/etc/vim/vimrc
  • 用户配置~/.vimrc

常用配置选项

  1. 显示行号

    vim
    set number
  2. 自动缩进

    vim
    set autoindent
    set smartindent
    set tabstop=4
    set shiftwidth=4
    set expandtab
  3. 搜索设置

    vim
    set hlsearch
    set incsearch
    set ignorecase
  4. 其他设置

    vim
    set encoding=utf-8
    set showcmd
    set cursorline
    set ruler

示例配置文件

创建 ~/.vimrc 文件并添加以下内容:

vim
" 显示行号
set number

" 自动缩进
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab

" 搜索设置
set hlsearch
set incsearch
set ignorecase

" 其他设置
set encoding=utf-8
set showcmd
set cursorline
set ruler

" 配色方案
colorscheme default

实战练习:vim编辑

  1. 创建一个新文件:

    bash
    $ vim practice.txt
  2. 输入以下内容:

    Line 1: Hello, vim!
    Line 2: This is line 2.
    Line 3: This is line 3.
    Line 4: This is line 4.
    Line 5: This is line 5.
  3. 执行以下操作:

    • 删除第3行
    • 复制第1行并粘贴到文件末尾
    • 将所有"line"替换为"LINE"
    • 保存并退出
  4. 查看文件内容:

    bash
    $ cat practice.txt

通过学习vim编辑器,你将能够高效地编辑文本文件,这是Linux系统管理和开发工作的必备技能。

© 2026 编程马·菜鸟教程 版权所有