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:
按/exampleEnter进行查找,n跳到下一个匹配,N跳到上一个匹配。?:在当前文件中向上查找。例如,查找example:
按?exampleEnter进行查找,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 进行文本编辑。如果有任何其他特定需求,也可以随时提出。