• linux 下vi/vim使用


    【1】VI与VIM区别
    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

    vim的这些优势主要体现在以下几个方面:

    ① 多级撤消

    我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

    ② 易用性

    vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

    ③ 语法加亮

    vim可以用不同的颜色来加亮你的代码。

    ④ 可视化操作

    就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

    ⑤ 对vi的完全兼容

    某些情况下,你可以把vim当成vi来使用。

    vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding。

    【2】VI命令
    vi有3个模式
    命令行模式 (command mode/一般模式)
    文本输入模式 (input mode/编辑模式)
    末行模式 (last line mode/指令列命令模式)。
    ① 命令行模式 (command mode/一般模式)
    任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式。我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。
      
    在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。

    ② 文本输入模式 (input mode/编辑模式)
    在命令模式下输入插入命令i(insert)、附加命令a(append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。

    在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按"ESC"键即可。

    ③ 末行模式 (last line mode/指令列命令模式)
    末行模式也称ex转义模式。

    Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。

    在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。

    在命令模式下,用户按​​“:”​​​键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个​​“:”​​作为末行模式的提示符,等待用户输入命令。

    多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。

    【3】VIM命令
    vim一共有4个模式:
    正常模式 (Normal-mode)
    插入模式 (Insert-mode)
    命令模式 (Command-mode)
    可视模式 (Visual-mode)
    ① 正常模式
    启动vim后默认处于正常模式。不论位于什么模式,按下​​​​键(有时需要按两下)都会进入正常模式。

    ② 插入模式
    在正常模式中按下i, I, a, A等键,会进入插入模式。

    现在只用记住按​​i​​键会进行插入模式。在插入模式中,击键时会写入相应的字符。

    ③ 命令模式
    在正常模式中,按下​​:​​(英文冒号)键,会进入命令模式。

    在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

    常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。

    ④ 可视模式
    在正常模式中按下v, V, ​​+v​​,可以进入可视模式。

    可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。


    vi/vim常用功能键

     

  • 相关阅读:
    【冷启动#1】实用的MySQL基础
    STM32建立工程问题汇总
    在Photoshop上标小图标的操作记录
    [LeetCode周赛复盘] 第 85 场双周赛20220820
    基于微信小程序的自习室预约系统设计与实现-计算机毕业设计源码+LW文档
    从铸剑到御剑:滴滴工程效能平台建设之路
    Day 57 条件变量
    大模型必备算力:CPU&GPU天梯图(2023年最新版)
    Python ---- 算法入门(3)分治算法解决【汉诺塔】问题
    javax.validation.constraints校验
  • 原文地址:https://blog.csdn.net/rqaz123/article/details/126116121