Linux(入门基础):44---vim编译器的功能、配置与使用

时间:2024-05-18 18:38:32

前言

vim内的相关命令操作,参考vi编辑器的文章,里面都有:https://blog.****.net/qq_41453285/article/details/87540683

一、vim缓存文件介绍

1.概念

  • 如果你使用vim在编辑一个文件时,突然电脑死机或者种种原因导致文件未保存或处理就关闭了vim编辑器,那么系统此时就会将文件这些数据保存为一个缓存文件

2.注意事项

  • 缓存文件名为:原文件名.swp
  • 缓存文件为系统隐藏文件
  • 缓存文件只有当编辑器不正常退出时才会建立
  • 因为vim非正常退出,所以文件数据尚未保存。但是数据保存在缓存文件中,因此可以通过缓存文件来恢复数据

3.案例

第一步:例如我们模拟系统,让vim编辑器非正常退出,可以看到有个缓存文件产生

Linux(入门基础):44---vim编译器的功能、配置与使用

第二步:再使用vim编辑器打开文件(注意:是打开源文件,不是缓存文件)

Linux(入门基础):44---vim编译器的功能、配置与使用

因为文件非正常退出,所以再次打开文件时,系统会提示你一些错误提示信息,并且在最底下可以让你输入一些命令来进行下一步操作

  • 系统提示你(1)和(2),这是两个错误提示信息

(1)的意思是:可能有其他人或程序同时在编辑你这个文件,有以下解决方法

  • ①找到另外一方,让其停止编辑操作
  • ②在最底下输入O,进入只读状态来读取查看文件

(2)的意思是:在前一个vim环境中,因为某些不知名的原因导致vom中断,有以下解决方法

  • ①输入R来进行缓存文件恢复数据
  • ②如果缓存文件无用,输入D命令删除缓存文件并打开这个文件
  • 最下方有6个可以选择进行操作的选项
O(open read-only) 打开此文件进入只读状态,不能够进行编辑。可用于一个文件正在被他人编辑时来进行读取
E(edit anyway) 还是使用正常的方式打开你这个要编辑的文件,并不会加载缓存文件的内容。不过可能会出现多个用户同时更改文件数据的问题,缓存文件还存在
R(recover) 以缓存文件的内容打开这个文件,此时就可以将以前那些未保存的数据再读取进来。不过当你退出vim后,缓存文件还存在,需要手动删除
D(delete it) 确定这个缓存文件是无用的,然后打开原文件并且删除这个缓存文件
Q(quit) 直接退出vim,不存在任何操作
A(abort) 忽略这个编辑操作,与Q的功能类似

第三步:我们在最下方输入R,来进行缓存恢复数据方式打开文件

二、区块编辑操作

1.vim编译器提供了对一个区域/行/列进行操作的功能

  • 下面这些操作是在一般模式下操作的,不是在编辑模式下操作的
v 单字符选择,会将光标经过的地方反白选择

V

行选择,会将光标经过的行反白选择
ctrl+v 以矩形的方式选择数据
y 将反白的地方复制起来
d 将反白的地方删除掉
p 将刚刚复制的内容,在光标处粘贴

2.演示操作

  • 第一步:打开1.txt,按下ctrl+v选择一个区块

Linux(入门基础):44---vim编译器的功能、配置与使用Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第二步:按下y将选中的地方复制
  • 第三步:输入o进入编辑模式,将光标移动到第一行的最后然后移动两位。再按下esc回到一般模式,将刚才选择的数据按下p键粘贴

Linux(入门基础):44---vim编译器的功能、配置与使用

三、多文件同时编辑功能

1.概念:可以使用vim编辑器来同时在一个窗口编辑两个文件的内容

2.使用案例

  • 第一步:使输入命令vim  1.txt  2.txt同时打开两个文件。打开文件之后会默认先编辑第一个文件,所以显示的是第一个文件的内容

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第二步:一般模式下输入:files查看两个文件的信息

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第三步:在第一行输入4yy来复制四行数据,下面会有提示

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第四步:输入:n,来到第二个文件中

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第五步:按下G来到最后一行,然后按下p进行粘贴

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第六步:按下u撤回上一步操作,相当于Windows中的ctrl+z撤回操作(因为此处我们不想改变数据)

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第七步:输入:q离开vim

四、多窗口功能

1.概念

  • 开启了多窗口功能,就可以同时打开多个文件并且在同一个窗口显示

2.方法

  • 在命令行模式下输入:sp即可,后面可接/不接文件名
  • 如果:sp后面不接文件,则默认再打开一个当前文件。如果:sp后面接其他文件,则代表打开其他文件

3.注意事项

  • 输入:sp打开的文件默认接在当前文件的上方显示

4.相关操作

  • 当输入sp进入多窗口时,可以输入一下命令来进行操作
ctrl+w+↑或者ctrl+w+j(按的方法是:先按ctrl不放,再按下w,然后松开所有键再按↑或者j) 从当前文件窗口移动到上方文件窗口
ctrl+w+↓或者ctrl+w+k(按的方法同上)) 从当前文件窗口移动到下方文件窗口
ctrl+w+q(按的方法同上))或者:q,或者:close 关闭当前这个窗口

5.演示案例

  • 第一步:我们输入命令vim 1.txt打开1.txt

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第二步:输入:sp  2.txt,再打开2.txt文件

Linux(入门基础):44---vim编译器的功能、配置与使用Linux(入门基础):44---vim编译器的功能、配置与使用

