前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux 】开发利器:深度探索 Vim 编辑器的无限可能

【Linux 】开发利器:深度探索 Vim 编辑器的无限可能

作者头像
大耳朵土土垚
发布2024-09-24 19:20:49
730
发布2024-09-24 19:20:49
举报
文章被收录于专栏:c/c++

1. vim的基本概念

  Vim是一款强大的文本编辑器,常用于在终端环境下编辑文本文件。Vim有多种工作模式,包括普通模式、插入模式、可视模式等12种模式。其中,我们需要掌握三种最常用的模式,分别是命令模式(Normal mode)、插入模式(Insert mode)和底行模式(last line mode)。

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode下。

  • 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。

2. vim的基本操作

1)进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

代码语言:javascript
复制
vim [文件名]

有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字

如下图所示:

使用vim打开test.c文件,进入正常模式:

这时想要退出就必须输入shift+;也就是切换到底行模式,在底行输入q回车才能退出:

2)三种模式切换

  1. 【正常模式】切换至【插入模式】:a/i/o
  • 输入a:在当前光标的后一位置进入插入模式
  • 输入i:在当前光标处进入插入模式
  • 输入o:在当前光标处新起一行进入插入模式
  1. 【插入模式】切换至【正常模式】:Esc  目前处于插入模式,就只能一直输入文字,要想回到正常模式可以按一下Esc键,如果想进入底行模式也只能先转回正常模式,再通过正常模式切换至底行模式。
  2. 【正常模式】切换至【底行模式】:shift + ;

其实就是输入:

 退出vim及保存文件,在底行模式下输入:

  • w (保存当前文件)
  • q(不保存直接退出vim)
  • wq (存盘并退出vim)
  • q! (不存盘强制退出vim)
  • wq!(强制保存并退出vim)
  1. 【底行模式】切换至【正常模式】:Esc  如果想从底行模式进入插入模式也只能先转回正常模式,再通过正常模式切换至插入模式。

三种模式切换示意图如下:

3. vim正常模式命令集

【移动光标】   1)按「h」:将光标往左移动   2)按「 j」:将光标往下移动   3)按「k」:将光标往上移动   4)按「l」:将光标往右移动

在正常模式下vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格

  5)按「Shift+g」:移动到文章的最后   6)按「 $ 」:移动到光标所在行的“行尾”   7)按「^」:移动到光标所在行的“行首”   8)按「w」:光标跳到下个字的开头   9)按「e」:光标跳到下个字的字尾  10)按「b」:光标回到上个字的开头  11)按「#l」:光标移到该行的第#个位置,如:5l,56l  12)按[gg]:进入到文本开始  13)按「n+Enter」:当前光标向下移动n行

【翻页】  1)按「ctrl」+「b」:屏幕往“后”移动一页  2)按「ctrl」+「f」:屏幕往“前”移动一页  3)按「ctrl」+「u」:屏幕往“后”移动半页  4)按「ctrl」+「d」:屏幕往“前”移动半页

【删除】  1)「x」:每按一次,删除光标所在位置的一个字符  2)「#x」:例如,「6x」表示删除光标所在位置的后面(包含自己在内的)6个字符  3)「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符  4)「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符  5)「dd」:删除光标所在行  6)「#dd」:从光标所在行开始删除#行

【复制】  1)「yw」:将光标所在之处到字尾的字符复制到缓冲区中  2)「#yw」:复制#个字到缓冲区  3)「yy」:复制光标所在行到缓冲区  4)「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字  5)「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能

【替换】  1)「r」:替换光标所在处的字符  2)「R」:替换光标所到之处的字符,直到按下「ESC」键为止

【撤销】  1)「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复  2)「ctrl + r」: 撤销的恢复

【更改】  1)「cw」:更改光标所在处的字到字尾处  2)「c#w」:例如,「c3w」表示更改3个字

【大小写切换】  1)按「~」:完成光标所在位置字符的大小写切换  2)按「n~」:完成光标所在位置开始往后的n个字符的大小写切换

