• Linux文本编辑器---vim详解


    零.前言

    本篇主要介绍Linux下文本编辑器vim的使用方法,以及sudo命令的实现。

    我使用3A服务器远程连接的centos7

    1.什么是vim

    在windows系统下,我们使用VS来编写代码,编译代码,调试代码,运行代码等,甚至还可以进行发布代码并进行代码关系的维护。这是因为微软已经将实现这些功能的工具全部都打包放入VS编译器中了。

    而在Linux系统中,并没有这种集万般武艺于一身的东西,我们编写代码,编译代码,调试代码等功能的实现是由不同的程序来完成的。

    其中,vim就属于文本编辑器,是可以编写代码的,但是不能调试代码,也不能执行代码。

    早期的Linux编辑器使用的是vi进行文本的编辑,vi与vim的关系类似C于C++的关系。

    2.配置vim环境

    (1)手动配置

    要进行手动配置我们还需要学一些vim指令的知识,这里先作为了解,看文章后面部分就可以理解了。

    首先在我们自己的文件夹下建立一个名为.vimrc的文件。

    建立之后我们可以vim进入这个文件,然后以插入模式向其中输入配置vim格式的命令即可。

    (2)白嫖配置

    这里给大家推荐一个配置程序:gitforcpp

    这是一个在gitee上免费的开源项目,只需要在gitee上搜索gitforcpp

    进入后下拉页面,找到这段安装程序:

     

    将其复制后,在当前用户的文件夹下粘贴,然后直接回车即可,系统会自动安装配置。

    注意,当前用户对vim的配置只对当前用户生效,对其他用户是不生效的。

    3.vim的三种模式以及切换

    注意,本文中shift表示常按。

    vim一共有四种模式,分别是命令模式,插入模式,底行模式以及替换模式,替换模式我们尽量当成一种功能去使用,因此这里主要介绍三种模式,已经足够。

    当我们直接输入vim时,显示的是当前vim的版本信息:

     

    我们需要建立一个文件才能打开文件,比如建立一个test.txt文件,然后用vim打开它:

    touch test.txt
    vim test.txt

     

    打开后我们会进入一个空白的文本界面。目前我们所处的模式叫做命令模式。

    如果我们想退出vim就需要先进入底行模式:shift+:。然后再输入q然后回车,即可退出vim。从底行模式进入命令模式可以通过Esc键。

    我们发现我们现在是不能写入内容的,需要进入插入模式才能书写内容,此时需要输入i,即进入插入模式。当输入i时,我们发现下面出现了INSERT的字样。

    同时我们也可以通过Esc键退出插入模式进入命令模式。

     

    注意:只有当进入底行模式的时候才能退出vim,如果当前处于插入模式,那么就需要先进入命令模式,再进入底行模式,才能退出vim。插入模式和底行模式必须通过命令模式进行相互转换。
    下面用一张图来表示三者的关系:

     

    4.命令模式

    (1)光标位置

    上下左右移动光标

    我们可以使用键盘上的上下左右键来移动光标,但是不建议这样做,因为在最初的键盘是没有上下左右键的,我们使用HJKL来代替上下左右键。下面给出记忆方法。

    H:左,四个键中最左侧。

    J:下,联想jump是向下跳。

    K:上,联想king是高高在上的。

    L:右,四个键中最右侧。

    光标锚点位置

    shift+^:跳转到光标所在行行首。

    shift+$:跳转到光标所在行行尾。

    gg:跳转到起始行。

    shift+g:跳转到结束行。

    n+shift+g:跳转到第n行。

    b:以单词为单位,光标向前移动。

    w:以单词为单位,光标向后移动。

    有人说,直接用鼠标不香吗,小项目还好,如果遇到大项目好几千行代码,直接命令操作会更加容易一些,因此vim就是为处理大项目而生的。

    进入插入模式

    i:光标位置不变。

    a:光标向前挪动一位。

    o:光标新开启一行。

    (2)文本操作

    yy:复制当前行。

    nyy:复制当前行以及当前行后的n-1行。

    p:光标所在行后所有行后退一行,粘贴到光标所在行的下一行。

    np:一次重复粘贴n行。

    u:撤销(类似ctrl z)。

    ctrl+r:撤销最近的撤销。

    dd:删除并复制当前行(dd与p连用就是剪切操作)。

    ndd:删除并复制当前行即后n-1行。

    shift(按住)+不断按~:逐一改变大小写。

    shift(按住)+~(按住):改变一行的大小写。

    x:删除光标后的一个字符,支持nx(从左向右删)。

    shift+x:删除光标前的一个字符,支持n(shift+x)(从右向左删)。

    r:字符替换,eg.r+b的意思是将一个字符替换成b,支持nr即5r+x表示的是将5个字符替换成x。

    shift+r:进入替换模式,输入内容后覆盖之后的内容,按Esc退出。

    5.底行模式

    在命令模式下输入shift+:进入底行模式。

    进入底行模式后我们会发现我们输入的指令都会显示在最底行。

    注意,每一次输入指令后回车后需要重新输入shift+:才能继续输入指令。

     

    set nu:调出行号。

    set nonu:关闭行号。

    vs 文件名:分屏操作

    ctrl+ww:光标多屏跳转,光标在哪个文件指令对哪个文件生效。(注意要在命令模式下使用该命令)

    w:保存,w!表示强制保存。

    q:退出,q!表示强制退出。

    wq:保存并退出。wq!表示强制保存并退出。

    6.vim添加sudo指令

    在root用户下vim在 /etc/sudoers位置处。下面就可以处理如何添加sudo命令了。

    vim /etc/sudoers

     

    打开后在100行,模仿root添加自己的用户名即可,这里我添加的是lhb。表示信任lhb这个用户。
    我们就可以使用sudo指令了。

  • 相关阅读:
    集群路径规划学习(一)之EGO-swarm仿真
    linux server设置开机自动连接WIFI
    sklearn 基础教程
    撰寫自己的Python C擴展!
    QT银行储蓄管理系统
    使用Python,PCA对iris数据集降维2维/3维并进行2D,3D散点图绘制(包括有图例&无图例,有标题Label&无标题Label)
    MySQL知识【数据库相关概念】第一章
    在单片机中什么是FLASH
    微电网的概念
    专为小白打造—Kafka一篇文章从入门到入土
  • 原文地址:https://blog.csdn.net/m0_72838865/article/details/126638975