“Linux”的vi / vim目录编辑器

     在前面中我们了解到Linux中的基础命令,20多个命令每个记住格式是:命令  选项   参数或者文件名,下面在了解一下最后两个命令:tree命令和find命令

一、补充的命令

(1)tree

作用:以竖状显示文件

格式:tree  目标目录

如果没有命令格式,去yum源下载命令

安装命令:yum install tree -y

 

(2)find命令

作用:查找 / 搜索

格式: find  搜索目录 搜索条件 执行的动作

 linux中搜索文件有两种个命令

locate:速度很快,但是结果不准确
linux中维护了一个数据库,数据库中记录了系统中的每个文件的文件名和文件的保存路径,这个数
据库每天早上更新一次。
locate搜索文件的时候,就是去检索数据库中 的记录,所以搜索速度快
find:速度慢,但是结果精准
find搜索文件的时候,就是逐一检查目录及其子目录中的文件

 搜素指定位置

/ :搜索根号底下所有的目录路径

/etc/ :etc 底下所有的目录路径

/  home : home底下所有的目录路径

 搜索条件:指定根据什么条件进行搜索

-name: 根据文件名搜索

-name 名称.txt 搜索关于这个名称.txt的相关内容

-size :根据文件大小搜索   

n:表示文件的大小,后面跟上的是单位,常用的单位有如下
‘b’ for 512-byte blocks (this is the default if no suffix is
used)
‘c’ for bytes
‘w’ for two-byte words
‘k’ for Kilobytes (units of 1024 bytes)   比如:1kb
‘M’ for Megabytes (units of 1048576 bytes)   比如:1mb
‘G’ for Gigabytes (units of 1073741824 bytes)  比如: 1Gb
如果不指定单位类型,那么默认是以字节为单位

-perm:根据文件权限进行搜索

-type:根据文件的类型进行查找

d :目录类型文件
f :一般文件
l :连接文件-
执行的动作:找到文件之后的操作
-print:显示找到的文件
-exec :找文件后执行下一个命令
比如:find a.txt -exec cp /位置
okkkkkkkkkkk。我们的命令到此完成

二、vi / vim编辑器

vi是一个文本编辑器,可以改写文档或开发程序

vim是vi的升级版,功能差不多,比vi好一点,去鼠标化,编辑更方便。

区别:vi 是固定的没有其他颜色,vim编辑时会有区分颜色。


vim编辑器是一个模式化文本编辑工具

模式一 :编辑模式(进入文本后的默认模式)

作用:删除,复制,剪切,粘贴,替换字符

(1)复制

前提:本操作的#号代表数字表示井号
复制内容:单行复制:yy粘贴    :p多行复制:#yy

(2)剪切、删除

前提:本操作的#号代表数字表示井号你剪切之后不去复制就是删除
剪切、删除:单行剪切(删除): dd多行剪切(删除):#dd在光标之前的字符到行首的内容删除:d0光标到行尾的内容删除:d$ 或者大写 D删除光标所在位置的单词:dw光标删除到最后:dG

(3)移动光标

移动光标 左移光标:h右移光标:l下移光标:j上移光标:k
移动当前屏幕最后一行,不是文档最后:L
移动当前屏幕中间行:M文件多时用翻页下翻一页:ctrl+f上翻一页:ctrl+b上翻半页:ctrl+d下翻半页:ctrl+u

(4)定位

前提:本操作的#号代表数字表示井号#G :数字加G,定位到文档指定行G:定位到文档最后一行gg:定位到文档第一行w:跳转到后一个单词词首b:向前跳转一个单词x:删除一个字符u:撤销上一步操作
ctrl+r:撤销撤销上一步操作

(5)查询功能

输出 / 单词 搜索功能

选项: 

n :向下跳转一个关键词

N:向上跳转一个关键词

模式二:插入模式

进入插入模式后,左下角会显示一个insert单词

注意:插入模式并不能直接进入末行模式

作用:编辑文本内容

进入插入模式的方式

i :在光标前进行插入内容
a :在光标后进行插入内容
o :在光标下一行进行插入内容
I :在行首进行插入
A :在行尾进行插入
O :在光标上一行进行插入

