Linux 学习 --- 编辑 vi 命令

1、vi 基本概念(了解)

  • 基本上 vi 可以分为三种状态,分别是命令模式 (command mode)、插入模式 (Insert mode) 和底行模式 (last line mode),各模式的功能区分如下:

    1. 命令行模式 command mode)

      控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode。

    1. 插入模式(Insert mode)

      只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式。

    1. 底行模式(last line mode)

      将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号…… 等。

2、安装 vim

yum install -y vim-enhanced

  • 输入命令

  • 下载安装包

  • 安装

3、插入

  • 从命令行模式,进入插入模式

  • 按 "ESC" 键,从 "插入模式" 进入 "命令行模式"

    命令描述
    i在光标前插入
    shift + i在光标当前行开始插入
    a在光标后插入
    shift + a在光标当前行末尾插入
    o在光标当前行的下一行插入新行
    shift + o在光标当前行的上一行插入新行
  • 插入模式下,快捷键

    ctrl+w 撤销一个

    ctrl+u 清空光标前的内容

    ctrl+j 前面插入一个空行

4、复制和粘贴

  • 在命令行模式下 (一般模式)

    命令描述
    yy单行复制将光标移动到将要复制的行处
    nyy多行复制将光标移动到将要复制的首行处
    p粘贴将光标移动到将要粘贴的行处
    :'a,'b co 'c拷贝指定行 1)拷贝开始位置:ma2)拷贝结束位置:mb3)需要拷贝到位置:mc: 2,4 co 8 复制第 2--4 行,插入到第 8 行下面
    :'a 'b m 'c剪切指定行

5、定位

  • 如果命令以冒号开头,进入 "低行模式",其他都是 "命令行模式"

    命令描述
    :set nu显示行号
    :set nonu取消行号
    gg到文本的第一行
    shift + g到文本的最后一行
    :n 或 nG --20 shift+g到文本的第 n 行
    ctrl + b屏幕往 "后" 移动一页
    ctrl + f屏幕往 "前" 移动一页

6、删除

  • 一般模式下操作

    命令描述
    :set nu显示行号
    :set nonu取消行号
    gg到文本的第一行
    shift + g到文本的最后一行
    :n 或 nG --20 shift+g到文本的第 n 行
    ctrl + b屏幕往 "后" 移动一页
    ctrl + f屏幕往 "前" 移动一页

7、替换和取消命令

  • 一般模式下

    命令描述
    uundo,取消上一步操作
    Ctrl + rredo,返回到 undo 之前
    r替换光标所在处的字符
    shift + r从光标所在处开始替换,按 Esc 键结束

8、退出编辑

  • 进入 "行底模式" 操作

    命令描述
    :q退出 vi(没有做任何修改时)
    :q!强制退出不保存
    :w保存不退出
    :wq保存后退出

9、rpm 安装

命令描述语法介绍
rpm安装 rpm 文件-i  显示套件的相关信息
-v  显示指令执行过程
-h套件安装时列出标记
-U升级指定的套件档
-e删除指定的套件
--nodeps不验证套件档的相互关联性
-q使用询问模式
-a  查询所有套件

10、权限管理

  • 需求:修改 /root/itcast 文件夹的权限

  • 命令

    1)chmod (change mode) 功能:变更文件或目录的权限。

    语法:chmod [参数] [< 权限范围 >< 符号 >< 权限代号 >]

    -R 或 --recursive  递归处理,将指定目录下的所有文件及子目录一并处理。

    • 权限范围的表示法如下:

      u:User,即文件或目录的拥有者。

      g:Group,即文件或目录的所属群组。

      o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。

      a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

    • 符号:

      • 添加权限

      - 取消权限

      = 重写分配权限

    • 有关权限代号的部分,列表于下:

      r:读取权限,数字代号为 "4"。

      w:写入权限,数字代号为 "2"。

      x:执行或切换权限,数字代号为 "1"。

      -:不具任何权限,数字代号为 "0"。

    • linux 权限格式:<类型>< 用户 >< 组 >< 其他用户 >

  • 授权操作结论

    • 没有权限:chmod 000 ./abc

    • 所有权限:chmod 777 ./abc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/589041.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c3 笔记7 css基本语法

