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/旧字符串/新字符串/g
foo
替换为bar
::s/foo/bar/g
- 替换整个文件的字符串:
例如,将整个文件中的:%s/旧字符串/新字符串/g
foo
替换为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
进行文本编辑。如果有任何其他特定需求,也可以随时提出。