模式三:末行模式

作用:用于执行一些命令或者bash进行交互或者执行一系列自动化指令

注意:末行模式不能直接进入插入模式

进入末行模式:

保存:w
退出:q
保存退出:wq
强制保持退出:wq!
强制退出:q!
保存退出的快捷键方法:x ZZ shift+zz
命令执行:!命令【comand】选项{option} 参数
读取命令执行结果:r !命令【comand】选项{option} 参数
设置行号:set nu
取消高亮:nohl
复制开始行到结束行到行数下:start数,stop数 co 数
开始行数到结束行数删除:start数,stop数 d 数

查找替换功能:

前提:g表示全部替换,百分号%表示全文指定范围替换:start数,stop数 s/要替换内容/替换内容/g
替换全文:% s/要替换内容/替换内容/g
特殊替换:% s#/要替换内容#@替换内容#g #特殊符号分开(不是数字了)

模式四:替换模式

进入方法:大写R
退出方法:Esc
单个替换保存:r


同时打开多个文件方式:

水平面打开多个文件:vim -o【数字】文件1 文件2.........

垂直方向打开多个文件:vim -O【数字】文件1 文件2.......


vim的配置文件的使用

配置文件的位置
全局配置文件 /etc/vimrc ,作用范围是系统当中所有的用户 一般情况不建议使用
用户配置文件 位置是在当前用户的家目录下 .vimrc ,建议使用的文件。
注意:用户vim配置文件有可能不存在需要手工创建


vi的崩溃缓存机制

如果vi打开的文件没有关闭,则会在文件的位置下生成缓存文件,文件名格式:.文件名.swp
基于崩溃缓存文件恢复原始文件的过程:
1.vi -r 崩溃缓存文件
打开后保存退出即可
2.vi打开原始文件
确认恢复后,如果恢复成功后,则可以删除崩溃缓存文件
在删除崩溃缓存文件之前,原始文件无法直接保存,需要使用!
okkkkkkkkk  vi、vim的学习下机

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于NIOS-II软核流水灯和串口通信实现

文章目录 一、创建工程二、系统设计1. 在 “component library” 标签栏中找到 “Nios II Processor” 后点击 Add2. 在 ”Component Library” 标签栏中的查找窗口输入 jtag 找到 ”JTAG UART ”,然后点击 Add3. 添加片上存储器 On-Chip Memory(RAM)核4. 查找窗口输…

力扣HOT100 - 322. 零钱兑换

解题思路&#xff1a; 动态规划 class Solution {public int coinChange(int[] coins, int amount) {int[] dp new int[amount 1];Arrays.fill(dp, amount 1);dp[0] 0;for (int i 1; i < amount; i) {for (int j 0; j < coins.length; j) {if (coins[j] < i) …

think PHP导入导出excel

本地环境 think PHP5&#xff0c;PhpOffice/PhpSpreadsheet&#xff0c;composer PHP版本7.4&#xff0c;这个插件的最低版本要求7.2 配置PhpSpreadsheet 官网&#xff1a;https://phpspreadsheet.readthedocs.io/en/stable/ composer require phpoffice/phpspreadsheet数据库…

