vi/vim编辑器详解

简介: 1、文本编辑器vi命令1.1 文本编辑器的作用创建或修改文本文件维护Linux系统中的各种配置文件

1、文本编辑器vi命令


1.1 文本编辑器的作用

  • 创建或修改文本文件
  • 维护Linux系统中的各种配置文件

1.2 Linux中最常用的文本编辑器

  • vi:类UNIX操作系统的默认文本编辑器
  • vim:vim是vi文本编辑器的增强版

1.3 推荐使用vi/vim编辑器的原因

  • 几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;
  • Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计


2、vi/vim编辑器的工作模式


2.1 vi/vim编辑器的三种工作模式

  • 命令模式
    启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被vim识别为命令,而非输入字符。 该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
  • 输入模式
    命令模式按下i, I, o, O, a, A, r, R等任何一个字母之后即可进入输入模式。可以对内容进行编辑。 处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息。
    按Esc键可以回到命令模式。
  • 末行模式
    命令模式下,按 : (英文冒号)即进入末行模式。在此模式下,可进行读取、查找替换文件内容、保存文件、 退出编辑器等操作。

2.2 不同模式之间的切换

网络异常,图片无法展示
|


3、vim命令格式

如果系统最小化安装,vim并没有提前安装,可以使用yum进行安装:

yum install vim -y
复制代码


命令格式:

vim  [option]  file
vi   [option]  file
复制代码


常用选项:

1. vim +#    //打开后文件后,让光标处于第#行的行首,+默认行尾
   例如:vim +10 1.txt   //打开后光标处于第10行
2. vim +/PATTERN     //让光标处于第一个被PATTERN匹配的行
3. !vim              //打开上一次的文件
复制代码


4、命令模式下的基本操作

命令模式:此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

操作类型 操作键 功能
翻页 ctrl+f或者Pagedown 向下翻页
ctrl+b或者Pageup 向上翻页
行内快递跳转 Home;0;^ 跳到本行的行首。Home和0跳到真行首,^跳到第一个非空字符。
按 End 键或$ 跳转到本行的行尾
2$ 跳转到下一行的行尾
行间快速跳转 1G 或 gg 跳转到文件的第一行包括空行
G 跳转文件的末尾
#G #代表行号数字,直接跳转到#行
M 跳转到当前显示页面的中间行
删除 x或delete 删除当前光标的字符
#d 删除#个字符
dd 删除一整行
#dd 删除当前光标处向下的#行(包括当前行)
d^ 删除当前光标之前到行首
d$ 删除当前光标到行尾
dw 删除当前光标处的单词
替换 R 或shift+r 替换当前光标处文字,会进入替换模式
复制粘贴 yy 复制当前光标处整行
#yy 复制当前光标处向下的#行(包括当前行)
p (小写) 粘贴到光标处下一行
P (大写) 粘贴到光标处上一行
撤销操作 u 只取消上一次的操作,可多次使用
U U 取消所有操作
反撤销 ctrl+r 取消上一次的撤销操作
查找 /字符 向下查找
?字符 向上查找
n 向同一方向重复上次的查找指令
N 向相反方向重复上次的查找指定


5、命令模式切换至输入模式

输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式。

快捷键 功能描述
i 在光标前插入随后输入的文本,光标后的文本相应向右移动
I 行首插入命令。=^i ,移动到第一个非空字符并进入插入模式
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 行尾插入命令


6、末行模式下的基本操作

末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

快捷键 功能效果
:q 退出不保存
:q! 强制退出不保存
:w 保存
:w 新文件名 另存为新文件
:wq 或 :zz 或 :x 保存并退出
:e 其他文件名(如果已修改需要加e!) 打开新文件进行编辑
:r 其他文件名 在当前文件中读入其他文件内容
: [替换范围] s/旧内容/新内容[/g] 将旧内容替换为新内容
:s /old/new 替换当前行中的第一个old改为new
:s /old/new/g 替换当前行中的所有old改为new(/@#都可做分隔符)
:#,# s/old/new/g #到#行所有old改为new
:% s/old/new/g %代表全文,全文替换所有old改为new
:$ s/AB/CD/g $表示最后一行,最后一行的AB替换为CD
:$-1 s/AB/CD/g $-1表示倒数第二行,倒数第二行进行替换
:# d 删除 第#行
:#,# d 删除#到#行
:#,# y 复制三到6 行
:set nu (:set nonu取消设置) 加行号 不显示行号
:set cul (:set nocul 取消设置) 光标所在行有下划线(取消)
:set ai 对齐 回车后和上一行对齐
:set all 可以看所有的一些帮助
:set key=password 加密码
:set key=空白 取消密码
:set tabstop=4 (set ts=4) 按tab键,一次为四个空格
:!< command> 在vim内执行外部命令
:!ls 按回车后会列出当前目录内容
:!hostname 按回车后显示当前主机名
:!date 按回车后显示当前日期
:1,3 co 10 将第1~3行复制粘贴到第10行下方(co表示copy)
:1,3 m 10 将第1~3行剪切到第10行下方(m表示move)


相关文章
|
1月前
|
搜索推荐 开发工具
Vim编辑器的初步认识和使用
Vim是一款高度可定制的文本编辑器,支持三种主要模式:正常模式、编辑模式和命令行模式。用户可以通过快捷键在不同模式间切换,实现高效编辑。如输入`i`进入编辑模式,`:wq`保存退出,`:s`进行文本替换等。Vim还支持个性化配置,通过编辑`.vimrc`文件可设置语法高亮、自动缩进等功能,极大提升了编辑体验。
44 2
|
1月前
|
数据可视化 Unix 开发工具
VIM编辑器
本文介绍了VIM编辑器的特点和使用方法,包括VIM的定义、安装步骤、四种工作模式(命令模式、编辑模式、末行模式、可视模式)及其基本操作。重点讲解了命令模式下的光标移动、编辑、搜索、撤销等操作,以及末行模式下的文件保存、退出等快捷键。此外,还涉及了VIM的高级操作,如窗口分割和调整。
|
2月前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
43 2
|
2月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
32 5
|
2月前
|
IDE 搜索推荐 开发工具
LunarVim,vim编辑器推荐
【10月更文挑战第9天】
|
4月前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
4月前
|
开发工具
vim编辑器常用命令
vim编辑器常用命令
95 1
|
4月前
|
Linux 开发工具
Linux vim编辑器
Linux vim编辑器
31 0
|
4月前
|
程序员 Linux 开发工具
为什么vim是程序员最喜欢的文本编辑器之一
为什么vim是程序员最喜欢的文本编辑器之一
46 0
|
4月前
|
Unix Linux 程序员
全面介绍Linux中的Vim编辑器
全面介绍Linux中的Vim编辑器