文章目录
前言
本篇文章,小编将介绍Linux编辑器–>vim以及vim的配置。
vim的基本概念
- 正常/普通/命令模式(Normal mode) 控制屏幕光标的
移动,字符、字或行的删除
,移动复制某区段及进入Insert mode
下,或者到last line mode
- 插入模式(Insert mode) -只有在
Insert mode
下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。 - 底行模式(last line mode) 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开
vim
,底行模式直接输入:help vim-modes
vim基本操作
进入vim
创建一个新的文件,如:
text.c
文件
通过指令
vim text.c
即可进入vim界面
进入vim界面内你是无法进行编辑的,此时是正常模式,只有进入插入模式才可进行编辑
注意:在没有创建
text.c
文件的前提下,使用指令
vim text.c
也是可以直接进入的。在退出的时候,如果直接退出,那么没有保存
text.c
文件,在当前目录下,是没有
text.c
文件的;如果在vim界面内保存退出,在当前目录下就可以看到
text.c
文件。
模式切换
刚刚说了,刚进入vim界面是无法进行编辑,处于正常模式,所有指令都是命令
- 命令模式–>插入模式
输入
a
:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字。
输入
o
:进入插入模式后,是插入新的一行,从行首开始输入文字。
输入
i
:进入插入模式后,是从光标当前位置开始输入文件。
如上图所示,按完
i
后,左下角会有一个
-- INSERT --
字样,表示已经进入插入模式,可以进行编辑。
- 插入模式–>命令模式
按键盘左上角
Esc
键即可
注意:切换到命令模式都是按
Esc
键
- 命令模式–>底行模式
按下键盘
shift+;
,实际上就是
:
如上图所示,有一个
:
,表明已进入底行模式
- 底行模式–>命令模式
按键盘左上角
Esc
键即可
注意:底行模式和插入模式之间无法切换
退出vim
vim界面有些特殊,鼠标都不起作用,那么如何退出呢?
首先进入
底行模式
,一下指令是退出操作:
: w
(保存当前文件): wq
(输入「wq」,存盘并退出vim): q!
(输入q!,不存盘强制退出vim)
vim指令
vim命令模式指令
- 移动光标
vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母
「h」、「j」、「k」、「l」
,分别控制光标左、下、上、右移一格
按
「G」
:移动到文章的最后
按
「 $ 」
:移动到光标所在行的“行尾”
按
「^」
:移动到光标所在行的“行首”
按
「w」
:光标跳到下个字的开头
按
「e」
:光标跳到下个字的字尾
按
「b」
:光标回到上个字的开头
按
「#l」
:光标移到该行的第#个位置,如:5l,56l
按
[gg]
:进入到文本开始
按
[shift+g]
:进入文本末端
按
「ctrl」+「b」
:屏幕往“后”移动一页
按
「ctrl」+「f」
:屏幕往“前”移动一页
按
「ctrl」+「u」
:屏幕往“后”移动半页
按
「ctrl」+「d」
:屏幕往“前”移动半页
- 删除文字
「x」
:每按一次,删除光标所在位置的一个字符「#x」
:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符「X」
:大写的X,每按一次,删除光标所在位置的“前面”一个字符「#X」
:例如,「20X」表示删除光标所在位置的“前面”20个字符「dd」
:删除光标所在行「#dd」
:从光标所在行开始删除#行 - 复制
「yw」
:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」
:复制#个字到缓冲区
「yy」
:复制光标所在行到缓冲区。
「#yy」
:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」
:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
- 替换
「r」
:替换光标所在处的字符。
「R」
:替换光标所到之处的字符,直到按下「ESC」键为止。
- 撤销上一次操作
「u」
:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回 复。「ctrl + r」
: 撤销的恢复 - 更改
「cw」
:更改光标所在处的字到字尾处
「c#w」
:例如,「c3w」表示更改3个字
- 跳到指定的行
「ctrl」+「g」
列出光标所在行的行号。
「#G」
:例如,「15G」,表示移动光标至文章的第15行行首
vim底行模式命令
- 列出行号
「set nu」
: 输入「set nu」后,会在文件中的每一行前面列出行号。 - 跳到文件中的某一行
「#」
:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。 - 查找字符
「/关键字」
: 先按「/」
键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」
会往后寻找到您要的关键字为止。「?关键字」
:先按「?
」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」
会往前寻找到您要的关键字为止。 - 保存文件
「w」
: 在冒号输入字母「w」就可以将文件保存起来 - 离开vim
「q」
:按「q」
就是退出,如果无法离开vim,可以在「q」
后跟一个「!」
强制离开vim。「wq」
:一般建议离开时,搭配「w」
一起使用,这样在退出的时候还可以保存文件。
简单vim配置
我们在vim下写代码,会有很多问题,如:无法自动缩进,不能补齐括号等问题,在编程中带来不便。为了解决这一问题,我们需要去配置一下我们的vim,这样才能使得vim使用起来更加方便。
配置项一般都放在用户家目录下的
.vimrc
文件中,
.vimrc
就叫做配置文件,家目录中如果没有这个文件可以自行创建一个
touch .vimrc
,然后可以将配置项写入
.vimrc
文件中。
在这里,向大家简单介绍几个常见的配置:
set nu//设置行号
syntax on//语法高亮
set showmode//底部显示当前处于什么模式
set cursorline//显示行号下划线
set shiftwidth=4//设置缩进的空格数为4
……
但是,有了这些配置依然远远不够,还需要安装插件。
下面给大家展示一下我的配置好的vim:
可以自动补齐,自动缩进等,和VS没什么太大差别啦
这里的自动化配置方案读者可以私信小编,小编将为大家提供。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=m7v059zdx3bb
版权归原作者 南桥几晴秋 所有, 如有侵权,请联系我们删除。