Linux-VI和VIM

目录

VI的使用

VI的三种模式

进入VI

[切换至插入模式(Insert mode)编辑文件](#切换至插入模式(Insert mode)编辑文件)

[Insert 的切换](#Insert 的切换)

退出VI及保存文件

搜索

快捷删除

光标定位到最后一行

VIM查找字符串

全匹配

模糊匹配(正则表达式)

快速查找​​​​​​​


VI的使用

VI的三种模式

命令行模式(command mode): 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
插入模式(Insert mode) :只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
底行模式(last line mode) :将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号......等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

进入VI

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

复制代码
$ vi myfile 

进入vi之后,是处于「命令行模式(command mode)」,要切换到「插入模式(Insert mode)」才能够输入文字。

切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母"i"就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

也可以点击字母"o",表示进入插入模式,且另起一行。

Insert 的切换

目前处于「插入模式(Insert mode)」,按一下「ESC」键可以转到「命令行模式(command mode)」。

退出VI及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

搜索

/检索词

大小写敏感

快捷删除

在命令行模式下

比如要删除两行,则按下2dd

比如要删除三行,则按下3dd

光标定位到最后一行

按下shfit+g

VIM查找字符串

全匹配

从上往下查找,比如"string" : /string

从下往上查找,比如"string" : ?string

模糊匹配(正则表达式)

. :通配1个字符 ,如匹配 server, 可以用 /se...r

* :通配多个字符,如匹配 privilege,可以用 p*ge

快速查找

Shift + * :让光标停留在想要查找的单词的任意一个字母上面, 然后输入 Shift + * ,即可快速选中该单词,并且通过 n 或 N 进行上一个或下一个的匹配。

yw :让光标停留在单词的第一个字母上, 然后输入yw拷贝该单词, 然后输入 / (Ctrl + R) 0 (即 /"0),回车, 就查找到了第一个匹配的单词, 并且通过 n 或 N 进行上一个或下一个的匹配。

相关推荐
我爱云计算2 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
2301_794333914 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
荣光波比5 小时前
Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装
linux·运维·服务器·nginx·云计算
绿箭柠檬茶7 小时前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
工藤新一¹8 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky9 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
奔跑吧 android9 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平9 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)10 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
ajassi200011 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源