Appearance
第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)
- 功能:输入文本
- 如何进入:在命令模式下按
i、a、o等键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:向上搜索patternn:继续搜索下一个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:创建并编辑文件
创建并打开一个新文件:
bash$ vim test.txt进入插入模式:
- 按
i键进入插入模式
- 按
输入文本:
Hello, Linux! This is a test file. Learning vim is fun.按
Esc键返回命令模式
步骤2:编辑文本
移动光标:
- 按
j键向下移动到第二行 - 按
$键移动到行尾
- 按
删除操作:
- 按
dd删除第二行
- 按
复制粘贴:
- 按
yy复制第一行 - 按
p粘贴到文件末尾
- 按
撤销操作:
- 按
u撤销上一次操作
- 按
步骤3:保存与退出
进入末行模式:
- 按
:键
- 按
保存文件:
- 输入
w并按Enter
- 输入
退出vim:
- 输入
q并按Enter
- 输入
查看文件内容:
bash$ cat test.txt
9.6 vim简单配置
配置文件
- 全局配置:
/etc/vim/vimrc - 用户配置:
~/.vimrc
常用配置选项
显示行号:
vimset number自动缩进:
vimset autoindent set smartindent set tabstop=4 set shiftwidth=4 set expandtab搜索设置:
vimset hlsearch set incsearch set ignorecase其他设置:
vimset 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编辑
创建一个新文件:
bash$ vim practice.txt输入以下内容:
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行
- 复制第1行并粘贴到文件末尾
- 将所有"line"替换为"LINE"
- 保存并退出
查看文件内容:
bash$ cat practice.txt
通过学习vim编辑器,你将能够高效地编辑文本文件,这是Linux系统管理和开发工作的必备技能。
