【Linux 】开发利器:深度探索 Vim 编辑器的无限可能
大耳朵土土垚 2024-10-05 16:37:05 阅读 77
🔥 个人主页:大耳朵土土垚
🔥 所属专栏:Linux系统编程
这里将会不定期更新有关Linux的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉
文章目录
1. vim的基本概念2. vim的基本操作3. vim正常模式命令集4. vim底行模式命令集5. vim的简单配置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全屏幕编辑画面:
<code>vim [文件名]
有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字
如下图所示:
使用vim打开test.c文件,进入正常模式:
这时想要退出就必须输入<code>shift+;也就是
:
切换到底行模式,在底行输入q回车才能退出:
2)三种模式切换:
【正常模式】切换至【插入模式】:<code>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)按下<code>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文件,然后在插入模式下输入<code>set nu显示行号,并保存退出:
当我们使用vim打开test.c文件时:
发现配置行号后再使用vim打开test.c文件就显示出了行号,大家也可以根据自己的喜欢进行个性化配置
以下是一些常见的Vim配置指令:
设置颜色主题:在.vimrc文件中添加如下指令:
<code>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的一些基本操作,它将成为你在终端环境下高效编辑文本的利器。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。