编辑器之神 Vim

06-01 1209阅读

终于到了主包最期待的环节了

编辑器之神 Vim

简单介绍

这是linux中最能装逼的一个环节

服务器哪有界面版的,都是纯粹的命令行

这个时候操作就比较复杂,需要使用一些另类的编辑器

介绍几个编辑器吧

vi nano emacs vim,这些都是命令版的编辑器,基本是后两个使用的比较多

这两个有传奇的称号

emacs神之编辑器

vim编辑器之神

这个不是初学者想学就学的,最重要的是适应

插件只是方便开打

牛逼的人写代码都是没有提示的

vim写代码是没有提示的,那确实叼

业界有个说法,牛逼的人都让工具变得越来越难用

vim虽然难,但是学会之后卧槽,其他的编辑器都是垃圾

在CentOS上可能显示的是vi

Vim的简单使用

入门的简单,但是使用的时候比较麻烦

Vim有两种操作模式

普通模式(命令操作模式)操作文件

插入模式就是编辑

那记事本举例

编辑器之神 Vim

这样保存等步骤操作文件的时候就是普通模式

编辑文件内容的时候就是插入模式

insert i也就是i键,当你点击i键的时候就是插入模式

编辑器之神 Vim

右下角会显示这个

想要保存的时候就点Esc,然后输入英文的:然后输入wq,这个意思就是保存w然后退出q

点完Esc之后,右下角的INSERT就消失了

移动

如何来移动光标呢?

程序员在编程的时候,有时候会需要移动一下鼠标,或者够一下右下角的方向键

但是这样太麻烦了,而且会有很多的耗费时间

Vim之所以被称为编辑器之神,就是会把程序员的双手放到键盘的右半部分

为了解决这个问题,在普通模式下

h,j,k,l这四个键来控制,但是这几个只能移动一格格子,但是这样做太蠢了

翻页

可以使用pageup,pagedown来翻页,但是这样又到了离开了键盘

使用快捷键ctrl + F向下移,ctrl + B向下移

也可以使用ctrl + E是向下移动,这个向下移动还包含了加换行符,和ctrl + Y是向上移动,这样是翻一点点的感觉

如果想要移动到最后一行G,注意vim当中的命令是分小写和大写的,所以这里的大G意味着要使用shift + G

如果想要移动到最开始的时候gg,就需要使用两下小写g

这样的模式都是普通模式

输入:冒号之后就是另外一种模式了

有时候不小心修改源代码了那就输入:q!,这个意思就是不保存

不同的方式编辑文本以及跳跃单词

插入模式的话是插入到前面

编辑器之神 Vim

举个例子,是插入到,的前面

i是在光标位置的前面插入

a是在光标位置的后面插入,但是主包实测光标往后跳了一格,实际上也是i的模式,直接用i就行

还有一种如果我想再开一行再写怎么办呢?

o就可以直接新开一行,然后到新的这一行去输入,光标在这一行的哪里都可以,只要点o就行

编辑器之神 Vim

这不就直接跳过来了,但是注意这个只有在普通模式的时候才可以开下一行,如果是插入模式的话实际上是正常输入的

x是删除当前光标所在的字符,这个同样需要在普通模式下进行,但是这个删除之后仍停留在普通模式

dd点两下,直接就是把这一行干掉了

u撤销,代替了ctrl + z

dw就是移除当前所在光标往后的单词,这样做的话需要移动到当前单词的首字母

b跨越单词的移动,向前跳跃单词,这个是跳到了单词的前面

e跨越单词的移动,向后跳跃单词,这个是跳到了单词的末尾

如果

所以当光标移动到中间的时候,按下这两个键就可以实现移动到开头或者末尾

w也是跳跃单词,这个是往后跳跃到单词的首字母,感觉w使用的会更广泛一点

假如我光标后面的东西都不想要了怎么办

shift + w就是大跳,w跳的太慢了,跳跃的是大单词

shift + b,shift + e同理

跳跃行首行尾

既然可以按照单词来跳跃,那么就可以按照行来进行跳跃

shift + 6就代表的是跳跃本行的开头

shift + 4就代表的是跳跃本行的末尾

0的话是直接跳到本行的开头,这就是tab前面的内容,这个把空白字符包含了,前面两行是只能跳跃到有字的部分

