Vim编辑器是一款功能强大的文本编辑器,广泛应用于Unix和Linux系统,是vi编辑器的增强版本。Vim提供了丰富的快捷键和命令,使得文本编辑变得高效而便捷。本文主要介绍Vim的基本用法和快捷键,给大家提供一个日常查询vim备忘录。
Vim的基本模式
Vim编辑器有三种主要模式:命令模式(Normal Mode)、插入模式(Insert Mode)和命令行模式(Command-Line Mode)。
-
命令模式:Vim的默认模式。在此模式下,用户可以执行删除、复制、粘贴等快捷操作,但不能直接输入文本。
-
插入模式:在此模式下,用户可以向文本缓冲区中输入文本。从命令模式进入插入模式,可以使用
i
(在当前字符前插入)、a
(在当前字符后插入)、o
(在当前行下方新开一行)等键。 -
命令行模式:也称为冒号模式。通过按
:
进入此模式,用户可以保存文件、退出编辑器、搜索和替换文本等。
Vim的基本用法
打开和保存文件
-
打开文件
vim filename
:直接打开指定文件。如果文件不存在,则会创建一个新的文件。vim +n filename
:打开文件并将光标移动到第n行。vim +/pattern filename
:打开文件并高亮显示第一个匹配pattern的行。
-
保存文件
:w
:保存当前文件。:w filename
:将当前文件另存为filename。:wq
或:x
:保存文件并退出Vim编辑器。
-
退出编辑器
:q
:退出编辑器(如果文件未修改)。:q!
:强制退出编辑器,不保存修改。
光标移动
在命令模式下,可以使用以下快捷键移动光标:
h
:向左移动光标。j
:向下移动光标。k
:向上移动光标。l
:向右移动光标。w
:移动到下一个单词的开头。e
:移动到下一个单词的结尾。b
:移动到前一个单词的开头。gg
:跳转到文件的第一行。G
:跳转到文件的最后一行。nG
:跳转到文件的第n行。^
或0
:移动到行首。$
:移动到行尾。Ctrl-y
:上移一行。Ctrl-e
:下移一行。Ctrl-u
:上翻半页。Ctrl-d
:下翻半页。Ctrl-f
:上翻一页。Ctrl-b
:下翻一页。
搜索和替换
-
搜索
/pattern
:向后搜索字符串pattern。按n
键可以跳转到下一个匹配项,按N
键可以跳转到上一个匹配项。?pattern
:向前搜索字符串pattern。同样可以使用n
和N
键进行跳转。
-
替换
:%s/old/new/g
:在整个文件中将old替换为new。g
表示全局替换,即替换每一行的所有匹配项。:%s/old/new/gc
:在整个文件中将old替换为new,每次替换前都会提示用户确认。
删除、复制和粘贴
-
删除
x
:删除当前字符。X
:删除当前字符的前一个字符。dd
:删除当前行。dw
:删除当前单词。d$
或D
:删除到行尾。d^
:删除到行首。
-
复制
yy
:复制当前行。yw
:复制当前单词。y$
:复制到行尾。y^
:复制到行首。
-
粘贴
p
:粘贴到光标下方。P
:粘贴到光标上方。
撤销和重做
u
:撤销上一步操作。Ctrl-r
:重做被撤销的操作。
插入模式
从命令模式进入插入模式,可以使用以下快捷键:
i
:在当前光标处进入插入模式。I
:在行首进入插入模式。a
:在当前光标后一个字符处进入插入模式。A
:在行尾进入插入模式。o
:在当前行下方新开一行并进入插入模式。O
:在当前行上方新开一行并进入插入模式。
可视模式
可视模式允许用户选择文本块。可以使用以下快捷键进入可视模式:
v
:进入字符选择模式。V
:进入行选择模式。Ctrl-v
:进入块选择模式。
在可视模式下,用户可以执行删除(d
)、复制(y
)等操作。
多文件编辑
Vim支持同时打开多个文件,并使用以下快捷键进行切换:
:e filename
:打开新文件filename。:bn
:切换到下一个文件。:bp
:切换到上一个文件。:ls
:列出当前打开的所有文件。:b N
:直接切换到编号为N的文件。
多标签编辑
Vim还支持多标签编辑,可以使用以下快捷键进行操作:
:tabedit filename
:在新标签中打开文件filename。:tabn
:切换到下一个标签。:tabp
:切换到上一个标签。:tabc
:关闭当前标签。:tabo
:关闭其他标签。
执行外部命令
在命令模式下,可以使用以下命令执行外部命令:
:!command
:执行shell命令command。执行结束后自动回到Vim编辑器。:sh
:进入shell模式。在输入exit
或按下Ctrl-D
后返回Vim编辑器。
自动排版
在粘贴代码后,Vim编辑器可能会变得比较乱。此时,可以使用gg=G
命令对代码进行自动排版。
Vim的进阶用法
显示行号
在命令模式下输入:set number
或:set nu
,可以显示每一行的行号。要隐藏行号,可以使用:set nonumber
或:set nonu
命令。
查找时忽略大小写
在命令模式下输入:set ignorecase
或:set ic
,可以使查找时忽略大小写。要取消忽略大小写,可以使用:set noignorecase
或:set noic
命令。
设置自动缩进
Vim编辑器支持自动缩进,可以使用以下命令进行设置:
:set autoindent
:设置自动缩进。:set shiftwidth=4
:设置缩进宽度为4个空格。
多行注释和取消注释
Vim提供了方便的多行注释和取消注释功能。可以使用以下步骤进行操作:
-
多行注释
Ctrl-v
:进入块选择模式。- 选择要注释的多行。
- 按
I
进入插入模式,并输入注释符号(如//
)。 - 按
Esc
退出插入模式,此时选中的多行都会被注释。
-
取消多行注释
Ctrl-v
:进入块选择模式。- 选择要取消注释的多行(注意要选中注释符号所在的列)。
- 按
d
删除选中的列,即可取消多行注释。
文本对齐
Vim提供了文本对齐的功能,可以使用以下命令进行操作:
:ce
:居中对齐当前行。:le
:左对齐当前行。:ri
:右对齐当前行。
Vim的常用快捷键
Vim编辑器提供了大量的快捷键,以下是一些常用的快捷键及其说明:
i
:进入插入模式。Esc
:退出插入模式。h
:向左移动光标。j
:向下移动光标。k
:向上移动光标。l
:向右移动光标。w
:移动到下一个单词的开头。e
:移动到下一个单词的结尾。b
:移动到前一个单词的开头。gg
:跳转到文件的第一行。G
:跳转到文件的最后一行。nG
:跳转到文件的第n行。^
或0
:移动到行首。$
:移动到行尾。Ctrl-y
:上移一行。Ctrl-e
:下移一行。Ctrl-u
:上翻半页。Ctrl-d
:下翻半页。Ctrl-f
:上翻一页。Ctrl-b
:下翻一页。