Linux常用命令(十四)

目录

vi编辑器命令

1-编辑模式

1)准备一个txt文件并且进入vi

2)按i进入编辑模式

3)按o进入编辑模式

4)按a进入编辑模式

2-底行模式

1)退出vim

2)撤销上次操作

3)设置行号底行模式

4)替换文本

[5)/ 查找](#5)/ 查找)

6)跳转指定行

3-命令模式

1)粘贴功能(一般模式下)

2)复制光标所在行

3)复制光标下n行

4)剪切当前行

5)剪切光标下n行(含光标那一行)


vi编辑器命令

  • 一般模式:对文本进行输入和修改
  • 插入模式:退出vim或者查找,替换功能
  • 底行模式:快捷键操作数据,默认打开就是(输入冒号,注意这个必须是英文状态的,中文的不可以.或者输入/(这个是进入查找))

1-编辑模式

使用 i , o , a 均可以进入编辑模式

  • i: 光标不动
  • o:另起一行
  • a:光标到下一个字符
  • esc按键: 退出编辑模式
1)准备一个txt文件并且进入vi

vi 文件名

admin@localhost \~\]$ mkdir editVi \[admin@localhost \~\]$ cd editVi \[admin@localhost editVi\]$ touch vi.txt \[admin@localhost editVi\]$ cat vi.txt \[admin@localhost editVi\]$**vi vi.txt** ![](https://i-blog.csdnimg.cn/direct/9503c65eebb24713837fa9d6854925b7.png) ![](https://i-blog.csdnimg.cn/direct/bf98b90e7f7a4c3ea77a475158f5ac4b.png)

2)按i进入编辑模式

当按i进入光标模式的时候,光标位置不变

按ESC按键可以退出当前的编辑模式

3)按o进入编辑模式

当我们按o进入编辑模式的时候,光标会自动跳转到下一行

按ESC按键可以退出当前的编辑模式

4)按a进入编辑模式

按a进入光标模式的时候,光标会自动在当前行向后面移动一行

按ESC按键可以退出当前的编辑模式

2-底行模式

ao`

aaaaa ^Z

qasadjkals

adskiill

adff

admin

my first demo

ggogogogo

run dog

pag

big

cad

cool

hello

1)退出vim

执行下面的时候首先输入 :****(这个是英文状态下的,中文模式什么也没有)

  • :q 没有编辑时退出
    • 当我们输入的有内容时保存
  • :q! 编辑之后退出不保存(我们新输入的内容会丢失)
  • :wq 编辑后保存退出
  • :x 编译后保存
2)撤销上次操作

u ===>这个类似window的 ctrl+z

ctrl+r ==>这个类似window的 ctrl+y

注意这个需要在一般模式,编辑模式不可以

进入vi输入一些东西

按ESC退出编辑模式

输入u 撤销刚刚输入的内容

使用快捷键 ctrl+r 恢复刚刚撤销的内容

3)设置行号底行模式

:set nu ==>显示行号

:set nonu ==>隐藏行号

4)替换文本
  • :s/原本的内容/替换的内容
    • 当前行存在
    • 替换当前行第一个匹配的
      • 如果当前行没有,
  • :s/原本的内容/替换的内容/g
    • 替换当前行所有匹配的
  • :%s/原本的内容/替换的内容
    • 替换每行所有匹配的第一个
  • :%s/原本的内容/替换的内容/g
    • 替换所有
5)/ 查找

/查找内容

6)跳转指定行

注意:这个是光标跳转指定行

:行数

3-命令模式

1)粘贴功能(一般模式下)

一般模式下点击p键

p

2)复制光标所在行

一般模式下点击yy

yy

3)复制光标下n行

键盘按下 5 y y

nyy

4)剪切当前行

键盘按下 d d

dd

5)剪切光标下n行(含光标那一行)

键盘按下 5 d d

ndd

相关推荐
caolib2 分钟前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏40 分钟前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔1 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula1 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-1 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw2 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l2 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络
勇哥的编程江湖3 小时前
starrocks官网docker部署mysql无法连接
运维·docker·容器
EulerBlind4 小时前
【运维】SGLang 安装指南
运维·人工智能·语言模型
van叶~4 小时前
Linux网络-------1.socket编程基础---(TCP-socket)
linux·网络·tcp/ip