Linux笔记:vi基础使用

文章目录

  • 目的
  • 工作模式
  • 命令行模式
  • 默认模式
    • 光标移动
    • 屏模滚动
    • 选择复制黏贴与删除
    • 搜索与替换
    • 撤销与重复
  • 插入模式
  • 总结

目的

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

工作模式

Linux笔记:vi基础使用_第1张图片
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 分隔成左右两个窗口打开新文件

Linux笔记:vi基础使用_第2张图片

默认模式

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

光标移动

光标移动命令 说明
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相关,linux,vi,vim,编辑器,运维)