Linux编辑器vim

文章目录

  • vim编辑器
    • 1.命令模式
    • 2.vim的一些操作
    • 3.底行模式
    • 4.vim简单配置


vim编辑器

Linux中写代码,使用vim编辑器,vim它是一个编辑器,文本编写,采用vim来写代码,它不同于在winidows下的vs,vs能编写代码,调试代码,编译代码允许,但是vim它仅仅只能单纯的写代码。vim他是一个多模式的编辑器,他有各种各样的模式,核心三种:

命令模式,插入模式,底行模式

具体如何,实操演示
以vim打开test.c文件,这样是打开成功的
Linux编辑器vim_第1张图片
此时随意按一些按键是用不了的,因为刚以vim编辑器打开文件时,它是处于命令模式,用户所有的输入都会被当作命令,不会作为文本进行输入。
而当要对其写东西时,要将命令模式变为插入模式,输入i即可
在这里插入图片描述
会出现这个,这样就可以写东西了,在里面写一段c语言代码
Linux编辑器vim_第2张图片
写好之后要将其保存退出来才能编译它,那么如何保存退出,此时还是插入模式
要从插入切换到命令,按Esc,而要保存退出光是在命令模式下不能完成,需要进入底行模式,键盘打冒号 :就可以进入第行模式,可以发现在底部出现了
Linux编辑器vim_第3张图片
此时也就进入到了底行模式,而要保存退出,wq即可,w:保存,q:退出。
出来之后查看是否保存
Linux编辑器vim_第4张图片
在进行模式切换时,不能从插入到底行或者底行到插入
Linux编辑器vim_第5张图片
默认打开vim是命令模式,那么来看看命令模式

1.命令模式

那么它有那些命令,先看光标定位,为了支持这些操作,我先在底行模式下输入set nu
将这个文本的行号调出来。
光标定位:

gg定位到最开始行,它是从你当前所在行直接定位到第一行
G定位到最后一行
n+G定位光标到任意行
shift + 4 = $:光标定位到当前行最右边
^:光标定位到当前行开始
w:光标按单词进行向左移动,是单词按单词移动,不是单词按字符
b:按单词向右移动,是单词按单词移动,不是单词按字符
h,j,k,l:左、下、上、右移动,为什么有这几个,现在不是有上下左右移动键吗,是因为vim出现的时候比键盘有上下左右的早。

Linux编辑器vim_第6张图片
此时这个代码量太少了,我想将第五行的代码批量复制,应该怎么办?
光标到要复制内容行,然后按yy就复制了指定内容,在按p就将其粘贴出来,就实现了赋值内容
Linux编辑器vim_第7张图片
这样只是复制出来一条,如果我想搞多条,yy+np(n为想要粘贴出来的行数)
Linux编辑器vim_第8张图片
这只是实现一条复制,如果想实现很多内容nyy+p即可,n为你要复制的多少条内容

yy:复制光标所在行,nyy复制光标所在行向下数n行
np:粘贴(n重复行)到光标所在的下一行

而如果你复制后悔了,那么可以按u将其撤销

u:撤销

有复制怎么能少了剪切,剪切是按dd
将其剪切到最后一行,剪切:dd,粘贴永远都是

而如果不将其粘贴出来,那么就是删除咯。

ndd:剪切、删除

Linux编辑器vim_第9张图片

~:将光标所在内容大小写转换(小->大,大->小),它要是英文字符才可改
Linux编辑器vim_第10张图片

一直按着shift+、可以实现一行转换

r:将光标字符替换成自己想要的字符,nr:将光标字符和之后的n个字符替换成自己想要的字符,批量化替换
Linux编辑器vim_第11张图片

它这是批量改。但是如果我想整体替换为想要的内容,不再是重复的字符,并且不用将这些内容删掉,直接改,用shift+r = G
它的底层会出现这样的现象。
Linux编辑器vim_第12张图片
此时就可以重写了
Linux编辑器vim_第13张图片
shift+r:替换模式,对内容进行整体替换,它是第四种模式,如果要退出那么按Esc即可