【js逆向】易车网JS逆向案例实战手把手教学(附完整代码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

【问题实操】银河高级服务器操作系统实例分享,网卡drop问题分析

1.服务器环境以及配置 系统环境 物理机/虚拟机/云/容器 物理机 网络环境 外网/私有网络/无网络 私有网络 硬件环境 机型 华鲲振宇 TG225B1 处理器 kunpeng 920 内存 1024GB 主板型号 TG225B1 HZKY 整机类型/架构 aarch64 固件版本 6.57 软件环境 具体操作系…

第15节 编写shellcode加载器

我最近在做一个关于shellcode入门和开发的专题课&#x1f469;&#x1f3fb;‍&#x1f4bb;&#xff0c;主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料&#xff0c;内容里面的每一个环境我都亲自测试实操过的记录&#xff0c;有需要的小伙伴可以参考…

LeetCode算法题:128. 最长连续序列

给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;4 …

JSPfilters过滤技术

1.创建动态web项目 2.创建filters的文件 3.创建主页面 4.配置xml项目 总结构 主页面代码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html><html><head><meta cha…

连接虚拟机的 redis

用Windows 的 Redis Insight 连接虚拟机的 安装redis发现连不上 我的redis是新安装&#xff0c;没有用户名密码&#xff0c;发现是ip问题 127 开头的被我注释了&#xff0c;换成了ifconfig查到的ip

初识C语言——第二十天

do while ()循环 do 循环语句; while(表达式); 句式结构&#xff1a; 执行过程&#xff1a; do while循环的特点&#xff1a; 代码练习&#xff1a; 二分法算法&#xff1a; int main() {int arr[] { 0,1,2,3,4,5,6,7,8,9};int k 7;//查找数字7&#xff0c;在arr这个数组…

数据生命周期管理:从提取到治理再到安全保障的全面策略

在大数据的时代背景下&#xff0c;数据已经成为企业运营不可或缺的资源。然而&#xff0c;数据的管理并非易事&#xff0c;特别是在数据的整个生命周期中——从数据的提取、治理到安全保障&#xff0c;每一个环节都至关重要。本文将探讨如何制定一个全面的数据生命周期管理策略…

指针(4)

目录 1. 字符指针变量 2.数组指针 2.1 数组指针和指针数组的区别 2.2访问数组指针 3. ⼆维数组传参的本质 4. 函数指针变量 4.1两段有趣的代码 4.2 typedef 关键字 5.函数指针数组 6.转移表 1. 字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* …

【现代C++】概念的使用

现代C&#xff08;特别是C20及以后的版本&#xff09;引入了概念&#xff08;Concepts&#xff09;&#xff0c;这是一种指定模板参数必须满足的约束的方式。概念使得模板代码更清晰&#xff0c;更容易理解和使用&#xff0c;并且能在编译时提供更好的错误信息。以下是C概念的关…

TimesFM: 预训练的时间序列基础模型

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在阅读过程中有些知识点存在盲区&#xff0c;可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果…

dataframe数据常用python操作

dataframe数据常用python操作 dataframe数据常用知识点1.创建dataframe1.1使用字典创建DataFrame&#xff1a;1.2使用列表创建DataFrame&#xff1a;1.3使用numpy数组创建DataFrame&#xff1a;1.4从TXT文件中创建DataFrame&#xff1a;1.5从CSV文件中创建DataFrame&#xff1a…

Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)

1 漏洞概述 Weblogic Pre-Auth Remote Command Execution 漏洞&#xff08;CVE-2020-14882, CVE-2020-14883&#xff09;是针对 Oracle WebLogic Server 的两个安全漏洞。CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证&#xff0c;而 CVE-2020-14883 则允许经…

代码随想录—— 填充每个节点的下一个右侧节点指针(Leetcode116)

题目链接 层序遍历 /* // Definition for a Node. class Node {public int val;public Node left;public Node right;public Node next;public Node() {}public Node(int _val) {val _val;}public Node(int _val, Node _left, Node _right, Node _next) {val _val;left _…

3.4 浮点型

本节必须掌握的知识点&#xff1a; 示例九 代码分析 汇编解析 浮点数的输出精度 【补充内容】 3.4.1 示例九 浮点型分为&#xff1a;单精度float、双精度double、长双精度long double。 类型 存储大小 值范围 精度 单精度 float 4字节 【1.2E-38~ 3.4E38】 6位小数 …

浅析Free RTOS中Queue的应用

目录 概述 1 认识Queue 1.1 Queue定义 1.2 FreeRTOS中的Queue 1.3 Queue状态 1.4 Queue内容 1.5 发送和接收Message 1.5.1 发送message 1.5.2 接收Message 2 Queue的特性 2.1 数据存储 2.2 可被多任务存取 2.3 读Queue时阻塞 2.4 写Queue时阻塞 3 使用Queue 3.1…

基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 扩散映射&#xff08;Diffusion Maps&#xff09; 4.2 卡尔曼滤波 4.3 基于梯度流的扩散映射卡尔曼滤波&#xff08;GFDMKF&#xff09; 5.完整程序 1.程序功能描述 基于梯度流的扩散…