Linux笔记:文本编辑器vi基础使用

Posted Naisu Xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux笔记:文本编辑器vi基础使用相关的知识,希望对你有一定的参考价值。

目的

vi是几乎所有Unix/Linux系统下都自带的文本编辑器,有点类似于window上的记事本。如果用惯了现代的一些文本编辑器或是IDE这些的话vi是非常不好用的,但是vi作为文编编辑器而言基本功能还是齐全的。有时候如果需要稍微修改点东西,但又没有装别的文本编辑器的话,拿出vi用用其实也蛮不错。这篇文章将记录下vi的一些基础使用笔记。

工作模式

在这里插入图片描述
vi主要有三种工作模式,从Shell中使用 vi filename(文件名) 就可以使用vi打开该文件,打开后进入默认的模式,这个时候你是无法向该文件输入内容的,必须要进入插入模式才能输入内容(这个在下面会介绍)。

在默认模式下输入 :(冒号) 就可以进入命令行模式,此时再接着输入 q! (即完整输入为:q!),接着按下回车,就可以退出vi编辑器返回Shell。

在任何模式下只要按 esc 键就会返回默认模式(这对于不知道当前在那种哪种模式的情况下比较有用)。

命令行模式

先介绍下命令行模式,这个模式主要用于保存、退出、对编辑器进行设置、窗口切分等功能,常用功能操作如下:

命令说明
:w保存,如果使用:w filename则可以保存为其它文件
:q退出
:q!不保存退出
:wq保存并退出
:set nu显示行号,这个功能比较有用
:set nonu不显示行号
:! command暂时离开编辑器在Shell下执行命令
:sp filename分隔成上下两个窗口打开新文件
分隔后使用ctrl+w,然后w切换窗口,使用分隔后使用ctrl+w,然后q关闭窗口
:vsp filename分隔成左右两个窗口打开新文件

在这里插入图片描述

默认模式

默认模式主要处理几类事务:光标移动、屏模滚动、选择复制黏贴与删除、搜索与替换、撤销与重复操作等。

光标移动

光标移动命令说明
h 或 向左箭头键[←]光标向左移动一个字符
先输入数字n再输入指令可以移动n个字符
j 或 向下箭头键[↓]光标向下移动一个字符
先输入数字n再输入指令可以移动n个字符
k 或 向上箭头键[↑]光标向上移动一个字符
先输入数字n再输入指令可以移动n个字符
l(小写L) 或 向右箭头键[→]光标向右移动一个字符
先输入数字n再输入指令可以移动n个字符
G光标移动到这个文件的最后一行
nG 或 ngg光标移动到这个文件第n行
gg光标移动到这个文件的第一行
0 或功能键[Home]光标移动到这一行的最前面字符处
$ 或功能键[End]光标移动到这一行的最后面字符处

屏模滚动

屏模滚动命令说明
[Ctrl] + [f] 或功能键[Page Down]屏幕向下移动一页
[Ctrl] + [b] 或功能键[Page Up]屏幕向上移动一页
[Ctrl] + [d]屏幕向下移动半页
[Ctrl] + [u]屏幕向上移动半页

选择复制黏贴与删除

选择复制黏贴与删除命令说明
v按下改键后可以移动光标进行选择字符,后续可以使用y、p、x等进行操作
y复制已选中的的字符
yy复制光标所在行
使用nyy复制光标处开始的n行
p将复制的内容黏贴到光标所在行的下一行
P将复制的内容黏贴到光标所在行的上一行
x删除光标处或已选中的的字符
使用nx删除光标处开始的n个字符
dd删除光标所在行
使用ndd删除光标处开始的n行

搜索与替换

搜索与替换命令说明
/string从光标处开始向后寻找字符串string
?string从光标处开始向前寻找字符串string
n重复上一条检索命令
N反向重复上一条检索命令
:n1,n2s/word1/word2/g在第 n1 与 n2 行之间寻找word1这个字符串,并将该字符串取代为word2
:100,200s/null/NULL/g 表示在100到200行之间搜寻null并取代为NULL
:1,$s/word1/word2/g从第一行到最后一行寻找word1字符串,并将该字符串取代为word2

撤销与重复

撤销与重复命令说明
u撤销前一个动作
.重复前一个动作

插入模式

在默认模式下按下键盘上特定的键就可以进入插入模式,进入插入模式后输入的所有内容都将插入到原文本中或是替换原文本。进入插入模式的指令如下:

命令说明
i从目前光标处插入
I(大写i)从目前所在行的第一个非空格符处开始插入
a从目前光标所在的下一个字符处开始插入
A从光标所在行的最后一个字符处开始插入
o从目前光标所在的下一行处插入新的一行
O从目前光标所在的上一行处插入新的一行
r取代光标所在的那一个字符一次
可以在该命令之前加上数字 n,表示将从当前字符开始的 n 个字符替换为提供的字符
R依次取代光标所在的文字,直到按下 ESC 为止

总结

vi的基础使用还是很简单的,没有特殊需求或是喜好的话基本上了解这些基础的使用就够了。更多内容可以参考下面链接:
http://c.biancheng.net/vi/
https://www.cnblogs.com/7788IT/p/11626002.html

在Linux上还有个编辑器叫vim,简单的理解这个东西是vi的加强版,在原有vi的基础上增加了一些实用的功能,当然基本的操作还是和vi一样的。

以上是关于Linux笔记:文本编辑器vi基础使用的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础VI 编辑器基本使用方法

Linux基础 | VI编辑器的基本使用方法

简单的vi编辑器的使用

linux基础命令

Linux学习笔记vi 和 vim

Linux下的文本编辑器都有哪些?