x:对光标字符进行删除,nf:从光标字符开始数n个字符进行删除 删除printf
在这里插入图片描述
删除之后后悔了,要撤销,按u,如果对这个撤销后悔,那么按ctrl+r:撤销之前的撤销

2.vim的一些操作

将刚刚那个test.c删掉,然后再vim直接打开一个没有建立的文件,我写了一点东西,但是我并没有保存,直接退出
Linux编辑器vim_第14张图片
此时来看什么东西都没有
Linux编辑器vim_第15张图片
那么我以vim打开一个不存在的文件,并保存它是相当于新建一个文件
Linux编辑器vim_第16张图片
vim打开一个文件时,保存退出它会将这个文件创建出来。
OK这个文件打开并创建了
vim下多文件
但是如果我还想形成一个文件,如何做,进入底行模式,输入vs + 文件名,这个文件可以是存在的,也可以是不存在的。
Linux编辑器vim_第17张图片
这样就形成了一个文件
Linux编辑器vim_第18张图片
而这样vim可以实现分屏操作。可以发现光标此时在code1.c那么我想要切换到code.c文件中去是如何实现?在命令模式下按ctrl + ww可以实现文件的切换。光标在哪个窗口就对哪个窗口进行操作。

3.底行模式

当以vim打开文件并写了一些内容时,但是你没有保存,而是输入q,此时他不让你退出
在这里插入图片描述
如果想要强制退出,带上一个感叹号 ! 即可
在这里插入图片描述
!表示强制执行,还可以不退出这个文件,就进行编译这段代码

! gcc code.c
! ls
Linux编辑器vim_第19张图片
甚至还可以执行这个a.out文件
Linux编辑器vim_第20张图片
在这里插入图片描述
在不退出底行的情况下执行外部的命令,而在底行模式下,可以调出文件的行号
set nu和撤销行号 set nonu

4.vim简单配置

vim可以进行各种编辑操作,不过vim每次打开文件之后,输入i进入插入模式可以编辑,但是每次编辑时,他都不会有任何提示,而且每次换行之后都没有缩进,这一点也不舒服,这是由于没有配置,那么如何配置?
vim应该要有很多配置项,这些配置项在家目录下的vimrc的隐藏文件中,这些配置在未来家目录下使用vim时,vim就会使用这些配置选项
它的配置实在用户对应的家目录下,它会存在一个隐藏文件.vimrc
Linux编辑器vim_第21张图片
但是这里并没有此时需要我们自己创建。touch .vimrc
Linux编辑器vim_第22张图片
在.vimrc中配set nu
在这里插入图片描述
当我使用vim打开一个文件时,它会给我默认显示行号,表明配置生效了
Linux编辑器vim_第23张图片
而当配置选项时,如果不知道要配哪些,可以直接去往上搜索。
在.vimrc隐藏文件中去给vim配置。搞个配置文件,往里面写配置选项,它是在自己家目录下配置的,不会影响到其它用户
我这里有一个配置
直接将这串链接复制到命令行即可完成配置

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh
-o ./install.sh && bash ./install.sh

在这里插入图片描述
配置好之后要输入或者重启xshell才能生效
配置好之后它会有这么一个文件
在这里插入图片描述
如果不想看它,可以将其弄成隐藏文件
Linux编辑器vim_第24张图片

当然这是在普通用户下配
此时再打开code.c文件,他也会有语法提醒
Linux编辑器vim_第25张图片
这样比原来什么都没有好多了。这个配置的缩进是两空格,如果不习惯可以改
vim .vimrc打开配置文件里面去改,去底行模式下输入 / 然后可以实现搜索 /2
在这里插入图片描述
将这里的2全部改为4即可,然后保存退出,然后出来之后再输入source .bashrc使其生效

你可能感兴趣的:(vim,linux,编辑器)