码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一文搞定vim,从安装到入门到精通,助你成功入门vim


    一文搞定vim,从安装到入门到精通

    • NO.1 闲聊
    • NO.2 安装(不是重点!觉得这部分讲的不清楚可以去找一篇win下安装vim的文章来看,然后跳去NO.3接着看)
    • NO3. 文章核心重点-vim使用,开始实战!
      • 正常模式 (Normal-mode)
        • 控制光标
          • 光标右移,键位`l`
          • 光标左移,键位`h`
          • 光标下移,键位`j`
          • 光标上移,键位`k`
      • 可视模式 (Visual-mode)
        • 总结一下。
          • 正常模式进入方式:`esc`或者`control + [`
          • 可视模式进入方式:正常模式下按`v`
          • 删除`d`
          • 撤销`u`
          • 有撤销就有回滚,回滚是`ctrl+r`
          • 复制`y`
          • 粘贴`p`
          • 剪切`d`
        • 总结一下:上下左右,选中单词,复制粘贴,剪切,撤销我们都有了。
      • 插入模式 (Insert-mode)
        • 进入插入模式六个键位`i,I,a,A,o,O,s,S`
          • 最常用`i`
          • 插入`I`
          • 插入`A`
          • 插入`o`
          • 插入`O`(大写O)
          • 插入`s`
          • 插入`S`
          • 这样,可以说小成了,读写,插入文本,选中单词复制粘贴,剪切删除,撤销回滚,我们都会了,已经可以做文件编辑工作了,最后一个问题只剩下保存了。
      • 命令模式 (Command-mode)
          • 不保存退出`:q`,退不掉就按`:q!`强行退!
          • 保存退出`:wq`
          • 入门成功,想一想,对文件的写,读,复制粘贴,撤销回滚,剪切删除,选中单词,移动光标,保存文件,退出vim,vim四种模式切换,你是不是都会了!这样,你使用vim就如使用正常的可以用鼠标的文本编辑器一样了!
    • NO.4 vim可不是如此笨拙,既然看到这里了,你已经是半个大佬,来进阶一下吧!
      • 首先,文件多开
        • 开启两个文件,hello.c,hello.go
        • 进入命令模式,写下`ls`
        • 多文件编写,分裂窗口
          • 上下分割,先按`Ctrl + w`,再按一下`s`
          • 左右分割,先按`Ctrl + w`,再按一下`v`
          • 光标跳跃,先按`Ctrl + w`,之后,还记得我们的上下左右吗?
          • 在这个黑漆漆的窗口宇宙里,不要失去你的方向感。
          • 去右边,先按`Ctrl + w`,然后`l`
          • 去左边,先按`Ctrl + w`,然后`h`
          • 去下边,先按`Ctrl + w`,然后`j`
          • 去右边,先按`Ctrl + w`,然后`k`
          • 现在,你可以跨窗口编辑东西了。
      • 最后说一下搜索
        • 开启搜索高亮,回到正常模式,然后`:set hls`
        • 这里要提一下,命令模式的进入方式不止`:`,还有`/`
        • 关闭高亮,`:noh`
          • 你按下`n`,就会跳到下一个匹配`/`后面字符的地方
          • 我们的`/`同样支持正则表达式
        • 分屏,搜索查找,编辑文本,你都会了,它已经和一个正常的,还需要鼠标的文本编辑器大同小异了,这样,无论你被丢到哪个操纵系统里,借助vim都可以让你改造一切文件,而且你不需要鼠标,你只需要一个键盘。
    • NO.5 总结
      • 你在我的这一篇小文章里,已经学会了什么呢?回忆一下,使用vim打开文件,选中单词,切换模式,复制粘贴,剪切复制,窗口多开,搜索文字,改变vim的样式。你已经可以像正常使用普通文本编辑器一样使用vim了~
      • 最后,总结一遍,说一下我们的命令:
        • 光标右移,键位`l`
        • 光标左移,键位`h`
        • 光标下移,键位`j`
        • 光标上移,键位`k`
        • 正常模式进入方式:`esc`或者`control + [`
        • 可视模式进入方式:正常模式下按`v`
        • 删除`d`
        • 撤销`u`
        • 回滚`ctrl+r`
        • 复制`y`
        • 粘贴`p`
        • 剪切`d`
        • 进入插入模式六个键位`i,I,a,A,o,O,s,S`
        • 最常用`i`
        • 不保存退出`:q`
        • 强制不保存退出`:q!`
        • 保存退出`:wq`
        • 开启两个文件,`vim file1,file2`
        • 打开缓冲区`:ls`
        • 上下分割窗口,先按`Ctrl + w`,再按一下`s`
        • 左右分割窗口,先按`Ctrl + w`,再按一下`v`
        • 光标跳跃窗口去右边,先按`Ctrl + w`,然后`l`
        • 光标跳跃窗口去左边,先按`Ctrl + w`,然后`h`
        • 光标跳跃窗口去下边,先按`Ctrl + w`,然后`j`
        • 光标跳跃窗口去右边,先按`Ctrl + w`,然后`k`
        • 开启搜索高亮,回到正常模式,然后`:set hls`
        • 搜索`/搜索内容`
        • 关闭高亮`:noh`
        • 跳到下一个搜索`n`
        • 搜索+正则表达式示例(找到文件所有数字)`/[1-9]`

    NO.1 闲聊


    在这里插入图片描述

    自1984年,乔布斯带领的苹果公司发布了麦金塔系统以后。电脑操作从命令的方式进化到了图形的方式,然而,我们作为开发者,必然要返璞归真,也必然明白所有的图形都只是对命令的封装。


    在这里插入图片描述

    vim是一个图形化时代的特立独行,作为不依靠鼠标,纯命令编辑文本的编辑器,它占据了所有的Linux系统,开发人员几乎不可能不接触vim。本文讲从安装开始讲,一直讲完基本的vim的使用方法,操作系统使用Windows,因为win作为当今地球上最普遍的操作系统,可以让大部分人都可以通过本文学会vim,学会win下vim的使用,它的命令和Linux是完全一致的,你就也可以顺便打通Linux,macOS下的vim的使用方法。如果你爱上了vim,我想即便在Windows下再也不需要Notepad++,亦或者sublime text等各种文本编辑器。这一篇的学习如果你能坚持看完,我想它给你带来的收获是前所未有。
    这一篇文章看完加学会大概需要耗费你一小时,一小时可以学会使用vim,应该是相当划算的。本人为了写好这一篇内容,参考了两篇文章,一篇来自zempty这位大佬的精通 VIM ,此文就够了。另一篇是卢钧轶所写的史上最全Vim快捷键键位图 – 入门到进阶。这一篇的内容可以看作精通 VIM ,此文就够了的展开详解版,因为我会把所有的命令快捷键都截屏展示,知识骨架和精通 VIM ,此文就够了也相差不多,本人是在昨天晚上花了大约一小时通过看精通 VIM ,此文就够了,学会使用vim的,本文将进一步总结精通 VIM ,此文就够了,全文线性结构,从上往下阅读即可。


    在这里插入图片描述
    这一张键位图,每个学习vim的人基本都会看到,然而不会vim的人是没法看的,乍一看一头雾水,这一张图我不会讲的,仅供大家参考,因此下文,将由浅入深,从基本的安装开始讲,力求讲透,大家尽可放心。


    NO.2 安装(不是重点!觉得这部分讲的不清楚可以去找一篇win下安装vim的文章来看,然后跳去NO.3接着看)

    Linux是自带vi的,有的甚至自带vim。因此Linux就不讲了,下面讲一下win系统的vim怎么安装。
    在这里插入图片描述
    本人的vim如图。


    首先,你去GitHub的vim开源项目下载它。下载最新版即可。


    在这里插入图片描述
    在Assets目录里,你可以看到.exe安装程序,.zip安装等等。本人推荐第二个,一方面这种解压安装的方式和Linux更相近,另一方面你解压后放到任何你想放的文件夹下你直接就可以用,而且删除也很方便,不需要卸载,只需要丢到回收站即可。

    解压后,你会得到一个类似的文件夹。


    再说一遍,安装方式,下载解压即可!


    展示一下解压完后的文件夹目录。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    我们主要打交道的东西,其实就是这两个。

    在这里插入图片描述
    在这里插入图片描述
    gvim是半图形化半命令行的,你可以当作vim学习的过渡产品,而vim则是真正的纯命令,它和Linux下的vim完全一致,这将是我们最终要攻破学习的高山!


    配置环境变量
    在这里插入图片描述

    在这里,填一下你刚刚解压完的路径就可以。

    在这里插入图片描述

    这样,你就可以随处启动gvim和vim了。使用快捷键win+r开启这个运行窗口,你也可以像启动Java或者mvn,node等等那样,直接cmd里调用vim。启动vim就写vim,启动gvim就写gvim。

    下面是几种启动方式的图片演示。

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    等一下,你是不是觉得gvim丑爆了。这个是可以配置的。去你的vim安装路径。

    在这里插入图片描述

    这个路径往下再点一下就是目录了,在这里创建一个叫_gvimrc的文件。

    在这里插入图片描述
    记住,没有后缀名,不是_gvimrc.txt或者什么东西,就叫_gvimrc,用记事本,Notepad++,或者vim,随便你用什么打开它,写进去set guifont=Microsoft_YaHei_Mono:h12,不生效请往下看,我会讲。

    在这里插入图片描述

    这个配置文件是约定大于配置的,类似于Spring Boot的配置,因此你只把你想改的东西写进去就行,写什么改变什么,不写就不改变,具体可以自行查阅,我在这里就只修改font,就是字体的字型和大小,其中set guifont=Microsoft_YaHei_Mono:h12中,set guifont是指令,=后面跟内容,Microsoft_YaHei_Mono是字体名称,Microsoft_YaHei_Mono是我很喜欢的一种字体,win电脑自带是没有是,是微软专门为命令行开发的字体,大家可以自行百度下载,也可以放上自己想用的字体。
    在这里插入图片描述
    如下有些是微软自带的字体,你把字体名字改了,改成你电脑有的并且支持命令行的字体就可以生效,然后h12是字体大小,我设置了12。附一个Microsoft_YaHei_Mono的下载链接,下载Microsoft YaHei Mono,我的是收费的,想要免费的可以自己百度去找。安装字体就不讲了,设置完再打开gvim就是这个样子。
    还有,这个不是重点!!!我们重点是学习vim,gvim你不想设置,并无关系,后面的文章我都会用vim演示,gvim不是重点!实在想钻研,也可以参考这一篇博客园gVim设置默认主题和字体(图文详细版)。

    在这里插入图片描述

    哪怕gvim你搞不定,只要这个vim你搞定,能出来这个就可以,无论是centOS或者Ubuntu等等,你接触的vim其实都是这个!

    在这里插入图片描述

    后面你可以用gvim来编辑文件,也可以用vim来编辑文件,安装到此就讲解完毕了,可以一起帮助乌干达的可怜儿童了。

    NO3. 文章核心重点-vim使用,开始实战!

    先大致介绍一下vim的结构,vim分缓冲区(Buffer)和窗口 (Window ) 。

    暂时不用跟着操作,先看一眼。
    我们第一眼看到的就是窗口,所有的文件编辑也是在窗口进行。
    在正常模式下,先按一下:,紧接着输入ls,回车,你就可以看到缓冲区。
    在这里插入图片描述


    按回车后


    在这里插入图片描述


    gvim如此,vim同样如此。


    在这里插入图片描述

    然后我们要明白,vim有四种模式:

    正常模式 (Normal-mode)
    插入模式 (Insert-mode)
    命令模式 (Command-mode)
    可视模式 (Visual-mode)

    下文逐一讲解。

    正常模式 (Normal-mode)

    下面请跟着操作,我们先开启vim,进去你要编辑文件的文件夹下,输入

    cmd C:\Users\Peter\Desktop\study\vim
    
    • 1

    在这里插入图片描述

    总之,在cmd开启这个文件夹即可,就如同你Linux进入了一个文件夹。

    在这里插入图片描述
    对了,你可以先创建这两个文件,代码如下:

    #include 
    int main()
    {
       printf("Hello, World!");
       return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    package main
    
    import "fmt"
    
    func main() {  
        fmt.Println("Hello World")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    然后cmd输入指令

    vim hello.c hello.go
    
    • 1

    你也可以

    gvim hello.c hello.go
    
    • 1

    gvim对初学者更友好一点,我们就直接一步到位演示vim了,不论你用gvim或者vim,下面内容都是一样的,放心食用。

    在这里插入图片描述
    在这里插入图片描述
    刚进来这个模式就是正常模式,无论你进入那个模式,狂按esc或者是快捷键control + [,就会退到正常模式,我们先说正常模式,个人更喜欢control + [。
    我们暂时不考虑其余三种模式,我们先玩正常模式,我们编辑文件,毫无疑问,剪切,删除,复制,粘贴必不可少,没有了鼠标,如何控制光标也是个问题,我们就先从控制光标说起。
    在这里插入图片描述

    控制光标

    毫无疑问,你会发现鼠标也可以点光标,这种我们就不说了,有些环境是没有鼠标的,这个太常规了,然后键盘上下左右按钮也能控制光标移动,这个也不说。下面说的方法,无论你不小心进入四种模式任何一个都可以用。

    光标右移,键位l
    光标左移,键位h
    光标下移,键位j
    光标上移,键位k

    好的,方向感记住,上下左右对应kjhl,和你打游戏记住wsad一样,有了这个方向感,就可以往下玩了。

    下一个问题,怎么选中一个单词?这个时候我们要进入可视模式 (Visual-mode)了,后文我们将在这四种模式里来回跳跃,每一次变模式我都会说一声,大家跟上!现在我们正处在正常模式,按一下v,进入可视模式 (Visual-mode)。

    可视模式 (Visual-mode)

    再说一遍,可视模式进入方法,正常模式下按v。不是正常模式你就先回正常模式,按esc或者control + [,退回正常模式。

    总结一下。

    正常模式进入方式:esc或者control + [
    可视模式进入方式:正常模式下按v

    在这里插入图片描述
    然后用我们的上下左右hjkl键移动光标,这时候你会发现你移动到哪里,就选择到了哪里。
    如图,return这个单词被我选中了。
    在这里插入图片描述
    下面对这个单词做操作。

    删除d

    在这里插入图片描述
    消失不见了。

    撤销u

    在这里插入图片描述
    又回来了,撤销键很常用吧。

    有撤销就有回滚,回滚是ctrl+r

    回滚一下,撤销一下,大家自己试一试效果。

    然后再按下v进入可视模式,然后hjkl这样,你想办法移动光标选中我们的单词。按一下y就会复制了。

    复制y

    在这里插入图片描述
    已经复制下来了。

    粘贴p

    在这里插入图片描述

    剪切d

    是的,剪切还是我们的d,删除的同时会复制一份到我们的vim剪贴板。

    总结一下:上下左右,选中单词,复制粘贴,剪切,撤销我们都有了。

    想一下,这样你是不是就可以像用记事本一样,能粘贴复制删除撤销,这样我们编辑处理文本大概的功能都有了。然后我们要开始编辑文本了,对不对?那就是增删改查的增,输入。下面我们开始讲怎么输入。

    插入模式 (Insert-mode)

    下面,退回到你的正常模式,再说最后一遍,按esc,或者ctrl+[。

    进入插入模式六个键位i,I,a,A,o,O,s,S

    最常用i

    光标所在的字符之前插入需要录入的文本。
    在这里插入图片描述

    插入I

    请记住,每次输入这六个键位前,请先回退到正常模式。
    在这里插入图片描述
    插入a
    在这里插入图片描述
    a 是在光标所在的字符之后插入需要录入的文本。

    插入A

    A 是在光标所在行的行尾插入需要录入的文本。

    插入o

    o 是光标所在行的下一行行首插入需要录入的文本。

    插入O(大写O)

    O 是光标所在行的上一行行首插入需要录入的文本。

    插入s

    s 删除光标所在处的字符然后插入需要录入的文本。

    插入S

    S 删除光标所在行,在当前行的行首开始插入需要录入的文本。

    后面几个大家自己试一试。

    这样,可以说小成了,读写,插入文本,选中单词复制粘贴,剪切删除,撤销回滚,我们都会了,已经可以做文件编辑工作了,最后一个问题只剩下保存了。

    讲最后一种模式。

    命令模式 (Command-mode)

    这个模式依旧是从正常模式去进,按下:,就进来了,带着:的就是命令模式。
    在这里插入图片描述
    大家都知道这个,很多人会写错东西,都会按:q赶紧不保存退掉,防止改坏文件,毕竟新生+vim=随机字符生成器,现在不必了,写错了,记得狂按u撤销你的错误操作就行了,因此不保存退出只说一下,就不演示了。

    不保存退出:q,退不掉就按:q!强行退!
    保存退出:wq

    在这里插入图片描述
    因为我们刚刚打开了两个文件,它会提示你还有一个文件没保存,就是hello.go那个,没关系,我们先不管,再按一下回车,再输一下:wq,保存退出即可。

    在这里插入图片描述
    我编写的东西已经有了。到此,恭喜你,已经入门了。

    入门成功,想一想,对文件的写,读,复制粘贴,撤销回滚,剪切删除,选中单词,移动光标,保存文件,退出vim,vim四种模式切换,你是不是都会了!这样,你使用vim就如使用正常的可以用鼠标的文本编辑器一样了!

    NO.4 vim可不是如此笨拙,既然看到这里了,你已经是半个大佬,来进阶一下吧!

    vim实际上,熟练后是一个非常高效的编辑器,因为快捷键就是比鼠标快,脱离鼠标的编辑器就是要超过离不开鼠标的编辑器!下面说说怎么提高复制粘贴,移动光标,撤销回滚,高亮查找等等。

    首先,文件多开

    开启两个文件,hello.c,hello.go

    vim hello.c hello.go
    
    • 1

    在这里插入图片描述

    进入命令模式,写下ls

    ls是Linux一个非常常用的命令,熟悉Linux的朋友一定倍感亲切。记得ls写到:后面。
    在这里插入图片描述
    在这里插入图片描述
    你已经进入缓冲区,可以看到文件编号,hello.c的编号是1,hello.go的编号是2,那么,继续按:(不必回到正常模式)
    在这里插入图片描述
    输入:b1,就会切换到hello.c,输入:b2,就会切换到hello.go。

    下面这个我输了:b2,进入了hello.go文件。

    在这里插入图片描述

    多文件编写,分裂窗口

    上下分割,先按Ctrl + w,再按一下s

    在这里插入图片描述

    左右分割,先按Ctrl + w,再按一下v

    在这里插入图片描述
    你可以看到你的光标在哪个窗口,让光标跳到别的窗口的方法是:

    光标跳跃,先按Ctrl + w,之后,还记得我们的上下左右吗?
    在这个黑漆漆的窗口宇宙里,不要失去你的方向感。
    去右边,先按Ctrl + w,然后l
    去左边,先按Ctrl + w,然后h
    去下边,先按Ctrl + w,然后j
    去右边,先按Ctrl + w,然后k
    现在,你可以跨窗口编辑东西了。

    最后说一下搜索

    开启搜索高亮,回到正常模式,然后:set hls

    vim是命令可以操纵一切的,你就是黑色框框里面的上帝。:set hls这是一个操纵vim本身样子的指令。

    在这里插入图片描述

    这里要提一下,命令模式的进入方式不止:,还有/

    在这里插入图片描述
    /后面就写你要搜的东西,他就会高亮显示出来。如/i在这里插入图片描述

    关闭高亮,:noh

    在这里插入图片描述
    在这里插入图片描述
    都不亮了。

    你按下n,就会跳到下一个匹配/后面字符的地方
    我们的/同样支持正则表达式

    在这里插入图片描述

    分屏,搜索查找,编辑文本,你都会了,它已经和一个正常的,还需要鼠标的文本编辑器大同小异了,这样,无论你被丢到哪个操纵系统里,借助vim都可以让你改造一切文件,而且你不需要鼠标,你只需要一个键盘。

    NO.5 总结

    你在我的这一篇小文章里,已经学会了什么呢?回忆一下,使用vim打开文件,选中单词,切换模式,复制粘贴,剪切复制,窗口多开,搜索文字,改变vim的样式。你已经可以像正常使用普通文本编辑器一样使用vim了~

    更多的特殊用法。
    可以参考菜鸟教程vim 菜鸟教程。
    或者是我学习vim时阅读的这一篇精通 VIM ,此文就够了。
    后面你还需要会什么呢?例如快速移动光标,跳段尾段首,行尾行首,跳指定行,多行复制删除,宏录制等等。vim支持多种语言,也可以安装插件,其强大程度不弱于一个IDE,实际上vim官方一直也认为自己不仅仅是一个文本编辑器那么简单~

    最后,总结一遍,说一下我们的命令:

    光标右移,键位l

    光标左移,键位h

    光标下移,键位j

    光标上移,键位k

    正常模式进入方式:esc或者control + [

    可视模式进入方式:正常模式下按v

    删除d

    撤销u

    回滚ctrl+r

    复制y

    粘贴p

    剪切d

    进入插入模式六个键位i,I,a,A,o,O,s,S

    最常用i

    不保存退出:q

    强制不保存退出:q!

    保存退出:wq

    开启两个文件,vim file1,file2

    打开缓冲区:ls

    上下分割窗口,先按Ctrl + w,再按一下s

    左右分割窗口,先按Ctrl + w,再按一下v

    光标跳跃窗口去右边,先按Ctrl + w,然后l

    光标跳跃窗口去左边,先按Ctrl + w,然后h

    光标跳跃窗口去下边,先按Ctrl + w,然后j

    光标跳跃窗口去右边,先按Ctrl + w,然后k

    开启搜索高亮,回到正常模式,然后:set hls

    搜索/搜索内容

    关闭高亮:noh

    跳到下一个搜索n

    搜索+正则表达式示例(找到文件所有数字)/[1-9]

  • 相关阅读:
    【Java8新特性】函数式接口
    为什么分布式系统这么火?
    MySQL数据库管理(三)索引
    Windows 10 系统下解决 “Could not build wheels for pillow“
    装配体的模态分析-SOLIDWORKS 2024新功能
    Linux中比cp好用10倍的rsync,你会用了吗
    XXL-Job的基本使用
    C++ Reference: Standard C++ Library reference: C Library: cwchar: wmemchr
    springboot配置静态资源访问
    FastDFS学习(四)
  • 原文地址:https://blog.csdn.net/weixin_43982359/article/details/127799495
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号