• 【Linux】 - linux文本编辑器vim的常用操作


    启动和退出

    【启动】:输入vim命令,屏幕显示如下:
    在这里插入图片描述
    【退出】:输入以下命令退出vim:

    :q
    
    • 1

    此时shell会返回初始的操作窗口。如果因为一些原因,vi不能够退出 (通常是因为没有保存修改过的文件),可以通过在命令后添加感叹号的方式强制退出。

    :q!
    
    • 1

    命令模式和插入模式

    再次启动vim,并向其传递一个不存在的文件名,就可以通过vim创建新文件。
    在这里插入图片描述
    每行开头的波浪线代表此行没有任何内容,即当前文件是一个空文件。

    此时,vim就处于命令模式,在命令模式中,几乎键盘上的每一个按键都代表一条命令。

    如果用户需要向文件中添加一些内容,那么首先要做的就是按I键(或 i)进入插入模式。现在就可以进行输入操作了:
    在这里插入图片描述
    输入完成后,按Esc键退出插入模式并返回命令模式。,然后进行保存和退出操作。

    保存操作

    输入命令:

    :w
    
    • 1

    在这里插入图片描述
    文件保存成功!
    然后输入以下命令退出vim:

    :q
    
    • 1

    也可以将两条命令连起来使用,即:

    :wq
    
    • 1

    表示保存并退出!

    光标移动命令

    在命令模式下,vi提供了很多移动光标命令。

    按键动作
    L或右方向键右移一位
    H或左方向键左移一位
    J或下方向键下移一行
    K或上方向键上移一行
    数字0至本行开头
    A至本行末尾,并进入插入模式
    a后移一位,并进入插入模式
    Shift-6(^)至本行第一个非空字符
    Shift-4($)至本行的末尾
    W至下一单词或标点的开头
    B至上一单词或标点的开头
    Ctrl-F或Page Down下翻一页
    Ctrl-B或Page UP上翻一页
    number-Shift-G至第number行
    Shift-G(G)至文件的最后一行

    文本编辑操作

    插入一行

    插入文本的另一种方式是在文本中重开一行,即在两行现存的文字中间 插入空白行并进入插入模式。

    命令
    o当前行的上方插入一行
    O当前行的下方插入一行

    删除文本

    命令删除内容
    x当前字符
    3x当前字符和之后2个字符
    dd当前行
    5dd当前行和之后4行
    dW当前字符到下一单词的起始
    d$当前字符到当前行的末尾
    d0当前字符到当前行的起始
    d^当前字符到当前行下一个非空字符
    dG当前行到文件末尾
    d20G当前行到文件第20行

    复制和粘贴

    命令复制内容
    yy当前行
    5yy当前行和之后4行
    yW当前字符到下一单词的起始
    y$当前字符到当前行的末尾
    y0当前字符到当前行的起始
    y^当前字符到当前行下一个非空字符
    yG当前行到文件末尾
    y20G当前行到文件第20行

    查找和替换

    行内搜索

    f
    
    • 1

    f 命令在行内进行搜索,并将光标移至搜索到的下一个指定字符。比 如,命令fa就会将光标移动到本行下一处出现字符a的地方。

    搜索整个文件

    l
    
    • 1

    命令“/”可以完成对单词或短语的搜索。当用户使用“/”命令后,一个“/”符号会出现在屏幕的底部。接下 来,输入需要搜索的单词或短语,以Enter结束。光标就会移动到下一处 包含被搜索字符串的地方。

    全局搜索和替换

    输入以下命令可将文件中的abc替换为cba:

    :%s/abc/cba/g
    
    • 1

    现在就来解析这条命令每一部分的功能:

    符号含义
    分号用于启动一条ex命令
    %确定了操作作用的范围。%简洁地代表了从文件的第1行到最后1行。本命 令的范围还可以表示为1,$,意思 是“从第1行到文件的最后一行”。
    /abc/cba搜索和替换的文本
    g代指global(全局),也就是说对搜索到的每一行的每一个实例进行替 换。如果g缺失,那么只替换每一行第一个符合条件的实例

    在命令末尾添加c,则命令在每次替换之前都会请求用户确认。

    :%s/abc/cba/gc
    
    • 1

    在这里插入图片描述

    • y: 执行替换
    • n: 跳过此次替换
    • a: 执行此次替换和之后的所有替换
    • q或者ESC: 停止替换
    • l: 执行此次替换并退出替换。
    • Ctrl-E,Ctrl-Y: 分别是向下滚动和向上滚动,能用于查看替换处的上下文
  • 相关阅读:
    什么是消息中间件
    七夕表白网页效果实现与解析
    Hugging News #0317: ChatGLM 会成为 HF 趋势榜的第一名吗?
    安卓机型-MTK芯片掉串码 掉基带 如何用工具进行修复 改写参数
    参数估计——《概率论及其数理统计》第七章学习报告(点估计)
    还在用Calendar操作Date?Java8都弃用了,还不知道它的这款强大的工具吗?
    【pen200-lab】10.11.1.14
    C进阶-数据的存储(下)
    ASP.NET Core 8 的内存占用可以更低吗?
    c++三大概念要分清--重载,隐藏(重定义),覆盖(重写)
  • 原文地址:https://blog.csdn.net/weixin_43598687/article/details/126758022