可以看到,2.txt文件被打开,并且是在上方打开

  • 第三步:输入:sp

可以看到又打开了一个文件。因为:sp后面没有接文件名,并且当前操作路径在2.txt,所以默认打开2.txt

Linux(入门基础):44---vim编译器的功能、配置与使用

五、关键字补全功能

1.概念

  • 因为vim可以作为各种编程语言的编辑器,因此vim也提供了关键字补齐功能

2.相关按键操作

ctrl+x加上ctrl+n(先按下ctrl+x,然后松开再按ctrl+n) 通过目前正在编辑的这个文件的内容文字作为关键字,给予补齐
ctrl+x加上ctrl+f 以当前目录内的文件名作为关键字,给予补齐
ctrl+x加上ctrl+f 以扩展名作为语法补齐,以vim内置的关键字给予补齐
  • 注意:ctrl+x加上ctrl+f对文件的后缀名有要求,如果后缀名有误则不提供补齐功能,即C语言需要.c后缀名,css语法需要.html后缀名等

3.案例

  • 例如:我们编写C语言文件时,按下i,然后按下ctrl+x加上ctrl+f,则会显示出以i开头的关键给你选择

六、vim环境设置与记录:~/.vimrc,~/.viminfo

1概念

  • ~/.viminfo文件:这个文件会记录你vim的使用记录,例如你在vim中查找文件内容,退出文件时光标停留在文件中何处等都会记录下来

Linux(入门基础):44---vim编译器的功能、配置与使用

  • /etc/vim/vimrc文件:系统的vim的环境设置参数配置文件。例如:记录了文件是否首行缩进,字体颜色如何显示,是否自动保存备份文件等等。这个文件是针对所有用户使用vim时都生效的系统配置文件,是默认配置文件
  • ~/.vimrc配置文件:这个文件与/etc/vim/vimrc文件功能相同,也是记录vim的环境设置参数。不过这个配置文件是只针对此配置文件的拥有者与用户组才生效的配置文件。另外,这个文件默认不存在,需要手动在~目录下建立。例如:想要设置不同用户自己的vim编辑器配置,则建立~/.vimrc文件。如果建立了此配置文件,则vim编译器不再使用系统的/etc/vim/vimrc配置文件,而是使用此配置文件

Linux(入门基础):44---vim编译器的功能、配置与使用

2.注意事项

  • 重点:~/.vimrc为自己手动建立文件,所以该配置文件的拥有者与用户组十分重要,配置文件只对自己的拥有者和用户组使用vim编辑器时才生效(例如:dongshao用户的~/.vimrc配置文件里面的参数只有当donsghao这个用户使用vim编辑器时才生效,其他人使用不生效)

2.相关配置参数

:set nu
:set nonu
就是设定与取消行号啊!
:set hlsearch
:set nohlsearch
hlsearch 就是 high light search(高亮度搜寻)。这个就是设定是否将搜寻的字符串反白的设定值。默认值是 hlsearch
:set autoindent
:set noautoindent
是否自动缩排?autoindent 就是自动缩排。
:set backup 是否自动储存备份档?一般是 nobackup 的,如果设定 backup 的话,那么当你更动任何一个档案时,则源文件会被另存成一个档名为 filename~ 的档案。举例来说,我们编辑 hosts ,设定 :set backup ,那么当更动 hosts 时,在同目录下,就会产生 hosts~ 文件名的档案,记录原始的 hosts 档案内容
:set ruler 还记得我们提到的右下角的一些状态栏说明吗?这个 ruler 就是在显示或不显示该设定值的啦!
:set showmode 这个则是,是否要显示 --INSERT-- 之类的字眼在左下角的状态栏。
:set backspace=(012) 一般来说,如果我们按下 i 进入编辑模式后,可以利用退格键 (backspace) 来删除任意字符的。但是,某些 distribution 则不许如此。此时,我们就可以透过 backspace 来设定啰~当 backspace 为 2 时,就是可以删除任意值;0 或 1 时,仅可删除刚刚输入的字符,而无法删除原本就已经存在的文字了!
:set all 显示目前所有的环境参数设定值。
:set 显示与系统默认值不同的设定参数,一般来说就是你有自行变动过的设定参数啦!
:syntax on
:syntax off
是否依据程序相关语法显示不同颜色?举例来说,在编辑一个纯文本档时,如果开头是以 # 开始,那么该行就会变成蓝色。如果你懂得写程序,那么这个 :syntax on 还会主动的帮你除错呢!但是,如果你仅是编写纯文本档案,要避免颜色对你的屏幕产生的干扰,则可以取消这个设定 。
:set bg=dark
:set bg=light
可用以显示不同的颜色色调,预设是『 light 』。如果你常常发现批注的字体深蓝色实在很不容易看,那么这里可以设定为 dark 喔!试看看,会有不同的样式呢!

3.案例

  • 第一步:我们在~/目录下手动建立一个.vimrc配置文件(该配置文件属于dongshao,所以只有当dongshao使用vim时才生效)

Linux(入门基础):44---vim编译器的功能、配置与使用

Linux(入门基础):44---vim编译器的功能、配置与使用

  • 第二步:设置配置文件,将下面的设置参数写入.vimrc文件中并保存

备注:set前面有没有:都是一样的(即:set与set都可以),文件中"为注释

Linux(入门基础):44---vim编译器的功能、配置与使用

Linux(入门基础):44---vim编译器的功能、配置与使用