🔥 个人主页:大耳朵土土垚 🔥 所属专栏:Linux系统编程
这里将会不定期更新有关Linux的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉
文章目录
- [1. vim的基本概念](#1. vim的基本概念)
- [2. vim的基本操作](#2. vim的基本操作)
- [3. vim正常模式命令集](#3. vim正常模式命令集)
- [4. vim底行模式命令集](#4. vim底行模式命令集)
- [5. vim的简单配置](#5. vim的简单配置)
- [6. 结语](#6. 结语)
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全屏幕编辑画面:
bash
vim [文件名]
有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字
如下图所示:
使用vim打开test.c文件,进入正常模式:
这时想要退出就必须输入
shift+;
也就是:
切换到底行模式,在底行输入q回车才能退出:
2)三种模式切换:
- 【正常模式】切换至【插入模式】 :
a/i/o
- 输入a:在当前光标的后一位置进入插入模式
- 输入i:在当前光标处进入插入模式
- 输入o:在当前光标处新起一行进入插入模式
-
【插入模式】切换至【正常模式】 :
Esc
目前处于插入模式,就只能一直输入文字,要想回到正常模式可以按一下
Esc
键,如果想进入底行模式也只能先转回正常模式,再通过正常模式切换至底行模式。 -
【正常模式】切换至【底行模式】 :
shift + ;
其实就是输入
:
退出vim及保存文件,在底行模式下输入:
- w (保存当前文件)
- q(不保存直接退出vim)
- wq (存盘并退出vim)
- q! (不存盘强制退出vim)
- wq!(强制保存并退出vim)
- 【底行模式】切换至【正常模式】 :
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文件中添加如下指令:
colorscheme <主题名称>
可以在.vim目录下的colors目录中找到可用的主题文件。
-
设置缩进:在.vimrc文件中添加如下指令:
set tabstop=<缩进宽度> set shiftwidth=<缩进宽度> set expandtab
这个例子将缩进宽度设置为4,将Tab键转换为空格,使得Tab键按下时插入的是4个空格。
-
设置行号:在.vimrc文件中添加如下指令:
set number
这个指令会在每一行前显示行号。
-
设置自动补全:在.vimrc文件中添加如下指令:
set completeopt=menuone,longest
这个指令将打开自动补全菜单,当有多个候选项时,会自动显示菜单。
-
设置搜索高亮:在.vimrc文件中添加如下指令:
set hlsearch
这个指令会在搜索时高亮显示匹配的文本。
-
设置语法高亮:在.vimrc文件中添加如下指令:
syntax on
这个指令会启用语法高亮功能。
-
设置文件编码:在.vimrc文件中添加如下指令:
set encoding=utf-8
这个例子将文件编码设置为UTF-8。
请注意,在修改.vimrc文件后,需要重新启动Vim或者重新加载配置文件才能生效。可以使用如下命令重新加载.vimrc文件:
:source ~/.vimrc
6. 结语
Vim有非常丰富的功能,可以根据具体需求进行扩展和定制。初学者可能需要一些时间来适应Vim的操作方式,但一旦掌握了Vim的一些基本操作,它将成为你在终端环境下高效编辑文本的利器。