vim 是一个功能强大的文本编辑器,在 Linux 系统中广泛使用。以下是 vim 的基本使用方法和一些常见操作,如查找和删除等。
1. 打开 vim
vim <文件名>
例如,打开或创建一个名为 example.txt 的文件:
vim example.txt
2. vim 的三种主要模式
- 命令模式(Normal mode):进入 vim时的默认模式,主要用于浏览和操作文本。
- 插入模式(Insert mode):用于编辑文本。
- 底行模式(Command-line mode):用于执行保存、查找等命令。
3. 模式切换
- 从命令模式进入插入模式:
- i:在光标前插入
- a:在光标后插入
- o:在当前行下方新建一行并插入
 
- 从插入模式回到命令模式:
- Esc
 
- 从命令模式进入底行模式:
- :(冒号)
 
4. 移动光标
- h:向左移动
- j:向下移动
- k:向上移动
- l:向右移动
- 0:移动到行首
- $:移动到行尾
- w:移动到下一个单词开头
- b:移动到前一个单词开头
- gg:移动到文件开头
- G:移动到文件末尾
5. 查找操作
- 查找字符串:
- /:在当前文件中向下查找。例如,查找- example:
 按- /example- Enter进行查找,- n跳到下一个匹配,- N跳到上一个匹配。
- ?:在当前文件中向上查找。例如,查找- example:
 按- ?example- Enter进行查找,- n跳到下一个匹配(向上),- N跳到上一个匹配(向下)。
 
- 查找并高亮所有匹配:
- 进入底行模式(:),然后输入:
 取消高亮::set hlsearch:nohlsearch
 
- 进入底行模式(
6. 删除操作
- 删除单个字符:
- x:删除光标所在字符
 
- 删除当前行:
- dd
 
- 删除到行首:
- d0
 
- 删除到行尾:
- d$
 
- 删除一个单词:
- dw:删除光标后的一个单词
- db:删除光标前的一个单词
 
- 删除多行:
- d10d:删除光标所在行及以下 10 行
- :8,17d:将8-17行全部删除。
 
7. 复制和粘贴
- 复制(称为“拷贝”或“yank”):
- yy:复制当前行
- y$:复制光标到行尾
- yw:复制当前单词
- 5yy:复制当前行及以下 5 行
 
- 粘贴:
- p:在光标后粘贴
- P:在光标前粘贴
 
8. 撤销和重做
- 撤销操作:
- u:撤销上一次操作
- U:撤销对当前行的所有修改
 
- 重做操作:
- Ctrl + r
 
9. 保存和退出
- 保存文件:
- :w
 
- 退出 vim:- :q
 
- 保存并退出:
- :wq
 
- 强制退出(不保存):
- :q!
 
- 强制保存并退出:
- :wq!
 
10. 替换操作
- 替换当前行的某个字符串:
 例如,将当前行的:s/旧字符串/新字符串/gfoo替换为bar::s/foo/bar/g
- 替换整个文件的字符串:
 例如,将整个文件中的:%s/旧字符串/新字符串/gfoo替换为bar::%s/foo/bar/g
- 替换时确认每次替换::%s/旧字符串/新字符串/gc
11. 行号显示
- 显示行号::set number
- 隐藏行号::set nonumber
12. 常用配置
可以将常用配置添加到 ~/.vimrc 文件中,例如:
set number         " 显示行号
set autoindent     " 自动缩进
set tabstop=4      " Tab 键缩进 4 个空格
set shiftwidth=4   " 每次缩进移动 4 个空格
set expandtab      " 将 Tab 转换为空格
set hlsearch       " 搜索时高亮匹配项
set ignorecase     " 搜索时忽略大小写
set smartcase      " 如果包含大写字母则大小写敏感
通过掌握以上基本操作,你可以更高效地使用 vim 进行文本编辑。如果有任何其他特定需求,也可以随时提出。
 
                    