文章目录
一.vim的基本概念
vim是一个专注的编辑器,支持多模式编辑,有命令模式,视图模式,替换模式,插入模式,底行模式。
1.正常/命令模式
首次打开vim进入的就是命令模式,命令模式是vim的核心和精华。
- 功能: 控制屏幕光标的移动,进行字符、单词或行的删除、移动、复制等操作,以及进入插入模式或末行模式。
- 特点: Vim启动时的默认模式,用于执行各种编辑命令。在此模式下,用户可以通过键盘快捷键快速移动光标,进行文本的浏览和编辑操作。
- 进入方式: Vim启动后自动进入,或者从其他模式按
Esc
键返回。
2.插入模式
- 功能: 允许用户直接在文本中输入内容。
- 特点: 只有在插入模式下,才可以进行文本输入。
- 进入方式: 在命令模式下,按下
i
键即可进入插入模式。 - 退出方式: 按下
Esc
键即可退出插入模式,返回正常模式。
3.底行模式/末行模式
- 功能: 用于执行一些特殊的命令,如文件保存、退出Vim、查找替换、设置环境等。
- 特点: 提供了一种方便的方式来执行全局命令。
- 进入方式: 在命令模式下,按下
:
进入底行模式。 - 退出方式: 按下
Esc
键即可退出底行模式,返回正常模式。
4.视图模式
- 功能: 用于选择文本块,方便进行复制、粘贴、删除等操作。
- 特点: 择文本时有一种鼠标选择的即视感,非常直观。
- 进入方式: 在正常模式下,按下
v
键进入字符选择模式,按下V
键进入行选择模式,按下Ctrl+v
键进入块选择模式。 - 退出方式: 按下
Esc
键即可退出视图模式,返回正常模式。
5.替换模式
- 功能: 用于直接替换光标所在位置的字符。
- 特点: 在替换模式下,输入的字符将直接替换光标所在位置的字符。
- 进入方式: 在正常模式下,按下
R
键即可进入替换模式。 - 退出方式: 按下
Esc
键即可退出替换模式,返回正常模式。
二.vim的基本操作
1.进入vim:
指令: vim 文件名
输入vim及文件名称后,就进入vim全屏幕编辑画面,如果文件不存在vim也会新建文件。
注意: 进入vim之后,是处于正常模式,你要切换到插入模式才能够输入文字。
正常模式 切换到 插入模式:
i
:在当前光标位置前插入a
:在当前光标位置后插入o
:在当前行后插入新行
插入模式 切换到 正常模式:
- 点击键盘上的
Esc
键就可以退出到命令模式。(所有模式退到命令模式都是这样)
正常模式 切换到 底行模式:
- 按
shift + ;
,其实就是输入:
。
2.退出vim:
- 在底行模式下,输入
w
保存当前文件,输入q
退出vim。 - 在底行模式下,
wq
保存并退出vim。 q!
:不保存,强制退出vim。
三.vim正常模式命令集
1.光标定位:
gg
:光标定位到文本最开始。shift+g
/G
:光标定位到文本最结尾行。(第一个文本所在的地方)n+G
:n是任意数字,定位光标到任意行。(第一个文本所在的地方)shift+4
/$
:光标定位到行尾。shift+6
/^
:光标定位到行首。
上面两种方式也被称为锚点h
,j
,k
,l
:以字符为单位进行左、下、上、右移动。w
/b
:光标以单词为单位进行行内或跨行移动。(也可可以配合n使用,一次跨越n个单词)
2.复制/粘贴
yy
:复制当前行。(也可以配合n使用,一次复制多行)p
:粘贴到当前行的下一行。(也可以配合n使用,一次粘贴多份)
3.撤销
u
:对上一个操作进行撤销,按多次可执行多次撤销。(只要不退出vim,就可以一直撤销)ctrl+r
:对u进行撤销。
这两个命令是环状的,互相可以取消对方
4.剪切/删除
dd
:剪切/删除当前行。dd完如果不p的话,那就是删除,如果p的话就是剪切x
:删除光标所在位置的字符。(也可以配合n使用,一次删除多个字符)shift+x
/X
: 删除光标所在位置的前面一个字符。(也可以配合n使用,一次删除前n个字符)
5. 更改
- shift+ `/ ~:快速大小写切换。
r
:进行文本替换。(也可以配合n使用,进行小范围的文本替换)shift+r
/R
:模式切换为替换模式,替换光标所到之处的字符。(退出无脑Esc
)
四.vim底行模式命令集
1.保存/退出
w
:保存w!
:强制保存q
:退出q!
:强制退出wq
:保存并退出wq
!:强制保存并退出
2.调出行号
set nu
:调出行号set nonu
:取消行号
3.搜索字符
/关键字
:先输入/
,再输入你想要要查找的字符,如果第一次找的不是你想要的,可以按n,会继续往后寻找。?关键字
:输入?
,再输入你先更要查找的字符,如果第一次找的不是你想要的,可以按n,会继续往后寻找。
4.命令执行
!
:在不退出vim的情况下执行命令。
5.分屏操作
vs 文件名
:实现多文件分屏。ctrl+ww
:实现光标在分屏多文件之间的切换,光标在哪个窗口里面,就对哪一个窗口进行操作。
五.补充几个实用的命令
1.命令模式
- 批量化注释:
ctrl+v
->hjkl
->shift+i / I
->//
->Esc
- 批量化去注释:
ctrl+v
->hjkl
->d
2.底行模式
-
批量化替换:
%s/被替换的对象/替换的对象/g
,g
是global
的意思,表示全面的
例如:将文本中的printf替换成print:%s/printf/print/g
-
进文件后光标直接到指定行:
vim 文件名 +指定行
例如:进入code.c文件光标直接定位到第15行:vim code.c +15
3.快速执行历史命令
!+命令的开始符
:快速执行历史命令。
例如:
六.vim的配置
未经配置的vim,在插入模式下写代码的时候,没有任何语法提醒,也没有自动补全的功能,使用起来很不方便。要实现在写代码的时候给出提示,需要我们自行对vim进行配置。
1.vim的配置文件
一般情况下vim的配置都是在一个叫做.vimrc
的文件里面。这个文件如果没有我们要手动创建一个。所以vim最根本的配置本质上就是修改当前家目录里的.vimrc
的文件,向里面添加配置项。
示例:
没添加任何配置项的原始vim
向.vimrc
文件里面添加显示行号的配置项set nu
,保存并退出
再次打开test.c文件就会发现代码前带上了行号
一般配置vim都是在你自己的家目录里面配置的,所以一台Liunx机器下有多个用户的前提下,你自己配置的vim影响不了用户。
今天的内容就分享到这里,如果这篇文章对你有帮助,记得点赞,评论+收藏 ,最后别忘了关注作者,作者将带领你探索更多关于Liunx方面的问题。