相关内容&#xff1a;字体、段落、词间距、文字效果&#xff08;对齐、上下标、阴影&#xff09;、背景图、背景渐变、…… 单位pt与px的差别pt是印刷使用的字号单位&#xff0c;不管屏幕分辨率是多少&#xff0c;打印到纸上看起来都是相同的&#xff0c;lot的长度是0.01384英寸…

[PS小技能学习]抠图和切图

详情见视频教程&#xff1a;PS小技巧--抠图与切图 今天我们来学习如何使用PS对表情包合辑进行抠图和裁剪保存 1、首先&#xff0c;将图片导入&#xff0c;双击图层新建一个图层 2、然后点击工具栏的魔棒工具&#xff0c;再点击顶部菜单栏的添加到选区 3、点击图片的空白区域即…

《QT实用小工具·五十一》带动画的 CheckBox

1、概述 源码放在文章末尾 该项目实现了带动画效果的多选框&#xff0c;鼠标放在上面或者选中都会呈现炫酷的动画效果&#xff0c;demo演示如下&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef LINEARCHECKBOX_H #define LINEARCHECKBOX_H#include <QCheckBox> …

C/C++不定参函数使用

C语言中不定参函数的使用和访问 例子 例如&#xff0c;这里想写一个打印的函数&#xff0c;但是参数并不确定该怎么办呢&#xff0c;这就要用到不定参函数 #include<stdarg.h> void printNum(int count,...){va_list ap;va_start(ap,count);//获取指定参数的起始地址&…

【CTF Reverse】XCTF GFSJ0492 insanity Writeup(反汇编+字符串搜索)

insanity 菜鸡觉得前面的题目太难了&#xff0c;来个简单的缓一下 解法 拖进 Exeinfo PE 中分析。 -> Compiler : GCC: (Debian 4.4.7-2) 4.4.7用 IDA 打开。 按 shift F12 打开 String 页面。找到 flag。 Flag 9447{This_is_a_flag}声明 本博客上发布的所有关于网络攻…

Java创建并遍历N叉树(前序遍历)

力扣 title589&#xff1a;N叉树的前序遍历 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示&#xff0c;每组子节点由空值 null 分隔&#xff08;请参见示例&#xff09;。 思路&#xff1a; 1.初始化时…

电脑自带dll修复在哪里,使用dll修复工具解决dll问题

在我们日常与电脑相伴的工作与学习过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中最常见的就是“无法找到.dll”或“找不到.dll文件”。这种情况通常是由于dll文件丢失或损坏导致的。dll文件是动态链接库文件&#xff0c;它包含了许多程序运行所需的函数和资源…

Ant Design助力:实现用户列表的优雅展示与管理

文章目录 概要前端讲解登录组件注册组件用户列表组件 后端讲解连接数据库db.js路由routes.jsexpress应用app.js 启动项目小结 概要 在上一篇博客&#x1f6aa;中&#xff0c;我们已经成功实现了登录注册系统的基本功能。现在&#xff0c;我们将进一步完善系统&#xff0c;实现…

File contains parsing errors: file:///etc/yum.repos.d/nginx.repo报错解决,文件配置出现问题

执行yum指令出现以下错误&#xff1a; 解决方案&#xff1a;yum的配置文件出现问题&#xff0c; 先删除yum.repos.d目录下所有文件 rm -f /etc/yum.repos.d/* 然后重新下载阿里的资源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.…

您想拥有一个属于你自己的GPT-3.5-turbo吗?来吧,开始行动起来吧!!!

背景: 在2024年4月的时候,openai公司宣布GPT-3.5-turbo免费使用,无需注册!!! 多么激动人心的消息啊!!! 但是,如何你想申请一个openai api key的时候,发现调用失败,直接报Rate Limit!!! 无语了!!! 不过没关系,我们另辟捷径!!! 下面就开始我的表演啦…

python可视化学习笔记折线图问题-起始点问题

