• linux编辑器-vim


    1.vim是什么

    vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

    2.vim的基本概念

    vim + 文件名就可以直接进入vim, (vim + 文件名 + n 进入vim之后,光标直接出现在第n行)

    vim一共有三种常见的模式,分别是命令模式(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

    3.命令模式常见操作

    3.1 插入模式

    • 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
    • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
    • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

    3.2 移动光标

    • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
    • 按 「gg」: 定位到代码的第一行
    • 按「G」:定位到代码的最后一行
    • 按「n + shift + g」:定位到代码的第n行
    • 按「 $ 」:移动到光标所在行的“行尾”
    • 按「^」:移动到光标所在行的“行首”
    • 按「n + l」:光标移到该行的第n个位置,如:5l,56l
    • 按「w」:以单词为单位,向后移动,支持跨行
    • 按「b」:以单词为单位,向前移动,支持跨行

    3.3 复制

    • 按 「yy」:复制当前行
    • 按 「n + yy」:复制n行操作,从当前行开始
    • 按 「dd」:剪切光标所在行
    • 按 「n + dd」:剪切n行操作,从当前行开始
    • 按 「p」:粘贴,粘贴到光标所在下一行
    • 按 「n + p」:粘贴n次操作,从当前行开始

    3.4 撤销

    • 按 「u」:回到上一个操作。按多次“u”可以执行多次回复。
    • 按 「ctrl + r」:撤销的恢复

    3.5 修改

    • 按「x」:每按一次,删除光标所在位置的一个字符
    • 按「n + x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
    • 按「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
    • 按「n + X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
    • 按「dd」:删除光标所在行
    • 按「n + dd」:从光标所在行开始删除n行
    • 按「shift + ~」:文本大小写的转换
    • 按「r」:替换光标所在处的字符
    • 按「n + r」:替换光标所在的向后n个字符
    • 按「R」:替换光标所到之处的字符,直到按下「ESC」键为止。(进入替换模式)

    3.6 查找

    • 按「shift + #」:查找同名单词,按n同单词跳转

    4.末行模式常见操作

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

    4.1 基础操作

    • w(保存当前文件)
    • q(退出vim)
    • wq (输入「wq」,存盘并退出vim) 
    • q! (输入q!,不存盘强制退出vim)

    4.2 列出行号

    「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

    4.3 跳到文件中的某一行

    「#」:   #号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

    4.4 查找字符

    「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

    「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

    5.补充

    5.1 注释

    1.批量化注释

    1. 按esc进入命令模式

    2. 按ctrl + v (进入视图模式)

    3. 按h/j/k/l选择区域
    4. 按shift + i

    5. 按//

    6. esc

    2.批量化删除注释

    1. 按esc进入命令模式

    2. 按ctrl + v (进入视图模式)

    3. 按h/j/k/l选择区域

    4. 按d即可

    5.2 多文件编辑

    按esc进入命令模式,再按shift + ;( : )进入末行模式,输入vs 文件名,即可打开一个新文件进行编写

    使用ctrl + ww 就可以切换文件光标,无论打开了多少个文件, 光标只有一个,光标在哪个区域,就代表当前正在编写的是哪个文件。

  • 相关阅读:
    Vuex详解(五种状态)
    SpringCloud微服务实战——搭建企业级开发框架(三十六):使用Spring Cloud Stream实现可灵活配置消息中间件的功能
    Windows - WINS Service
    linux下的io_uring和windows下的overlapped均可实现异步I/O,有什么异同?
    代谢组学分析平台(二)
    基于kubernetes的分布式限流
    RT1176 LPSPI驱动移植到RT-THREAD
    JDBC 从入门到放弃
    在条件神经网络训练中,为什么对于条件特征采取 “don‘t compute derivative w.r.t. inputs”?
    vite + vue3 + js 搭建组件库 + 核心配置与使用
  • 原文地址:https://blog.csdn.net/weixin_74310945/article/details/132763974