首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vim文本编辑器基本操作

Vim(Vi IMproved)是一款强大的文本编辑器,广泛用于Unix和Linux系统。它具有高度可定制性和丰富的功能集,使其成为程序员、系统管理员和文本编辑爱好者的首选工具之一。

1、模式

正常模式(Normal Mode)

正常模式是 Vim 的默认模式,它用于导航、编辑、复制和粘贴文本,以及执行各种命令。

在正常模式下,按键被解释为命令,而不是直接插入文本。

用于导航的键包括 h(左)、j(下)、k(上)、l(右),以及其他命令如 w(向前移动一个词)、b(向后移动一个词)、gg(跳转到文件开头)和 G(跳转到文件末尾)等。

用于删除和复制文本的命令包括 x(删除字符)、dd(删除整行)、yy(复制整行)等。

可以使用 : 进入命令模式,执行各种命令,如保存文件 :w、退出 :q 等。

插入模式(Insert Mode)

插入模式用于输入文本,类似于普通文本编辑器的行为。

进入插入模式的方式包括:

i:在光标前插入文本。

I:在当前行的开头插入文本。

a:在光标后插入文本。

A:在当前行的末尾插入文本。

o:在当前行的下方插入新行并进入插入模式。

O:在当前行的上方插入新行并进入插入模式。

从插入模式返回正常模式通常使用 Esc 键。

可视模式(Visual Mode)

可视模式允许选择文本块以进行操作,如复制、删除或替换。

进入可视模式的方式包括:

v:按字符选择。

V:按行选择。

Ctrl + v:按块选择。

一旦选择文本块,可以执行命令来操作选定的文本。

命令模式(Command-Line Mode)

在正常模式下,键入冒号 : 进入命令模式,用于执行各种命令。

常见的命令包括:

:w:保存文件。

:q:退出 Vim。

:q!:强制退出 Vim,放弃未保存的更改。

:wq 或 :x:保存并退出。

:e:重新加载文件。

:r:在当前位置插入另一个文件的内容。

:set:配置 Vim 选项。

替换模式(Replace Mode)

替换模式用于覆盖文本,逐字符替换已有文本。

进入替换模式的方式包括:

R:按字符替换。

r:按需替换单个字符。

2、切换模式

从正常模式切换到插入模式

插入模式用于在文本中输入或编辑内容,类似于普通文本编辑器的行为。

在正常模式下,可以使用以下命令来切换到插入模式:

i:在光标前插入文本。

I:在当前行的开头插入文本。

a:在光标后插入文本。

A:在当前行的末尾插入文本。

o:在当前行的下方插入新行并进入插入模式。

O:在当前行的上方插入新行并进入插入模式。

一旦进入插入模式,可以自由地键入文本,直到按下 Esc 键返回正常模式。

从正常模式切换到可视模式

可视模式允许选择文本块以进行操作,如复制、删除或替换。

在正常模式下,可以使用以下命令来切换到可视模式:

v:按字符选择。

V:按行选择。

Ctrl + v:按块选择。

一旦进入可视模式,可以使用导航键来选择文本块,然后执行命令来操作选定的文本。

从插入模式返回正常模式

从插入模式返回正常模式通常使用 Esc 键。按下 Esc 键会立即退出插入模式,并将光标定位回正常模式下的当前位置。

3、导航

基本导航命令

使用以下键在正常模式下进行基本的导航:

h:将光标向左移动一个字符。

j:将光标向下移动一行。

k:将光标向上移动一行。

l:将光标向右移动一个字符。

这些键在键盘上排列成一个类似箭头键的形状,以便记忆。

词级导航

Vim 允许以词为单位移动光标,而不是逐字符移动。以下是词级导航的常见命令:

w:将光标向前移动到下一个单词的开头。

b:将光标向后移动到当前单词的开头。

e:将光标移动到当前单词的末尾。

ge:将光标移动到前一个单词的末尾。

行级导航

可以使用以下命令在行级别上导航:

0(零):将光标移到当前行的开头。

$:将光标移到当前行的末尾。

^:将光标移到当前行的第一个非空字符。

文件级导航

可以使用以下命令在文件级别上导航:

gg:将光标移到文件的第一行。

G:将光标移到文件的最后一行。

::将光标移到指定行号。

滚动导航

