🏖️作者:@malloc不出对象
⛺专栏:Linux的学习之路
👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈
目录
- 前言
- 一、vim的概念
- 二、命令模式
- 2.1 命令模式下的基本指令
- 2.1.1 复制粘贴
- 2.1.2 删除/剪切
- 2.1.3 移动光标
- 2.1.4 其他命令
- 2.2 进入插入模式
- 三、底行模式
- 3.1 底行模式下的常用命令
- 四、vim的配置
- 4.1 vim手动配置
- 4.2 vim的一键配置
- 五、vim的注意事项
前言
本篇文章我们将要讲解的是Linux中的编译器vim,简单来说你就可以把它当成windows下的记事本,它是我们工作当中非常重要的工具!!
一、vim的概念
vim 是一种多模式的编辑器。那 vim 有多少中模式呢?vim 总共有 13 中模式,但是最常用的模式就只有 3~5 种,分别是命令模式、插入模式、底行模式、替换模式和视图模式,接下来我们将重点学习前三种模式的切换和使用。
- 命令模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode(打开vim默认所处的模式)。
- 插入模式:只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 末行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。
今天我们先来学习这四种模式,视图模式的切换和使用下次我们遇到了再来讲吧。
二、命令模式
2.1 命令模式下的基本指令
2.1.1 复制粘贴
指令 | 功能说明 |
---|---|
yy | 复制光标所在行的整行内容 |
nyy | 复制从光标所在行开始向下的n行内容,n为正整数,表示复制的行数 |
p | 粘贴,将复制的内容粘贴在光标所在行的下一行 |
npp | 将复制的内容粘贴n次 |
2.1.2 删除/剪切
指令 | 功能说明 |
---|---|
dd | 剪切光标所在行的内容(如果未进行粘贴就是删除) |
ndd | 剪切光标所在行在内的n行内容 |
x | 删除光标所在位置的字符 |
X | 删除光标所在位置的前一个字符 |
nx | 删除光标所在位置及其向后的n-1个字符(不超过当前行,左侧->右侧) |
nX | 删除光标所在位置及其向前的n-1个字符(不超过当前行,右侧->左侧) |
2.1.3 移动光标
指令 | 功能说明 |
---|---|
$(shift+4) | 将光标移动到该行的行尾 |
^(shift+6) | 将光标移动到该行的第一个非空字符处 |
0 | 将光标移动到该行的行首 |
G(shift+g) | 将光标移动到文件最后一行的第一个非空字符处 |
nG | 将光标移动到文件第n行的第一个非空字符处 |
gg | 将光标移动到文件第一行的第一个非空字符处 |
w | 将光标向后移动一个字(单词) |
nw | 将光标向后移动n个字 |
b | 将光标向前移动一个字 |
nb | 将光标向前移动n个字 |
h | 向左移动光标 |
l | 向右移动光标 |
j | 向下移动光标 |
k | 向上移动光标 |
上下左右键 | 向上下左右移动光标(新式键盘的移动方式) |
2.1.4 其他命令
命令 | 功能说明 |
---|---|
~(shift+1) | 字符大小写切换 |
r | 替换光标所在位置的字符,如:rx是指将光标所在位置的字符替换为x |
nr | 将光标所在位置的字符及其向后n-1个字符替换为指定字符 |
R | 进入替换模式,替换光标所到之处的字符,直至摁下 “Esc” 键为止 |
u | 表示恢复功能,即撤销上一次的操作(Windows下的Ctrl+z,撤销) |
Ctrl + r | 撤销上一次的u操作(Windows下的Ctrl+y,还原) |
ctrl + v + hjkl + I + // + Esc | ctrl + v进入视图模式,hjkl选中区域,I输入内容,选中区域开头全部添加//,Esc退出就表示注释功能 |
2.2 进入插入模式
指令 | 功能说明 |
---|---|
i | 从光标所在的位置开始插入新的字符 |
I | 从光标所在行的行首开始插入新的字符 |
a | 从光标所在位置的下一个字符开始插入新的字符 |
A | 从光标所在行的行尾开始插入新的字符 |
o | 增加一行,并将光标移动到下一行的开头开始插入新的字符 |
O | 在当前行的上面增加一行,并将光标移动到上一行的开头开始插入新的字符 |
三、底行模式
在命令模式下输入 “:”、“/” 或者 “?”,即可进入底行模式。在该模式下,用户输入的任何字符串都会被当成命令,会在 vim 的最下面一行显示,摁下回车键后会执行该命令。如果该字符串不是一个有效的命令,则会出现错误提示。
3.1 底行模式下的常用命令
命令 | 功能说明 |
---|---|
w | 保存文件,但不退出 vim(w:write) |
w! | 对于只读文件,强制保存修改的内容,但不退出 vim |
q | 退出 vim,如果文件有过修改,则必须先保存文件 |
q! | 强制退出 vim 而不保存文件 |
wq | 保存文件并退出 vim |
vs 文件名 | 创建或打开文件并分屏(光标所处位置即当前所处哪个文件) |
Ctrl + ww | 将光标切换到下一个文件(通常与vs 文件名配合使用) |
!command | 不退出 vim 执行Linux指令,按任意键继续 |
s/pattern1/pattern2/g | 将光标所在行的字符串pattern1替换为pattern2 |
%s/pattern1/pattern2/g | 将所有行的字符串pattern1替换为pattern2 |
g/pattern1/s/pattern2 | 将所有行的字符串pattern1替换为pattern2 |
/ | 查找匹配字符串功能,输入 “/字符串”,系统便会自动查找并突出显示所有找到的字符串,然后转到找到的第一个字符串。如果想继续向下查找,可以摁 “n” 键;向上查找则摁 “N” 键 |
? | 也可以使用 “?字符串” 来查找指定的字符串,它的使用与 “/字符串” 相似,但它是向前查找字符串 |
set xx | 设置xxx功能,例如:set nu在文件中每行开头显示行号等 |
四、vim的配置
vim 的配置是一人一份的,一个用户配置的 vim 是自己的,不影响别的用户。每个人虽然用的是同一个 vim 程序,但是大家用的是不同的 vim 配置。每个用户在自己的家目录都有一个属于自己的配置文件.vimrc,用户的家目录是没有.vimrc的,需要自己创建。所谓的 vim 基本配置,就是修改自己的.vimrc文件,不要动任何不属于自己的配置文件。
4.1 vim手动配置
我们在自己的家目录输入vim .vimrc创建 vim 的配置文件,然后再文件内输入一下配置选项,根据个人的喜好去配置。但是对新手来说不建议,因为有些插件还是比较麻烦的。
vim在启动时,会自动在当前用户的目录下寻址配置文件,如果没有就是默认的vim。
4.2 vim的一键配置
这里有一个已经配置好了的vim插件,大家可以直接复制这个指令进行配置,下载完成之后按照提示继续操作就好了。
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
安装完成后就是这样的样式:
五、vim的注意事项
vim 文件,如果该文件已经存在就打开文件,如果不存在创建打开。
vim的注意事项:
1.不知道当前所在模式,无脑Esc切换到命令模式
2.退出的时候,一般都是先保存再退出
3.vim中操作尽量不要使用鼠标和滑轮(Linux中也是如此,例如:man、more中),滑轮也是一个指令
本篇文章的讲解就到这里了,如果有任何问题或者疑问欢迎大家评论区随时交流哦orz~🙈🙈