专栏首页朝雨忆轻尘Linux笔记:vi常用命令

Linux笔记:vi常用命令

vi编辑器是所有Unix及Linux系统下标准的编辑器,在很多时候我们都需要使用vi修改服务端配置,vi其实非常强大,只要命令使用熟练的情况下,编辑速度并不亚于现在的图形化编辑器,这里简单地介绍一下它的使用方法和部分常用指令。

VI状态模式

Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。 指令模式 ( Command Mode) 下输入 a、i、o 进入文本输入模式 ( Input Mode ) 文本输入模式 ( Input Mode ) 下按 ESC 进入指令模式(Command Mode) 指令模式 ( Command Mode)下输入 : 进入末行模式(Last line Mode) 末行模式(Last line Mode)下指令错误则返回指令模式 (Command Mode)

状态模式关系图示:

注:图片来源 https://www.cnblogs.com/dengmj/p/5031498.html

VI常用命令

进入VI

vi filename # 打开或新建文件,并将光标置于第一行首
vi +n filename # 打开文件,并将光标置于第n行首
vi + filename # 打开文件,并将光标置于最后一行首
vi +/pattern filename # 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename # 在上次正用vi编辑时发生系统崩溃,恢复filename

保存退出

w  # 保存当前文件 
x 或 wq  # 保存并退出 
q  # 退出 
q!  # 退出不保存 
w /tmp  # 另存为 /tmp 
10,50w /tmp # 仅将10-50行之间的内存另存为 /tmp

插入

i  # 在光标前 
I  # 在当前行首 
a  # 光标后 
A  # 在当前行尾 
o  # 在当前行之下新开一行 
O  # 在当前行之上新开一行 
r  # 替换当前字符 
R  # 替换当前字符及其后的字符,直至按ESC键 
s  # 从当前光标位置处开始,以输入的文本替代指定数目的字符 
S  # 删除指定数目的行,并以所输入文本代替之 

删除

%d  # 删除全部内容 
1,$ d  # 删除全部内容
n1,n2 d  # 将n1行到n2行之间的内容删除 
x  # 删除光标后的一个字符
X  # 删除光标前的一个字符
do  # 删至行首 
d$  # 删至行尾 
Ctrl+u  # 删除输入方式下所输入的文本 

复制粘贴

yy  # 复制当前行 
nyy  # 复制当前行开始的n行 
先按 v 然后方向键选择区域,按 y 复制选中行 
dd  # 剪切当前行 
p  # 在当前光标处下面粘贴内容 
P  # 在当前光标处上面粘贴内容 

查找

/abc # 从光标开始处向文件尾搜索abc 
?abc # 从光标开始处向文件首搜索abc
n  # 下一个,在同一方向重复上一次搜索命令 
N  # 上一个,在反方向上重复上一次搜索命令 

替换

s/abc/bgm/  # 替换当前行第一个 abc 为 bgm
s/abc/bgm/g  # 替换当前行所有 abc 为 bgm
n,$s/abc/bgm/g   # 替换第 n 行开始到最后一行中每一行所有 abc 为 bgm
%s/abc/bgm/g   # 替换每一行的每一个 abc 为 bgm
g/abc/s//bgm/g  # 将文件中所有 abc 均用 bgm 替换 

光标

h  # 光标左移一个字符 
l  # 光标右移一个字符 
k  # 光标上移一行 
j   # 光标下移一行 
w  # 向前移动一个单词
b  # 向前移动一个单词
e  # 向前移动一个单词,且游标指向单词的末尾
)  # 光标移至句尾 
(  # 光标移至句首 
}  # 光标移至段落开头 
{  # 光标移至段落结尾 
nG  # 光标移至第n行首 
n+  # 光标下移n行 
n-  # 光标上移n行 
n$  # 光标移至第n行尾
H  # 光标移至屏幕顶行 
M  # 光标移至屏幕中间行 
L  # 光标移至屏幕最后行 
0  # 光标移至当前行首 
$  # 光标移至当前行尾 

翻屏

Ctrl+u  # 向文件首翻半屏 
Ctrl+d  # 向文件尾翻半屏 
Ctrl+f  # 向文件尾翻一屏 
Ctrl+b  # 向文件首翻一屏 
nz  # 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部 

作者:朝雨忆轻尘 出处:https://www.cnblogs.com/xifengxiaoma/  版权所有,欢迎转载,转载请注明原文作者及出处。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Boot 教程

    码云:https://gitee.com/liuge1988/spring-boot-demo.git

    朝雨忆轻尘
  • Spring Boot + Spring Cloud 构建微服务系统(五):熔断监控面板(Hystrix Dashboard)

    Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Com...

    朝雨忆轻尘
  • Spring Boot:整合Spring Data JPA

    JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范。其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,...

    朝雨忆轻尘
  • vi 常用命令行

      a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了.   b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作。等按...

    疯狂的技术宅
  • vim 快捷键技巧总结

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是...

    阳光岛主
  • vim使用命令详解

    x 删除光标所在字母(其实是光标后) X删除光标前所在字母) dw删除一个单词,光标要在当前单词的第一个字符前面 u 撤销操作 d0删除光标前面的字符 ...

    Y大宽
  • vi常用命令

    子勰
  • linux下编辑VI窗口插入与编辑命令

    前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率。 一,模式 vi编辑器有3...

    学到老
  • linux下编辑VI窗口插入与编辑命令

    前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率。 一,模式 vi编辑器有3...

    学到老
  • Linux常用命令速查-Vim

    Java学习录

扫码关注云+社区

领取腾讯云代金券