Linux系统中文本编辑器vi命令

简介: Linux系统中文本编辑器vi命令

什么是vi/vim

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。


vi作用:


创建或修改文本文件

维护linux系统中的各种配置


vi编辑器三种工作模式

命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作;


输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息;


末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符。


不同工作模式之间的切换

image.png


命令模式切换至输入模式

a 在当前光标位置之后插入内容

i 在当前光标位置之前插入内容

I 在所在行的行首插入内容

o 在光标所在行之下插入一个新行内容

O 在光标所在行之上插入一个新行内容

A 在所在行的行尾插入内容


命令模式中的基本操作

翻页操作:

age Down键或 Ctrl + F 向下翻动一整页内容

Page Up键或Ctrl + B 向上翻动一整页内容

行内快速跳转

Home键或^键、数字0键 跳转到本行的行首

End键或者$键 跳转到本行的行尾

行间快速跳转

1G或者gg 转到文件内容的第一行

G 跳转到文件的最后一行

#G 跳转到文件的第#行(#用具体的数字替换)

M 跳转到当前页的中间位置

显示行号

:set nu 在编辑器中显示行号

:set nonu 取消行号显示

删除

替换字符

x或Delete键 删除光标处的单个字符

dd 删除当前光标所在行(有剪切功能)

#dd 删除从光标处开始的#行内容

d^ 删除当前光标之前到行首的所有字符

d $ 删除当前光标处到行尾的所有字符

dw 删除当前光标处的整个单词

R或Shift+r 替换当前光标处字符

复制

yy 复制当前行整行的内容到剪切板

#yy 复制从光标处开始的#行内容

粘贴

p 粘贴到光标所在行之下

大写P 粘贴到光标所在行之上

查找

/ word 从当前光标处开始向后进行查找字符串“word”

?word 从当前光标处开始向前进行查找字符串“word”

n 定位下一个匹配的被查找字符串

N 定位上一个匹配的被查找字符串

U 用于取消对当前行所做的所有编辑

保存退出(在末行模式)

:w 保存修改的内容

:w /位置/新文件名 另存为其他文件

:q 退出

:q! 放弃对文件内容的修改并退出

ZZ或wq、:x 保存当前的文件内容并退出vi编辑器

打开新文件

:e 其他文件名 打开新的文件进行编辑

读入文件内容

:r 其他文件名 在当前文件中读入其他文件内容

文件内容替换

:[查找范围]s /old/new /[替换的范围] 将当前行中查找的第一个字符串“old”替换为:“new”,查找范围不写,默认在光标所在行

:s old/new/g 将当前行中查找的所有字符串“old”替换为“new”

:#,# s/old/new/g 将行号#,#范围内替换所有的字符串“old”为“new”

:% s/old/new/g 将整个文件范围内的所有字符串的“old”换为“new”

:s old/new/c 对每个替换动作进行用户确认

复制/剪切/粘贴

:5,10 m 15 将5-10行的内容剪切到15行下面

:5,10 co 15 将5-10行的内容复制到15行下面


相关文章
|
10天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
127 78
|
13天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
52 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
21天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
50 14
Linux 10 个“who”命令示例
|
10天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
86 20
|
9天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
62 13
|
10天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
35 7
|
1月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
34 9
|
28天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
10天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
28 0
|
21天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。