r替换字符,这个可以把光标选中的字符进行替换,之后按下要替换为的字符

R就是一直替换,直到按下Esc键退出为止

在Vim中尽量不要使用退格键Backspace和delete,因为有可能会有一些命令和这些键是绑定的,不是你想的那样

{和}可以进行代码中段落的跳跃,也就是代码块那样的东西

复制剪切粘贴

vim有一个缓冲区,会记录你复制剪切粘贴过的东西

p就是把你刚刚操作过的东西,在粘回来,这样的话vim里面的剪切的实现逻辑就是删除,然后再从缓冲区里面贴出来

复制就是另一回事了

yw这个意思就是复制这个单词,感觉就像是鼠标双击一样

y$表示从当前开始一直复制到行末尾,之后使用p就可以释放出来

但是有个坏处就是你不知道你复制了什么东西,如果有一行特别长的话,你不知道他到底复制到哪了

那么如何解决这个问题呢?

Visual可视化模式

为了解决这个问题,就用上了可视化模式

这下可以吹牛逼说vim有四种模式了hhhhhh

编辑器之神 Vim

v按v键,就会出现一个VISUAL,这个时候就可以使用hjkl进行选择了,选好之后点y,然后再按p,这样就能知道自己到底复制了什么玩意了

V这个是按行来的,直接一次就是一行,显然v更灵活一点

那就有问题了,如果我想把所有的代码删了怎么办

要先进入首行g,v + G直接跳到末尾,然后按d就全删掉了,这就像一种全选然后删除的功能

这里v配合d就能删除选中的内容

选好一段内容之后,我想继续接着选怎么办o,这样就是跳到开头,再按一下o,就又跳到了末尾,可以使用oooooooooo,来回跳,卧槽有点搞笑hhhhhh

在可视化模式当中,可以使用所有上述的命令,随便你怎么跳

可以选中之后再按y就是复制选中内容

ctrl + c是选中每一行

ctrl + v是一种矩阵选择

在选中过程中0就是补全角落,把你没复制到的角落给你复制上

视图模式中的其他模式

如果我要把这一行缩进怎么办,或者是全选然后缩进

那就是使用v把这些全部选中,然后加上就是缩进,这两个分别是向前缩进和向后缩进

v选中之后~就是大小写翻转

v + U,把选中的内容全部变成大写的

v + u,把选中的内容全部变成小写的

查找和替换

也就是ctrl + f

光标移到哪?就是从哪里开始查

输入一个\然后输入所要查询的单词,然后就跳到了要查询的单词

这样我想继续往下查该怎么办,那就是n就是一直查下一个

找到之后我想替换怎么办呢?

输入:s/const/let/g这样的意思就是:s是开始替换/const是要替换的内同/let是要替换成的内容/g是把这一行中的const全部替换

如果是替换整个文件的const该怎么做?:%s,换成了百分比,这样就给你文本里面的直接替换了

如果选择行号去替换该怎么办

:set number就可以临时显示行号

编辑器之神 Vim

就会出现这样的效果

如果我只想把某两行之间的const进行替换,其他的不变

:2,15s/const/let/g后面的一样,这个意思就是把第2到15行的所有const都替换掉了

还有一种是有提示的替换:s/const/let/gc,这个就是一直往下查找,然后问问你确定要替换吗?然后你需要点y或者n,然后他会跳到下一个继续问你,或者替换完了就退出

Vim中的基础配置

Vim也是可以去配置的,包括主题,颜色乱七八糟的

要想配置vim的话必须去自己配置一个vim的配置文件

在/home/yangyeyuan下面使用touch .vimrc

set syntax=on
set tabstop=3
set softtabstop=4
set number
set enc=utf-8
set showmatch

常用的配置可以上github上去搜索,重要的是会编写代码,而不是会配置文件,了解一下就可以

vim中也有一些插件,整花里胡哨的插件有啥用,得会写才行

话说主包得把主包的idea更新一下了

配置好这个文件之后需要使用source .vimrc来更新一下

跳跃到哪一行?55gg就直接调到了第55行

快捷键

v + aw就是快速选中光标所在的单词

v + ab把复制单词所在的小括号全部内容

v + aB就是复制单词所在的大括号全部内容

v + a

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码