Vim 是一款在 Linux 系统中广泛使用的文本编辑器,它功能强大,但对于新手来说,那些快捷键和操作方式可能有点让人摸不着头脑。接下来,咱就一起聊聊 Vim 编辑里常用快捷键的疑问,帮新手解决编辑难题。

一、Vim 基础入门

1. 启动与退出 Vim

当你想使用 Vim 编辑一个文件时,在终端输入 vim 文件名 就可以启动 Vim 并打开这个文件。比如,我要编辑一个叫 test.txt 的文件,就输入 vim test.txt

# 技术栈:Shell
# 启动 Vim 并打开 test.txt 文件
vim test.txt

要是你编辑完了,想退出 Vim,有几种情况。如果你没做任何修改,直接按 :q 然后回车就能退出。要是做了修改,想保存后退出,就按 :wq 再回车。要是修改了但不想保存,按 :q! 回车就行。

# 技术栈:Shell
# 不保存修改退出 Vim
:q!
# 保存修改并退出 Vim
:wq

2. 进入编辑模式

Vim 有不同的模式,刚打开是命令模式,要输入内容得进入编辑模式。按 i 是在当前光标位置前插入内容,按 a 是在当前光标位置后插入内容。

# 技术栈:Shell
# 进入插入模式,在当前光标前插入内容
i
# 进入插入模式,在当前光标后插入内容
a

二、常用快捷键答疑

1. 移动光标

在 Vim 里,用方向键移动光标当然可以,但用快捷键会更高效。h 是向左移动光标,j 是向下移动,k 是向上移动,l 是向右移动。比如,你想快速把光标移到左边,就按 h

# 技术栈:Shell
# 向左移动光标
h
# 向下移动光标
j
# 向上移动光标
k
# 向右移动光标
l

要是你想一次移动多行,比如向下移动 5 行,就输入 5j。同理,向上移动 3 行就是 3k

# 技术栈:Shell
# 向下移动 5 行
5j
# 向上移动 3 行
3k

2. 复制、粘贴和删除

复制内容用 y 键,比如复制当前行,按 yy。要是想复制多行,比如复制 3 行,就按 3yy

# 技术栈:Shell
# 复制当前行
yy
# 复制 3 行
3yy

粘贴用 p 键,复制完后,把光标移到你想粘贴的地方,按 p 就把复制的内容贴过来了。

# 技术栈:Shell
# 粘贴复制的内容
p

删除用 d 键,删除当前行按 dd,删除 2 行就按 2dd

# 技术栈:Shell
# 删除当前行
dd
# 删除 2 行
2dd

3. 查找与替换

查找内容按 / 键,然后输入你要找的内容,比如你要找 “hello”,就按 /hello 然后回车,Vim 会高亮显示所有 “hello” 的地方。按 n 可以跳到下一个匹配处,按 N 跳到上一个匹配处。

# 技术栈:Shell
# 查找 hello
/hello
# 跳到下一个匹配处
n
# 跳到上一个匹配处
N

替换内容用 :%s/原内容/新内容/g 命令,比如把文件里所有的 “hello” 换成 “hi”,就输入 :%s/hello/hi/g 然后回车。

# 技术栈:Shell
# 把所有的 hello 替换成 hi
:%s/hello/hi/g

三、常见疑问解析

1. 为什么我按了快捷键没反应?

有时候按快捷键没反应,可能是你没处在正确的模式下。Vim 有命令模式、插入模式等,很多快捷键是在命令模式下用的。如果你在插入模式按这些快捷键,就没效果。你得先按 Esc 键回到命令模式,再按快捷键。

2. 怎么撤销和恢复操作?

撤销操作按 u 键,比如你不小心删除了一行,按 u 就能撤销这个操作。恢复撤销的操作按 Ctrl + r

# 技术栈:Shell
# 撤销操作
u
# 恢复撤销的操作
Ctrl + r

3. 如何设置 Vim 的显示格式?

要是你想设置 Vim 的显示格式,比如显示行号,可以在 Vim 里输入 :set number 然后回车,这样每行前面就会显示行号了。取消显示行号就输入 :set nonumber

# 技术栈:Shell
# 显示行号
:set number
# 取消显示行号
:set nonumber

四、解决新手编辑难题

1. 快速定位到文件开头和结尾

想快速到文件开头,按 gg;想快速到文件结尾,按 G

# 技术栈:Shell
# 快速到文件开头
gg
# 快速到文件结尾
G

2. 分屏编辑

如果你想同时编辑多个文件或者一个文件的不同部分,可以用分屏功能。垂直分屏按 :vs,水平分屏按 :sp。比如我打开一个文件后,想垂直再打开另一个文件,就输入 :vs 另一个文件名

# 技术栈:Shell
# 垂直分屏
:vs
# 水平分屏
:sp
# 垂直分屏打开另一个文件
:vs 另一个文件名

应用场景

Vim 适用于很多场景。在服务器运维中,当你登录到服务器上,需要快速编辑配置文件,Vim 是个很好的选择,因为它不需要图形界面,在终端就能高效操作。比如修改 Nginx 的配置文件,用 Vim 可以快速定位到需要修改的地方进行编辑。在开发过程中,如果你用 Linux 系统开发,Vim 也能让你高效地编写代码,尤其是对于一些脚本文件,像 Shell 脚本。

技术优缺点

优点

  • 高效:一旦你熟悉了 Vim 的快捷键,编辑速度会非常快。比如复制、粘贴、查找替换等操作,用快捷键能瞬间完成。
  • 资源占用少:Vim 对系统资源的占用很少,在一些配置较低的服务器上也能流畅运行。
  • 跨平台:Vim 可以在 Linux、Windows、Mac 等多种操作系统上使用。

缺点

  • 学习曲线陡:对于新手来说,Vim 的快捷键和操作方式比较复杂,需要花时间去学习和适应。
  • 界面不够友好:和一些图形化的编辑器相比,Vim 的界面比较简陋,没有直观的菜单和按钮。

注意事项

  • 模式切换:一定要注意 Vim 的模式,不同模式下快捷键的功能不同。进入编辑模式前要先清楚当前处于什么模式。
  • 保存文件:编辑完文件后,记得及时保存,避免数据丢失。可以养成随时保存的习惯,按 :w 就能保存。
  • 备份文件:在进行一些重要修改前,最好先备份文件,以防修改出错。

文章总结

Vim 是一款功能强大的文本编辑器,虽然对于新手来说有一定的学习难度,但掌握了常用的快捷键和操作方法后,能大大提高编辑效率。通过本文,我们了解了 Vim 的基础入门知识,包括启动、退出和进入编辑模式;学习了常用的快捷键,如移动光标、复制粘贴删除、查找替换等;解析了一些常见疑问,像快捷键没反应、撤销恢复操作等;还解决了新手在编辑过程中的一些难题,如快速定位和分屏编辑。同时,我们也知道了 Vim 的应用场景、优缺点和注意事项。希望新手朋友们通过这些内容,能更好地使用 Vim 进行文本编辑。