【Linux】vim的使用

Linux系统
188
0
0
2024-04-28

这个是在网上找的一张关于vim键盘的图

在这里插入图片描述

1. 前言

vim是Linux编辑器,功能上和记事本没有区别。不仅仅可以用来写c语言和c++,其它语言也可以在上面写。

2. vim的基本概念

vim是一款多模式的编辑器,但是目前掌握这3种即可,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
  2. 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式
  3. 末行模式(last line mode) 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

3. vim的基本操作

进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

代码语言:javascript

复制

vim a.txt

在这里插入图片描述

不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。

[正常模式]切换至[插入模式]有三种方式: 输入a 输入i 输入o

在这里插入图片描述

在这里插入图片描述

[插入模式]切换至[正常模式] 目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

[正常模式]切换至[底行模式] 「shift + ;」, 其实就是输入「:」

在这里插入图片描述

在这里插入图片描述

退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」 : w (保存当前文件) : wq (输入「wq」,存盘并退出vim) : q! (输入q!,不存盘强制退出vim)

在这里插入图片描述

总之,三个模式切换如下图:

在这里插入图片描述

注意:底行模式是不能直接到插入模式的,同样插入模式也不能直接到底行模式。

4. vim正常模式命令集

4.1 命令模式

允许使用者通过命令,来进行文本的编辑控制。 像键盘是用来做输入的,那么鼠标是用来对文本进行控制,例如复制粘贴,区域选择、大小写转换。 yy:复制当前光标所在的行 n+yy:连续复制n行 p:粘贴,当前光标的下一行 n+p:表示把指定内容粘贴n次。 举个例子:把第5行yy一下,再p三次

在这里插入图片描述

直接进行10p就粘贴了10次。

在这里插入图片描述

u:撤销 要将上面命令撤销,就u三次

在这里插入图片描述

ctrl+r: 对历史撤销,进行撤销

在这里插入图片描述

dd:剪切/删除指定行 举个例子:dd一下第5行

在这里插入图片描述

n+dd:剪切/删除指定多行 举个例子:5dd

在这里插入图片描述

在这里插入图片描述

4.1.1 光标定位

shift+4=$:将光标的位置定位到当前行的结尾

在这里插入图片描述

shift+6=^:将光标的位置定位到当前行的开始

在这里插入图片描述

gg:将光标定位到整个文本的最开头

在这里插入图片描述

shift+g=G:将光标定位到整个文本的最后一行

在这里插入图片描述

n+shift+g=G:将光标定位到整个文本的任意一行 举个例子:10+shift+g,定位到第10行

在这里插入图片描述

h,j,k,l:左,下,上,右,也可以带n。 h(左) j(jimp,下) 上(king,上) l(右) 键盘上的上下左右键也能用。

w:按照单词为单位进行光标后移

在这里插入图片描述

b:按照单词为单位进行光标前移

在这里插入图片描述

在这里插入图片描述

shift+`=~:大小写进行切换

在这里插入图片描述

n+x:删除光标后续的一个字符,可以删除一次n个(在一行内)

在这里插入图片描述

n+shift+x=X:删除光标之前的一个字符,可以删除一次n个(在一行内)

在这里插入图片描述

n+r:对光标指定位置,进行一个字符替换,可以一次替换多个 把w替换为a

在这里插入图片描述

shift+r=R:进入替换模式,直接进行文本替换

在这里插入图片描述

shift+zz=Z:保存退出

在这里插入图片描述

4.2 插入模式

也就是编辑模式

  1. 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

在这里插入图片描述

在这里插入图片描述

  1. 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

在这里插入图片描述

  1. 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

在这里插入图片描述

4.3 底行模式

用来进行让vim进行包括但不限于shell进行交互的。 w (保存当前文件)

在这里插入图片描述

wq (输入「wq」,存盘并退出vim)

在这里插入图片描述

q! (输入q!,不存盘强制退出vim)

在这里插入图片描述

打开test.c发现还是修改之前的

在这里插入图片描述

set nu 打开行号

在这里插入图片描述

set nonu 去掉行号

在这里插入图片描述

!command:不退出vim,可以进行shell命令执行,常用函数查看 举个例子:!gcc test.c

在这里插入图片描述

在这里插入图片描述

再来看看!ls -l

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

:vs filename分屏,多文件操作 先新建一个code.c

在这里插入图片描述

然后打开

在这里插入图片描述

在这里插入图片描述

再打开test.c 如果想要在vim中进行多文件操作 在底行模式下输入:vs test.h

在这里插入图片描述

在底行模式下又输入:vs code.c

在这里插入图片描述

光标在哪个文件就在哪个文件编辑。 那么怎么从一个文件跳到另一个文件呢? 在命令模式下用ctrl+ww

在这里插入图片描述

在这里插入图片描述

就能实现界面光标的切换。

有问题请指出,大家一起进步吧!