【跳至指定行】  1)「ctrl」+「g」列出光标所在行的行号  2)「#G」:例如,「15G」,表示移动光标至文章的第15行行首

【注释/取消注释选中行】  1)按下Ctrl+v、上下移动选中行、按下Shift+i、输入注释符号//、按下Esc即可多行注释  2)按下Ctrl+v、上下移动选中行、按下d即可取消注释

4. vim底行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

【行号设置】  1)「set nu」:显示行号  2)「set nonu」:取消行号

【跳转】  1)「#」:跳到文件中第#行

【查找字符】  1)「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止  2)「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止

在Vim中,?和/都用于查找字符。它们的区别在于:

  • 使用?:按下?后,你需要在命令行中输入你想要查找的字符(或字符串),然后按下回车键。Vim会从当前光标位置开始向上查找与输入匹配的内容。
  • 使用/:按下/后,你需要在命令行中输入你想要查找的字符(或字符串),然后按下回车键。Vim会从当前光标位置开始向下查找与输入匹配的内容。

【保存退出】  1)「w」:保存文件  2)「q」:退出vim,如果无法离开vim,可在「q」后面跟一个「!」表示强制退出  3)「wq」:保存退出

【分屏指令】  1)「vs 文件名」:实现多文件的编辑  2)「Ctrl+w+w」:光标在多屏幕下进行切换

【执行指令】  1)「!+指令」:在不退出vim的情况下,可以在指令前面加上「!」就可以执行Linux的指令,例如查看目录、编译当前代码等

5. vim的简单配置

1)配置文件的位置   在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效:

  而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,就创建一个,然后我们就可以在自己目录下的vimrc文件中加入需要的配置🥳🥳

例如下图在普通用户tutu目录下没有存在.vimrc文件,所以如果我们想自己配置vim,就需要手动创建一个:

2)常用配置选项 【设置语法高亮】: syntax on 【显示行号】: set nu 【设置缩进的空格数为4】: set shiftwidth=4

例如:

我们使用vim打开刚刚创建的.vimrc文件,然后在插入模式下输入set nu显示行号,并保存退出:

当我们使用vim打开test.c文件时:

发现配置行号后再使用vim打开test.c文件就显示出了行号,大家也可以根据自己的喜欢进行个性化配置

以下是一些常见的Vim配置指令:

设置颜色主题:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
colorscheme <主题名称>

可以在.vim目录下的colors目录中找到可用的主题文件。

设置缩进:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
set tabstop=<缩进宽度>
set shiftwidth=<缩进宽度>
set expandtab

这个例子将缩进宽度设置为4,将Tab键转换为空格,使得Tab键按下时插入的是4个空格。

设置行号:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
set number

这个指令会在每一行前显示行号。

设置自动补全:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
set completeopt=menuone,longest

这个指令将打开自动补全菜单,当有多个候选项时,会自动显示菜单。

设置搜索高亮:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
set hlsearch

这个指令会在搜索时高亮显示匹配的文本。

设置语法高亮:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
syntax on

这个指令会启用语法高亮功能。

设置文件编码:在.vimrc文件中添加如下指令:

代码语言:javascript
复制
set encoding=utf-8

这个例子将文件编码设置为UTF-8。

请注意,在修改.vimrc文件后,需要重新启动Vim或者重新加载配置文件才能生效。可以使用如下命令重新加载.vimrc文件:

代码语言:javascript
复制
:source ~/.vimrc

6. 结语

  Vim有非常丰富的功能,可以根据具体需求进行扩展和定制。初学者可能需要一些时间来适应Vim的操作方式,但一旦掌握了Vim的一些基本操作,它将成为你在终端环境下高效编辑文本的利器。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. vim的基本概念
  • 2. vim的基本操作
  • 3. vim正常模式命令集
  • 4. vim底行模式命令集
  • 5. vim的简单配置
  • 6. 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档