vim命令详解

1、vim简介

        Vim是一款高度可定制的文本编辑器,广泛用于编程和文本处理。它的核心特点是基于键盘命令的操作,这使得用户能够高效地处理文本。在本篇文章中,我们将详细介绍Vim 的一些基本和高级命令。

2、基本命令

2.1、 模式切换

        Vim有三种主要的模式:普通模式、插入模式和命令模式。用户可以在这些模式之间切换,以实现不同的操作。
        普通模式(Normal Mode ): Vim 的默认模式。在这种模式下,键盘输入被视为命令。
        插入模式(Insert Mode ):在此模式下,用户可以像在普通文本编辑器中那样输入文本。按 “i” 键进入插入模式,按“Esc” 键返回普通模式。
        模式(Command Mode ):在此模式下,用户可以输入诸如保存、退出和查找等命令。按 “:”
键进入命令模式,按 “Enter” 键执行命令。

2.2、移动光标

        在普通模式下,Vim提供了许多光标移动命令:

h (左)、 j (下)、 k (上)、 l (右):基本的光标移动。
w :移动到下一个单词的开头。
b :移动到当前单词或前一个单词的开头。
e :移动到当前单词或下一个单词的结尾。
gg :移动到文件开头。
G :移动到文件结尾。

2.3、编辑命令

        在普通模式下,Vim提供了许多编辑命令:

dd :删除当前行。
yy :复制当前行。
p :粘贴到光标之后。
u :撤销上一次操作。
Ctrl + r :重做上一次撤销的操作。

2.4、查找与替换

        在普通模式下,可以使用以下命令查找和替换文本:
/ :查找文本。例如,输入 “/example” 将查找 “example” 这个单词。
n :查找下一个匹配项。
N :查找上一个匹配项。
:%s/old/new/g :将文件中的所有 “old” 替换为 “new”

3、高级命令

3.1、拆分窗口

        Vim支持将编辑器窗口拆分为多个视图,以便同时查看和编辑多个文件或文件的不同部分。

:split :sp :水平拆分当前窗口。
:vsplit :vsp :垂直拆分当前窗口。
Ctrl + w + 方向键( h, j, k, l ):在拆分窗口间切换。

3.2、标签页

        Vim支持使用标签页来组织多个文件。

:tabnew :tabe :新建一个标签页。
:tabnext :tabn :切换到下一个标签页。
:tabprev :tabp :切换到上一个标签页。
:tabclose :tabc :关闭当前标签页。

3.3、文件浏览与管理

        Vim提供了内置的文件浏览器,用于查看和管理文件系统。

:edit . :e . :打开文件浏览器。
:Explore :Ex :在当前窗口打开文件浏览器。
:Vexplore :Vex :在垂直拆分的窗口中打开文件浏览器。

3.4、

        Vim支持录制和执行宏,以便批量执行一系列命令。

q + 字母:开始录制宏。例如,输入 “qa” 开始录制宏 a
q :停止录制宏。
@ + 字母:执行宏。例如,输入 “@a” 执行宏 a

3.5、 代码折叠

        Vim可以将代码折叠起来,以便更清晰地查看文件结构。
zf + 动作:创建一个折叠。例如,输入 “zf3j” 将折叠接下来的 3 行。
zo :打开当前折叠。
zc :关闭当前折叠。

3.6、 插件管理

        Vim支持通过插件扩展其功能。有许多插件管理器可以帮助用户管理插件,例如 Vundle Plug
这些命令仅仅是 Vim 众多功能中的一部分。 Vim 的强大之处在于其高度可定制性和可扩展性,用户可以
根据自己的需求定制不同的配置和插件。

3.7、 多重剪贴板

        Vim支持使用多个寄存器作为剪贴板,以便在不同文本片段之间进行复制和粘贴。
" + 字母 + y :复制选中的文本到指定寄存器。例如,输入 “"ay” 将复制选中文本到寄存器 a
" + 字母 + p :粘贴指定寄存器中的文本。例如,输入 “"ap” 将粘贴寄存器 a 中的文本。

3.8、 文本对象

        Vim支持对文本对象(例如单词、句子和段落)执行操作,这使得编辑操作更加方便。
aw :一个单词(包括空格)。
iw :一个单词(不包括空格)。
as :一个句子(包括空格)。
is :一个句子(不包括空格)。
ap :一个段落(包括空格)。
ip :一个段落(不包括空格)。
结合操作命令,例如删除(
d )、更改(
c )和复制(
y ),可以轻松地操作文本对象。例如,输入 “diw”
将删除光标下的单词。

3.9、 高级搜索

        Vim支持使用正则表达式进行高级搜索和替换。
