【linux运维】vim基础应用

news/2024/9/25 16:04:27/

系列综述:
💞目的:本系列是个人整理为了学习基本的shell编程和linux命令,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于b站大学——linux运维课程进行的,每个知识点的修正和深入主要参考各平台大佬的文章,其中也可能含有少量的个人实验自证。
🤭结语:如果有帮到你的地方,就点个赞关注一下呗,谢谢🎈🎄🌷!!!


文章目录

    • vim概述
      • 基础知识
      • 命令模式操作
      • 末行模式操作
      • 使用技巧
    • 参考博客


😊点此到文末惊喜↩︎


vimfont_14">vim概述

基础知识

  1. vim是一个全屏幕文本编辑器,是vi编辑器的增强版
# 定义临时别名,让vi命令执行vim
alias vi='vim'
# 定义永久别名,将别名写入环境变量配置文件~/.bashrc
  1. vim的三种工作模式

    • 命令模式:该模式下可以使用快捷键进行控制
    • 输入模式:进入文本编辑
    • 末行/编辑模式:进行该文件处理操作
  2. 模式概述

    • 切换
      在这里插入图片描述
    • 进入输入模式
    命令作用
    a在光标所在字符后插入
    A在光标所在行尾插入
    i在光标所在字符前插入
    I在光标所在行首插入
    o在光标插入新行
    O在光标插入新行
    • 末行/模式的操作
    命令作用
    :w保存但不退出
    :w 文件名将文件另存为新文件
    :!q不保存退出,改些没用的
    :!wq保存退出,只能文件所有者或root用户才能使用

命令模式操作

  1. 光标移动快捷键
    命令作用
    h / j / k / l左/下/上/右
    g快速移动到文件头
    G快速移动到文件末尾
    ^移动到行首(类似正则)
    $移动到行尾(类似正则)
    :数字数字表示移动到第几行
  2. 删除快捷键
    命令作用
    x删除单个字母
    nx删除n个字母
    dd删除单行
    ndd删除多行
    n,md删除第n到m行
    dG删除该行以下的所有字符
  3. 复制与粘贴
    命令作用
    yy复制光标所在行
    nyy复制光标及以下所在行
    小写p粘贴在光标所在行的下面
    大写P粘贴在光标所在行的上面
    r替换光标所在的字符
    R从光标开始出替换该行字符,按ESC结束
  4. 撤销和反撤销
    | u | 撤销到上一步 |
    | Ctrl+r | 反撤销 |

末行模式操作

  1. 基本配置永久生效
    • 手工建立~/.vimrc,然后将需要的参数手工写入
  2. 配置文件展示信息
    命令作用
    :set nu显示行号
    :set nonu取消行号
    :syntax on显示相应颜色
    :syntax off取消显示相应颜色
    :set hlsearch将所要查找的字符串高亮显示
    :set nohlsearch取消所要查找字符串的高亮显示
    :set ruler显示右下角状态栏
    :set noruler取消右下角状态栏的显示
    :set list/nolist是否显示隐藏字符,如^表示Tab,$表示回车(win下回车是^M$)
  3. win和linux下文件的回车符号不同,经常会导致shell脚本的解析失败问题
  4. 查找命令
    命令作用
    /查找内容从光标所在行向下查找
    ?查找内容从光标所在行向上查找
    n向下查找一个
    N向上查找一个
  5. linux下文本文件非正常关键会通过.swp文件缓存内容,需要删除该文件才能继续编辑
  6. 替换命令
    命令作用
    :1,10s/old/new/g将1-10行的所有旧字符串替换成新字符串
    :%s/old/new/g将文件中的所有旧字符串替换成新字符串
    :n,ms/^/#/g注释文件中的n到m行
    :n,ms/^#//g取消指定行的注释
    :n,ms/^g注释文件中的n到m行(其他语言)
    :n,ms/^g取消指定行的注释(其他语言)

使用技巧

  1. 快捷操作
    命令作用
    :r 文件名将文件内容导入光标位置
    :!系统命令vim模式中可以执行系统命令
    :r !命令将命令的执行结果导入到光标所在位置
    :map 快捷键 所要执行的命令自定义命令的快捷键
    :map ^P I#按住ctrl+p时,在行首加入注释
    :map ^B ^x按住ctrl+b时,删除行首第一个字符(注释)
  2. map中的组合键符号需要使用ctrl+v,然后再输入其对应的组合键,永久生效需要写入到~/.vimrc文件中


少年,我观你骨骼清奇,颖悟绝伦,必成人中龙凤。
不如点赞·收藏·关注一波


🚩点此跳转到首行↩︎

参考博客

  1. 待定引用
  2. 待定引用
  3. 待定引用
  4. 待定引用
  5. 待定引用
  6. 待定引用
  7. 待定引用
  8. 待定引用

http://www.ppmy.cn/news/1450761.html

相关文章

软件杯 深度学习的动物识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

SQL 基础 | AS 的用法介绍

SQL(Structured Query Language)是一种用于管理和操作数据库的标准编程语言。 在SQL中,AS关键字有几种不同的用法,主要用于重命名表、列或者查询结果。 以下是AS的一些常见用法: 重命名列:在SELECT语句中&a…

程序设计:C语言 UNIX/LINUX 环境变量替换

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 很多时候程序希望对配置参数做…

JavaEE 初阶篇-深入了解 Junit 单元测试框架和 Java 中的反射机制(使用反射做一个简易版框架)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Junit 单元测试框架概述 1.1 使用 Junit 框架进行测试业务代码 1.2 Junit 单元测试框架的常用注解(Junit 4.xxx 版本) 2.0 反射概述 2.1 获…

Docker 中安装单体架构 Redis 的 Shell 脚本

该脚本用于实现 root 用户在 Linux 操作系统下的 Docker 中安装单体架构 Redis Shell 脚本 Git 仓库地址 Gitee:https://gitee.com/tongchaowei/common-shell/tree/main/root 执行脚本 bash ./docker-redis-install-single.sh需要注意的 该脚本会先检查是否安…

Python语言零基础入门——文件

目录 一、文件的基本概念 1.文件 2.绝对路径与相对路径 3.打开文件的模式 二、文件的读取 三、文件的追加 四、文件的写入 五、with语句 六、csv文件 1.csv文件的读取 2.csv文件的写入 七、练习题:实现日记本 一、文件的基本概念 1.文件 文件是以计算…

15、ESP32 Wifi

ESP32 的 WIFI 功能是模块内置的&#xff0c;通过 ESP32 的基础库调用一些函数就可以轻松使用它。 Wifi STA 模式&#xff1a; 让 ESP32 连接附近 WIFI&#xff0c;可以上网访问数据。 // 代码显示搜索连接附近指定的 WIFI // 通过 pin 按键可断开连接#include <WiFi.h>…

分布式与一致性协议之Raft算法(三)

Raft算法 如何复制日志 你可以把Raft算法的日志复制理解成一个优化后的二阶段提交(将二阶段优化成了一阶段)。优化后减少了一半的往返消息&#xff0c;也就是降低了一半的消息延迟&#xff0c;那日志复制的具体过程又是什么呢&#xff1f; 首先&#xff0c;领导者进入第一阶段…