• vim指令


    > 作者简介:დ旧言~,目前大二,现在学习Java,c,c++,Python等
    > 座右铭:松树千年终是朽,槿花一日自为荣。

    > 目标:熟练掌握vim,并且能用vim敲出简单的代码。

    > 毒鸡汤:一万个美丽的未来,抵不上一个温暖的现在,每一个真实的现在,都是我们曾经幻想的未来,愿你爱上现在,梦见未来。
    > 望小伙伴们点赞👍收藏✨加关注哟💕💕 

    🌟前言

            前面捏,我们能使用Linux命令,简单的写一个程序,输出了hello Linux,只能说浅谈,本期我们在前面基础的延续,来正式续写Linux代码,Linux路正式启程,大家准备好编译器和小本本,OK,走起!!!

    主体

            咱们从七大板块学习,vim编辑器,vim四种模式的关系,vim编辑器的使用,编辑模式,vim编辑器实用功能,简单vim配置。



     🌙vim编辑器

            vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

    在我们的编辑器中(Xshell)中默认已经帮我安装好vim

     💫vim编译器的安装

            在有些编译器中是没有安装vim的,像这种编译器是比较古老的,不要也罢,我建议大家安装Xshell用起来比较爽,当然也可以用其他编译器,咱们看看如何安装vim:

    # 安装vim
    # yum install vim -y

    大家可以安装看看

     💫vim编译器的三种模式

    我们讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

    • 正常/普通/命令模式(Normal mode):

            控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者last line mode

    • 插入模式(Insert mode):

            只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

    • 末行模式(last line mode):

            文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

     🌙vim三种模式关系

    咱们用一个图就可以很好解释他们之间的关系:



     🌙vim编辑器的使用

    💫使用vim打开文件

    基本语法:

    •  如果文件已存在,则直接打开
    •  如果文件不存在,则vim编辑器会自动在内存中创建一个新文件

    案例:使用vim命令打开demo1.c文件

    💫vim编辑器保存文件

            在任何模式下,连续按两次Esc键,即可返回到命令模式。然后按冒号:,进入到末行模式,输入wq,代表保存并退出。

    💫vim编辑器强制退出

            在任何模式下,连续按两次Esc键,即可返回到命令模式。然后按冒号:,进入到末行模式,输入q!,代表强制退出但是不保存文件。

    这样的输入,是不保存文件的写的内容的,不建议!!!

    💫命令模式下的相关操作
            在Linux操作系统中,当我们使用vim命令直接打开某个文件时,默认进入的就是命令模式。如果我们处于其他模式(编辑模式、可视化模式以及末行模式)可以连续按两次Esc键也可以返回命令模式,简称无脑Esc就可以到命令模式

    在命令模式我们可以以下内容
    ① 移动光标 ② 复制 粘贴 ③ 剪切 粘贴 删除 ④ 撤销与恢复

    咱就一个一个来讲解

    💤移动光标到首行或末行

    这里我们都是在命令模式下执行的,不要忘记咯🥱

    • 移动光标到首行 : gg
    • 移动光标到末行 : G
    💤翻屏

    这里我们都是在命令模式下执行的,不要忘记咯🥱

    • 向上翻屏,按键:ctrl + b (before) 或 PgUp
    • 向下翻屏,按键:ctrl + f (after) 或 PgDn
    • 向上翻半屏,按键:ctrl + u (up)
    • 向下翻半屏,按键:ctrl + d (down)
    💤快速定位光标到指定行

    这里我们都是在命令模式下执行的,不要忘记咯🥱

    • 行号 + G,如(100 + G)代表快速移动光标到第100行。
    💤复制/粘贴

    这里我们都是在命令模式下执行的,不要忘记咯🥱

    ① 复制当前行(光标所在那一行)

    按键:yy

    粘贴:在想要粘贴的地方按下p 键【将粘贴在光标所在行的下一行】,如果想粘贴在光标所在行之前,则使用P键

    ② 从当前行开始复制指定的行数,如复制 10 行,10 + yy

    粘贴:在想要粘贴的地方按下p 键【将粘贴在光标所在行的下一行】,如果想粘贴在光标所在行之前,则使用P键

    上述简称Ctrl CV,这个可得好好学,咱们都是CV工程师

    💤剪切/删除

    在vim编辑器中,剪切与删除都是dd

    • 如果剪切了文件,但是没有使用p进行粘贴,就是删除操作
    • 如果剪切了文件,然后使用p进行粘贴,这就是剪切操作

    ① 剪切/删除当前光标所在行

            按键:dd (删除之后下一行上移)

            粘贴:p

    ② 剪切/删除多行(从当前光标所在行开始计算)        

            按键:dd (删除之后下一行上移)

            粘贴:p

    ③ 剪切/删除光标所在的当前行(光标所在位置)之后的内容,但是删除之后下一行不上移

    按键:D(Shift + d) (删除之后当前行会变成空白行)

    💤撤销/恢复

    撤销:u(undo)

    恢复:ctrl + r 恢复(取消)之前的撤销操作【重做,redo】

    💫底行模式下的相关操作

    底行模式先进入命令模式(无脑Esc),然后Shift + ;,前面的图解已经介绍咯!

    在这个模式我们可以:文件保存、退出、查找与替换、显示行号、paste模式.....

    底行模式咱们就看看就行,主要是咱们的命令模式

    💤保存/退出
    • :w   代表对当前文件进行保存操作,但是其保存完成后,并没有退出这个文件
    • :q   代表退出当前正在编辑的文件,但是一定要注意,文件必须先保存,然后才能退出
    • :wq 代表文件先保存后退出(保存并退出)
    • q!    代表强制退出但是文件未保存(不建议使用)
    💤文件内容的替换

    文件内容的替换可是在底行模式,咱们再看看这张图片叭

    只替换光标所在这一行的第一个满足条件的结果(只能替换1次)

    :s/要替换的关键词/替换后的关键词 + 回车

    案例:把第一行的#include 换成 include

    💤显示/取消行号

    显示行号:

    :set nu

    取消行号:

    :set nonu

      🌙编辑模式

    其实这里就没啥指令,它的功能就是写代码。还是看这张图解:

      🌙vim编辑器的实用功能(了解)

            之前说过vim 是vi 的升级版本,其中比较典型的区别就是vim 更加适合coding,因为vim比vi 多一个代码着色的功能,这个功能主要是为程序员提供编程语言升的语法显示效果,如下:

    第一步:定义后缀名为网页文件的代码文件

    # vim index.php
    第二步:编写对应的PHP代码

        echo 'hello world';
    ?>

    在vim编辑器中,我们可以通过:syntax on或:syntax off开启或关闭代码着色功能。

      🌙简单vim的配置

    用户配置:用户配置文件.vimrc由用户自己创建,存放于用户根目录下。

    如果大家没有这个文件的就touch .vimrc

    咱们用下面的指令可以编辑咱们的vimrc

            在这里就不讲解vim的配置了,有兴趣的小伙伴,可以查看vim的配置,这里博主配置好了vim,还是挺好用到,大家可以试试😊😊😊

    1. colorscheme desert
    2. syntax on
    3. filetype on
    4. au BufRead,BufNewFile *.sv set filetype=systemverilog
    5. au BufRead,BufNewFile *.v set filetype=verilog
    6. set number
    7. set autoindent
    8. set ts=2
    9. set expandtab
    10. set shiftwidth=4
    11. autocmd FileType make set noexpandtab
    12. set hlsearch
    13. set cursorline
    14. set cursorcolumn
    15. set guifont=Monospace\ 16
    16. inoremap ( ()i
    17. inoremap { {}i
    18. inoremap [ []i
    19. inoremap " ""i
    20. source ~/.vim/user/alias.vim

    🌟结束语

           今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小说手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。

  • 相关阅读:
    MIT6.S081的gdb调试方法
    27服务-安全访问状态转换
    C# range
    可变形卷积(DCN)
    找工作八股文----《计算机网络》
    基于JAVA航帆学院网站计算机毕业设计源码+数据库+lw文档+系统+部署
    LabVIEW 反向工程的实现与法律地位
    Hack The Box-Monitored
    安全清理C盘空间,5个基操,还你一个流畅办公体验
    二维网格迁移
  • 原文地址:https://blog.csdn.net/AAlykk/article/details/134443276