问题描述&#xff1a; 起始点的位置不对 from pyecharts.charts import Line import pyecharts.options as opts # 示例数据 x_data [1,2,3,4,5] y_data [1, 2, 3, 4, 5] # 创建 Line 图表 line Line() line.add_xaxis(x_data) line.add_yaxis("test", y_data) li…

【全网最全】2024五一数学建模B题论文+前四问代码多种保奖进阶思路+建模过程+代码+数据处理+论文写作技巧等(后续会更新)

一定要点击文末的卡片&#xff0c;那是获取资料的入口&#xff01; 点击链接加入群聊【2024五一数学建模】&#xff1a;http://qm.qq.com/cgi-bin/qm/qr?_wv1027&khoTDlhAS5N_Ffp-vucfG5WjeeJFxsWbz&authKey7oCSHS25VqSLauZ2PpiewRQ9D9PklaCxVS5X6i%2BAkDrey992f0t15…

【hackmyvm】vivifytech靶机

渗透思路 信息收集端口扫描端口服务信息目录扫描爆破hydra--sshgit提权 信息收集 ┌──(kali㉿kali)-[~] └─$ fping -ag 192.168.9.0/24 2>/dev/null 192.168.9.119 --主机 192.168.9.164 --靶机个人习惯&#xff0c;也方便后续操作&#xff0c;将IP地址赋值给一个变…

两院院士泌尿外科专家吴阶平教授

吴阶平&#xff08;1917-2011&#xff09;&#xff0c;男&#xff0c;江苏常州人&#xff0c;1933年天津汇文中学毕业&#xff0c;保送到北平燕京大学医预科&#xff0c;1937年毕业于北平燕京大学获理学士学位&#xff0c;1942年毕业于北平协和医学院获医学博士学位&#xff0c…

使用 Langchain、Langfuse、Nemo-gaurdrails、RAGAs构建 RAG 管道并进行监控和评估

原文地址:build-end-to-end-rag-pipeline-with-monitoring-and-evaluation-using-langchain-azure-ai-search 2024 年 4 月 21 日 介绍 使用现代的LLM框架,如Langchain或llamaindex,可以迅速搭建一个用于 RAG 的管道,通常只需编写大约5-6行代码。然而,若要构建一个适用于生…

短视频素材去哪里搬运?短视频素材有哪些类型?

在这个数字化和视觉传达至关重要的时代&#xff0c;选择合适的视频素材对于提升视频内容的吸引力和观众参与度至关重要。无论您是一名广告制片人、社交媒体经理还是独立视频制作者&#xff0c;以下这些精选的视频素材网站将为您提供从高清视频到特效资源的全面支持&#xff0c;…

HSDB使用教程

HSDB&#xff1a;Hostspot Debugger&#xff0c;JVM内置的工具&#xff0c;用于深入分析JVM运行时的内部状态 启动HSDB java -cp D:/tools/jdk-1.8/lib/sa-jdi.jar sun.jvm.hotspot.HSDB 获取进程id jps 连接到指定进程 查找类 通过查询查找对象 输入查询语句 select d from …

算法复杂度分析:揭秘隐藏的计算之谜

复杂度 算法的复杂度指的是执行该算法的程序在运行时所需要的时间和空间资源。时间复杂度不是代码真正的时间&#xff0c;而是数据规模的增长所表达的趋势。 算法的复杂度分析分为时间复杂度和空间复杂度。一般我们说的多的是算法的时间复杂度&#xff0c;希望通过较少时间执行…

iOS 实现视图遮罩效果

有时候&#xff0c;我们会遇到这种需求&#xff0c;只讲视图的某个部分展示出来 这时候&#xff0c;我们可以通过设置该视图layer.mask layerb来实现&#xff0c;需要注意的是&#xff0c;这里的layerb必须要设置backgroundColor&#xff0c;渐变layer有colors,否则达不到效果…

ubuntu sudo apt-get install neo4j 配置安装与设置远程访问

文章目录 下载Adding the Debian repositoryInstalling Neo4j安装流程设置远程访问 下载 neo4j 官方的下载地址&#xff0c;进入页面之后&#xff0c;往下滑&#xff1a; https://neo4j.com/deployment-center/#community 点击 Visit https://debian.neo4j.com/ Adding the …