码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 4、VI/VIM编辑器


    文章目录

    • 4、VI/VIM编辑器
      • 4.1 是什么
      • 4.2 测试数据准备
      • 4.3 一般模式
      • 4.4 编辑模式
      • 4.5 指令模式
      • 4.6 模式间转
      • 4.7 vim不正常退出后再次打开信息提示解决方法


    尚硅谷2022版Linux教程-讲师:武晟然

    壁立千仞 无欲则刚

    4、VI/VIM编辑器

    4.1 是什么

    VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。

    VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。

    4.2 测试数据准备

    1)拷贝/etc/profile 数据到/root 目录

    [root@centos7:101 ~]# cp /etc/profile /root
    [root@centos7:101 ~]# cd /root
    
    • 1
    • 2

    4.3 一般模式

    以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可
    以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档
    案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

    语法功能描述
    yy复制光标当前一行
    y 数字 y复制一段(从第几行到第几行)
    p箭头移动到目的行粘贴
    u撤销上一步
    dd删除光标当前行
    d 数字 d删除光标(含)后多少行
    x剪切一个字母,相当于 del
    X剪切一个字母,相当于 Backspace
    yw复制一个词
    dw删除一个词
    shift+6(^)移动到行头
    shift+4 ($)移动到行尾
    1+shift+g移动到页头,数字
    shift+g移动到页尾
    数字+shift+g移动到目标行

    在这里插入图片描述

    4.4 编辑模式

    在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要
    等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
    注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或
    REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下
    『Esc』这个按键即可退出编辑模式。

    1. 进入编辑模式
    按键功能
    i当前光标前
    a当前光标后
    o当前光标行的下一行
    I光标所在行最前
    A光标所在行最后
    O当前光标行的上一行
    1. 退出编辑模式
      按『Esc』键 退出编辑模式,之后所在的模式为一般模式。

    4.5 指令模式

    在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那
    一行。
    在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、
    离开 vi 、显示行号等动作是在此模式中达成的!

    1. 基本语法
    命令功能
    :w保存
    :q退出
    :!强制执行
    /要查找的词n 查找下一个,N 往上查找
    :noh取消高亮显示
    :set nu显示行号
    :set nonu关闭行号
    :%s/old/new/g替换内容 /g 替换匹配到的所有内容
    1. 案例实操
      强制保存退出
      :wq!

    4.6 模式间转

    在这里插入图片描述

    4.7 vim不正常退出后再次打开信息提示解决方法

    https://blog.csdn.net/weixin_42517271/article/details/127232599

    简而言之:删除.nginx.conf.swp

    rm -f /usr/local/nginx/conf/.nginx.conf.swp
    
    • 1
  • 相关阅读:
    SOLIDWORKS 2024新功能--Electrical篇
    Semtech 12亿美元重大并购,物联网领域有机会出现下一个“LoRa 生态”吗?
    【第三章-1】面向对象——类与对象基本概念
    C++类构造函数和析构函数
    VS2019编译配置Cilantro库
    在HTML里,attribute和property有什么区别?
    代码随想录 | Day 51 - LeetCode 309.最佳买卖股票时机含冷冻期、LeetCode 714.买卖股票的最佳时机含手续费
    51单片机内部外设:实时时钟(SPI)
    javaee springMVC日期类型转换之通过注解的方式
    Android Studio 写一个Java调用c++ 的demo
  • 原文地址:https://blog.csdn.net/zhao854116434/article/details/127810344
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号