可以使用以下命令进行滚动导航:

Ctrl + u:向上滚动半屏。

Ctrl + d:向下滚动半屏。

Ctrl + b:向上滚动一屏。

Ctrl + f:向下滚动一屏。

搜索导航

搜索命令可以帮助您快速定位文本。在正常模式下,按 / 进入搜索模式,输入要搜索的文本,然后按 Enter 键开始搜索。使用 n 键和 N 键在搜索结果之间移动。

书签导航

可以使用书签来标记文本的特定位置,然后轻松跳转到这些位置。以下是一些书签命令:

m:将光标位置标记为指定的 。

' 或 ````:跳转到上一个书签。

`::跳转到指定的书签。

4、编辑文本

删除文本

在正常模式下,可以使用以下命令来删除文本:

x:删除光标下的字符。

dd:删除整行。

D:删除从光标位置到行末的文本。

:n1,n2d:删除指定行范围(n1 到 n2)的文本。

复制和剪切文本

在正常模式下,可以使用以下命令来复制和剪切文本:

yy:复制当前行。

y$:复制从光标位置到行末的文本。

p:粘贴之前复制或剪切的文本。

:n1,n2y:复制指定行范围(n1 到 n2)的文本。

:n1,n2d:剪切指定行范围(n1 到 n2)的文本。

粘贴文本

在正常模式下,使用 p 命令可以粘贴最近复制或剪切的文本。粘贴操作会在光标位置后方插入文本。

替换文本

在正常模式下,可以使用以下命令来替换文本:

r:用指定字符替换光标下的字符。

R:进入替换模式,可以连续替换多个字符,按 Esc 退出替换模式。

插入文本

插入模式用于在文本中插入新内容。可以在正常模式下使用以下命令进入插入模式:

i:在光标前插入文本。

I:在当前行的开头插入文本。

a:在光标后插入文本。

A:在当前行的末尾插入文本。

o:在当前行的下方插入新行并进入插入模式。

O:在当前行的上方插入新行并进入插入模式。

撤销和重做

在正常模式下,可以使用以下命令来撤销和重做操作:

u:撤销最后的操作。

Ctrl + r:重做操作(撤销的反操作)。

全局替换

可以使用 :s 命令在文件中进行全局替换操作。例如,:s/old/new/g 将文件中的所有 old 替换为 new。

多光标编辑

Vim 支持多光标编辑,可以使用 Ctrl + v 进入可视块模式,选择多个光标位置,然后同时编辑这些位置的文本。

5、搜索和替换

搜索文本:

正向搜索:在正常模式下,按 / 进入搜索模式。输入要搜索的文本,然后按 Enter 键开始搜索。使用 n 键移动到下一个匹配项,使用 N 键移动到上一个匹配项。

反向搜索:在正常模式下,按 ? 进入反向搜索模式。输入要搜索的文本,然后按 Enter 键开始反向搜索。使用 n 键移动到上一个匹配项,使用 N 键移动到下一个匹配项。

高亮匹配项:默认情况下,Vim 会高亮匹配的文本。若要关闭或打开高亮显示,可以在正常模式下使用 :set hlsearch 或 :set nohlsearch 命令。

搜索选项:可以在搜索命令中使用一些选项,如 /pattern/i 可以忽略大小写,/pattern/n 可以禁用正则表达式匹配。

搜索下划线和其他特殊字符:如果要搜索下划线等特殊字符,可以使用 \ 进行转义,例如 /my\_variable/。

使用寻找命令:在正常模式下,按 * 可以寻找光标下的单词,然后使用 # 寻找上一个匹配项。

替换文本:

替换当前匹配项:在正常模式下,可以使用 :s 命令来替换当前匹配项。例如,要将当前单词 old 替换为 new,可以输入 :s/old/new/。

全局替换:若要替换文件中的所有匹配项,可以在替换命令中使用 g 标志,如 :%s/old/new/g。

替换并确认:若要逐个确认替换每个匹配项,可以在替换命令中使用 c 标志,如 :%s/old/new/gc。

替换范围内的文本:可以使用 :n1,n2s 命令来替换指定行范围内的文本。例如,:10,20s/old/new/g 会在第 10 行到第 20 行之间进行全局替换。

替换回退:Vim 会在替换操作之前自动创建一个回退点,以便可以撤销替换。在正常模式下,可以使用 u 命令来撤销替换。

替换确认:在替换模式下,可以按下 y 来确认替换当前匹配项,按下 n 来跳过当前匹配项。

替换和保存:如果想在替换文本的同时保存文件,可以使用 :w 命令,如 :%s/old/new/g | w。

6、多窗口

打开和关闭窗口:

水平分屏:在正常模式下,可以使用以下命令来创建水平分屏窗口:

:split :创建水平分屏窗口并打开指定文件。

:split 或 Ctrl + w 之后按 s:创建水平分屏窗口,将当前文件分为上下两个部分。

垂直分屏:在正常模式下,可以使用以下命令来创建垂直分屏窗口:

:vsplit :创建垂直分屏窗口并打开指定文件。

:vsplit 或 Ctrl + w 之后按 v:创建垂直分屏窗口,将当前文件分为左右两个部分。

关闭窗口

在窗口中,可以使用以下命令关闭当前窗口:

:q:关闭当前窗口。

:q!:强制关闭当前窗口并放弃更改。

:wq 或 :x:保存并关闭当前窗口。

若要在不关闭 Vim 实例的情况下关闭所有窗口,请使用 :qall。

切换窗口:

切换焦点:在多窗口环境中,可以使用以下命令切换焦点到不同的窗口:

Ctrl + w,然后按 Ctrl + w:循环切换焦点到下一个窗口。

Ctrl + w,然后按 h、j、k 或 l:将焦点分别切换到左、下、上、右的窗口。

切换窗口布局:可以使用以下命令更改窗口布局:Ctrl + w,然后按 R:旋转当前窗口布局,将水平分屏转为垂直分屏或反之。

调整窗口大小:

调整窗口大小:在多窗口中,可以使用以下命令调整窗口大小:

Ctrl + w,然后按 < 或 >:增加或减少当前窗口的宽度。

Ctrl + w,然后按 + 或 -:增加或减少当前窗口的高度。

均等分屏:如果希望均等分割窗口,可以使用以下命令:Ctrl + w,然后按 =:将所有窗口均等分布在 Vim 窗口中。

多文件操作:

打开多个文件:在 Vim 中可以同时打开多个文件。例如,可以在命令行中运行 vim file1.txt file2.txt 来同时打开两个文件。

在窗口之间复制粘贴:在多窗口中,可以使用 :sp 和 :vsp 命令来将一个窗口中的内容复制到另一个窗口。

7、配置文件

创建和编辑配置文件:

创建配置文件:如果系统上尚不存在 .vimrc 文件,可以使用文本编辑器创建一个。在终端中运行以下命令:touch ~/.vimrc

编辑配置文件:使用文本编辑器打开 .vimrc 文件,例如:vim ~/.vimrc,可以在配置文件中添加和编辑各种配置选项,以自定义 Vim 的行为。

配置选项:

缩进设置:设置 tabstop、shiftwidth 和 expandtab 选项来控制缩进的方式。例如:set tabstop=4 set shiftwidth=4 set expandtab

行号和列号:启用行号和列号的显示,使得在编辑时更容易定位位置。例如:set number set relativenumber

自动缩进:启用自动缩进,以便在插入模式中自动进行适当的缩进。例如:set autoindent

语法高亮:启用语法高亮以提高代码的可读性。例如:syntax enable

主题和颜色:使用不同的颜色方案来改变 Vim 的外观。例如:colorscheme desert

搜索设置:配置搜索选项,如忽略大小写、高亮显示匹配项等。例如:set ignorecase set smartcase set hlsearch

显示设置:配置 Vim 显示的一些选项,如行末空格可视化、显示光标当前位置等。例如:set list set showmatch

键映射和快捷键:创建自定义键映射和快捷键,以加快编辑操作。例如:nnoremap :NERDTreeToggle

插件管理器设置:如果使用插件管理器(如 vim-plug、Vundle 等),可以在配置文件中添加插件列表和设置。例如:

call plug#begin('~/.vim/plugged')

Plug 'tpope/vim-fugitive'

call plug#end()

保存和应用配置:

保存配置文件:在编辑完 .vimrc 文件后,使用 :w 命令保存更改。

应用配置:在 Vim 中编辑 .vimrc 文件后,可以使用以下命令使配置生效,而无需退出 Vim::source ~/.vimrc,或者可以重新启动 Vim 以应用新的配置。

8、插件

安装插件:

Vim-Plug:Vim-Plug 是一个流行的插件管理器,易于安装和使用。可以在 .vimrc 文件中添加插件列表,然后运行 :PlugInstall 命令来安装插件。

Vundle:Vundle 是另一个常见的插件管理器,它也使用 .vimrc 配置文件来管理插件。可以使用 :PluginInstall 命令来安装插件。

Pathogen:Pathogen 是一种更传统的插件管理器,它允许将每个插件放置在单独的目录中,并通过简单地将插件目录添加到 Vim 的运行时路径中来加载插件。

常见插件用途:

代码编辑插件

代码编辑插件可用于增强编程体验,包括语法高亮、代码折叠、自动完成、代码片段、代码导航等功能。一些流行的代码编辑插件包括:

vim-airline:自定义状态栏。

YouCompleteMe:强大的自动完成和代码建议插件。

NerdTree:文件树浏览器。

主题和外观插件

主题和外观插件用于改变 Vim 的外观,包括颜色方案、状态栏、行号等。一些主题插件包括:

gruvbox:受欢迎的暗色调主题。

solarized:另一个受欢迎的颜色方案。

lightline:轻量级状态栏插件。

文件管理和导航插件

文件管理和导航插件用于更轻松地浏览和管理文件系统。一些文件管理插件包括:

NERDTree:文件树浏览器。

CtrlP:快速文件搜索和切换插件。

fzf:模糊文件搜索和快速查找插件。

版本控制插件

版本控制插件用于与版本控制系统(如 Git)集成,以在 Vim 中管理代码库。一些版本控制插件包括:

vim-fugitive:强大的 Git 插件。

GitGutter:显示行内 Git 状态信息。

文本处理和编辑插件

文本处理和编辑插件用于执行各种文本操作,如文本搜索、替换、排序和格式化。一些文本处理插件包括:

Ag:快速搜索文本。

Surround:快速添加、更改和删除文本周围的符号。

vim-easymotion:快速移动光标。

9、在线帮助

:help 命令:

在 Vim 中,可以随时使用 :help 命令来访问在线帮助系统。只需在正常模式下键入 :help,然后输入想要了解的主题、命令或选项的名称,然后按 Enter 键。例如:

:help:打开帮助索引。

:help :w:查看 :w 命令的帮助。

:help insert-mode:查看插入模式的帮助。

帮助索引

:help 命令将打开帮助索引,该索引包含了关于 Vim 的广泛文档。可以使用以下键盘命令来导航和查找帮助文档:

使用上下箭头键或 j 和 k 键在不同主题之间导航。

按 Ctrl + ] 键跳转到当前选定主题的详细信息。

按 Ctrl + t 键返回到上一个主题。

使用 / 键来搜索关键字,然后按 Enter 键查找匹配项。

使用 :q 命令退出帮助系统。

帮助标签页

帮助系统支持多个标签页,允许在不同主题之间切换。以下是一些常用的标签页命令:

:help tab-page:打开标签页帮助。

:tabnew 或 :help :tabnew:打开新标签页。

:tabnext 和 :tabprev:在标签页之间切换。

:tabclose 或 :q:关闭当前标签页。

特定主题的帮助

如果知道自己想要查看特定主题的帮助,可以直接使用 :help 命令,后跟主题名称。例如:

:help motions:查看有关移动命令的帮助。

:help text-objects:查看有关文本对象(如单词、段落等)的帮助。

内置教程

Vim 带有一些内置教程,可以通过 :vimtutor 命令启动。这是一个交互式的教程,可以帮助新用户学习 Vim 的基本功能。

离线帮助

如果使用的是 Vim 的源代码分发版本,通常会包含完整的离线帮助文档。这些文档可以在本地查看,无需互联网连接。

这些是 Vim 的基本概念和一些常用命令,Vim 具有丰富的功能和命令,允许用户高效地编辑文本。要充分发挥 Vim 的威力,需要不断练习和学习,并逐渐掌握更高级的功能和定制选项。可以在Vim内部查看帮助文档来深入了解其功能和用法。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OuznstA4h8sxRisUXVBscdWQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券