/\v + 正则表达式:使用 非常魔术 模式进行搜索,减少转义字符的使用。例如,输入 “/\v\d+” 将查
找数字。
:%s/\v + 正则表达式 / 替换文本 /g :使用正则表达式进行全局替换。例如,输入 “:%s/\v\d+/num/g”
将替换所有数字为 “num”

3.10、代码自动补全

        Vim支持代码自动补全,以提高编程效率。
Ctrl + n :在插入模式下,根据当前文件中的单词进行补全。
Ctrl + x + Ctrl + o :在插入模式下,根据已安装插件(如 YouCompleteMe Deoplete )进行智能
补全。

3.11、会话管理

        Vim支持将当前编辑器状态(包括打开的文件、窗口布局和光标位置)保存为会话,以便稍后恢复。
:mksession :mks :将当前会话保存到一个文件中。例如,输入 “:mks session.vim” 将保存当前
会话。
:source :so :恢复之前保存的会话。例如,输入 “:so session.vim” 将恢复之前的会话。

3.12、折叠行号

        Vim支持在折叠区域显示行号,使得折叠代码更加清晰。
:set foldcolumn=1 :在折叠区域显示一个字符宽的行号。
:set foldcolumn=2 :在折叠区域显示两个字符宽的行号。

3.13、 编辑多个文件

        Vim允许用户同时编辑多个文件,可以在不同文件之间快速切换。
:args file1 file2 ... :同时打开多个文件。
:next :n :切换到下一个文件。
:previous :prev :N :切换到上一个文件。
:args :查看当前打开的所有文件。

3.14、 代码注释

        Vim支持快速添加和删除代码注释。
gcc :使用插件(如 NERDCommenter )在当前行添加或删除注释。
gc + 动作:添加或删除选中文本的注释。

3.15、 文件编码

        Vim可以处理不同编码的文件,包括 UTF-8 GBK 等。
:set fileencoding=utf-8 :设置当前文件的编码为 UTF-8
:set fileencoding=gbk :设置当前文件的编码为 GBK

3.16、自动补全菜单

        Vim支持自定义自动补全菜单,使其更符合用户的习惯和需求。
:set completeopt=menu,menuone,noinsert :设置自动补全菜单的选项。
:set completeopt-=preview :禁用自动补全菜单的预览功能。

3.17、代码缩进

        Vim支持自动和手动调整代码缩进。
== :自动调整当前行的缩进。
:增加当前行的缩进。
<< :减少当前行的缩进。

3.18、书签

        Vim支持为文件中的特定位置设置书签,以便快速跳转。
m + 字母:设置一个书签。例如,输入 “ma” 将设置一个名为 “a” 的书签。
' + 字母:跳转到指定书签。例如,输入 “'a” 将跳转到书签 “a”

3.19、调整窗口大小

        Vim允许用户调整窗口大小,以适应不同的屏幕和布局需求。
:resize + 数字:调整窗口高度。例如,输入 “:resize 20” 将将窗口高度设置为 20 行。
:vertical resize + 数字:调整窗口宽度。例如,输入 “:vertical resize 80” 将将窗口宽度设置为 80
列。

3.20、Vim脚本

        Vim支持使用 Vim 脚本( vimscript )来定制和扩展编辑器的功能。
:echo "Hello, Vim!" :在命令模式下输出一条消息。
:call MyFunction() :调用一个自定义函数。

3.21、语法高亮

        Vim支持为不同的编程语言和文件格式启用语法高亮,以提高代码可读性。
:syntax on :开启语法高亮。
:syntax off :关闭语法高亮。

3.22、自定义颜色主题

        Vim允许用户根据个人喜好更改颜色主题。
:colorscheme 主题名称:切换到指定的颜色主题。例如,输入 “:colorscheme desert” 将应用
“desert” 主题。
:colorscheme :查看当前使用的颜色主题。

3.23、显示行号

        Vim支持显示行号,以便快速定位代码。
:set nonumber :不显示行号。

3.24、块选择

        Vim支持在视觉模式下进行块选择,以便轻松地选择和操作多行文本。
Ctrl + v :进入块选择模式。
hjkl 或 方向键:移动光标以选择文本。

3.25、搜索历史

        Vim支持查看和回顾之前的搜索历史。
q/ :查看搜索历史。
上下键:在搜索历史中上下翻阅。
        通过掌握这些Vim 命令,能够更有效地处理各种文本编辑和编程任务。学习和实践这些命令的过程中,可能会发现一些适合自己的技巧和最佳实践。Vim社区和插件的丰富性使得 Vim 具有极高的可定制性,可以根据自己的需求和喜好进行个性化设置。请继续关注Vim 社区的更新,不断提高自己的 Vim 技能,以便充分发挥Vim 的潜力。

你可能感兴趣的:(工具包,vim,编辑器,linux)