• [Linux入门]---文本编辑器vim使用


    1.Linux编辑器-vim使用

    在这里插入图片描述

    vi/vim作为Linux开发工具之一,从它的键盘操作图也可以知道,它的操作不会很简单,但如果我们认真学习的话,想熟练地使用也不会很难!
    在这里插入图片描述
    vi/vim的区别简单点来说,它们都是多模式编辑器,不同的vimvi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x windowmac oswindows

    2.vim的基本概念

    vim编辑器有很多种模式,我们目前掌握命令模式(command mode)插入模式(insert mode)底行模式(last line mode)

    • 正常/普通/命令模式(Normal mode)
      控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode;vim编辑器默认进入命令模式,该模式不能写代码,需要转换到插入模式,此时可以按a\s\i\o其中一个键可以从命令模式转换到插入模式
      在这里插入图片描述
      在这里插入图片描述
    • 插入模式(Insert mode)
      只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
    • 末行模式(last line mode)
      文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+;(其实为:) 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入 :help vim-modes,输入: w (保存当前文件),输入: wq (存盘并退出vim),输入: q! (输入q!,不存盘强制退出vim),输入:wq!(强制保存并退出该文件)
      在这里插入图片描述

    4.vim正常模式命令集

    从正常模式进入插入模式

    • 「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
    • 「s」进入插入模式后,删除光标所在位置的字符,从删除字符的位置开始输入字符。
    • 「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
    • 「o」进入插入模式后,是插入新的一行,从行首开始输入文字;
      我们提前编辑好一段代码,统一让光标在如下位置,观察以不同方式进入插入模式的效果
      在这里插入图片描述
      「a」切换进入插入模式
      在这里插入图片描述
      「s」进入插入模式后
      在这里插入图片描述
      「i」切换进入插入模式
      在这里插入图片描述
      「o」进入插入模式后> 在这里插入图片描述

    从插入模式转换为命令模式

    「ESC」键后,即可从插入模式转换为命令模式

    移动光标

    • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、
      「l」,分别控制光标左、下、上、右移一格
      在这里插入图片描述
      接下来以该光标位置为基准,进行按键学习
      在这里插入图片描述
    • [gg]键:进入到文本行开始
    • 在这里插入图片描述
    • 「G」(即shift+g):移动到文本行末尾
    • 在这里插入图片描述
    • 「nG」(即n+shift+g):光标定位到任意行
      在这里插入图片描述
    • 「 $ 」(即shift+$键):移动到光标所在行的行尾。+ 在这里插入图片描述
    • 「^」(即shift+^):移动到光标所在行的“行首”

    在这里插入图片描述

    • 按「w」:光标跳到下个字的开头
    • 按「b」:光标回到上个字的开头
    • 按「e」:光标跳到下个字的字尾
    • 按「nl」:光标移到该行的第n个位置(n为数字)
    • 按「ctrl」+「b」:屏幕往“后”移动一页(即向上移动一页)
    • 按「ctrl」+「f」:屏幕往“前”移动一页(即向下移动一页)
    • 按「ctrl」+「u」:屏幕往“后”移动半页(即向上移动半页)
    • 按「ctrl」+「d」:屏幕往“前”移动半页(即向下移动半页)

    删除文字

    • x」:每按一次,删除光标所在位置的一个字符
    • #x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
    • X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
    • #X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
    • dd」:删除光标所在行
    • #dd」:从光标所在行开始删除#行。
      注意:这里的#表示数字(0、1、2...),不是表示字符

    复制

    • yw」:将光标所在之处到字尾的字(文字、单词)复制到缓冲区中。
    • #yw」:复制#个字(文字、单词)到缓冲区。
    • yy」:复制光标所在行到缓冲区。
    • #yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
    • p」:将缓冲区内的字符贴到光标所在位置。
    • #p」:将缓冲区内的字符粘贴#份到光标所在位置的下一行
      注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能;「#dd」为剪切功能,配合“p”配合也可以完成复制配合的功能。

    替换

    • ~」(即shift+~):将光标所在位置的字符进行大小写转换。
    • r」:替换光标所在处的字符。
    • R(即shift+r):替换光标所到之处的字符,直到按下「ESC」键为止。该模式为vim的替换模式!

    撤销

    • u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
    • ctrl + r」:撤销的恢复(反撤销)

    更改

    • cw」:更改光标所在处的字到字尾处。
    • c#w」:例如,「c3w」表示更改3个字(文字、单词)。

    跳至指定行

    • ctrl」+「g」:列出光标所在行的行号。
    • #G」:例如,「15G」,表示移动光标至文章的第15行行首。

    5.vim末行模式命令集

    在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入

    • 列出行号
      set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
      set nonu」:取消行号设置。
      在这里插入图片描述
    • 跳到文件中的某一行
      #」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如 再回车,就会跳到文章的第15行。
    • 查找字符
      /关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要「n」会往后(适合从顶部向下)寻找到您要的关键字为止。
      ?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要按「n」会往前(适合从底部往上)寻找到您要的关键字为止。
    • 保存文件
      w」: 在冒号输入字母「w」就可以将文件保存起来
    • 离开vim
      q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim
      wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
    • 多文件切换
      vs + 文件名,打开多文件编辑窗口,如果该文件存在,直接打开文件进行编辑;如果文件不存在,创建文件后再进行编辑。
      ctrl+ww,光标在多文件窗口切换。
    • vim编辑器中使用外部命令
      !+外部指令」,使用英文感叹号加上指令,可以在不退出vim编辑器的情况下,使用外部指令,按Enter键(回车键)可以回到vim编辑器中进行输入命令!

    5.总结

    本章我们一起学习了,vim编辑器的三种模式:命令模式、插入模式、底行模式,这三种模式的关系如下:
    在这里插入图片描述

  • 相关阅读:
    (十三)MyBatis的逆向工程
    Python与CAD系列基础篇(四)创建矩形、倒角矩形、圆、椭圆
    RabbitMQ - 消息堆积问题的最佳解决方案?惰性队列
    Java学习Day018(第四章数组笔记)
    设计模式6——工厂方法模式实践
    python:打印九九乘法表、直角三角形、等腰三角形、正方形
    云计算:掌控未来,一触即发!
    遥感技术让农业更“智慧”北斗在精准农业领域信息化农业化的特征
    【Java后台】从零开始的Java后台开发(一)
    《java练级之路》类和对象,博主熬夜肝六个小时万字博客
  • 原文地址:https://blog.csdn.net/m0_74288306/article/details/132247484