与vi编辑器有关的Linux终端命令

2019-03-07  本文已影响0人  LAMGAMLEUNG

1、vi

常见需要修改的文件
vi的特点

2、vi和vim

3、打开和新建文件

vi 文件名
打开文件并定位到指定行

在实际应用中,有时候我们需要打开一个文件并定位到指定行。比如,在编译运行某个程序时,发现某行代码有错误,就可以使用下面的命令快速定位到出错代码的位置。

vi 文件名 +行号

4、异常处理

5、vi的三种工作模式

1) 命令模式
2) 末行模式

末行模式命令

命令 作用
:w 保存
:q 退出。如果没有保存,不允许退出
:q! 强制退出,即不保存退出
:wq 保存并退出
:x 保存并退出
3) 编辑模式
三种工作模式之间的切换示意图
在这里插入图片描述

6、常用命令

命令模式下,先输入一个数字再跟上一个命令(可以是移动选择命令,也可以是编辑操作命令),可以让该命令重复执行指定次数

vi之所以快,关键在于能够快速定位到要编辑的代码行

移动命令可以和编辑操作命令组合使用

删除复制粘贴替换缩排

7、移动命令

命令 作用
h 向左
j 向下
k 向上
l 向右
命令 作用
w 向后移动一个单词
b 向前移动一个单词
0 行首
^ 行内的第一个非空字符
$ 行尾
命令 作用
gg 文件顶部
G 文件末尾
ngg 移动到指定数字的行(其中n为数字)
nG 移动到指定数字的行(其中n为数字)
:n 移动到指定数字的行(其中n为数字)
命令 作用
Ctrl + b 向上翻页
Ctrl + f 向下翻页
H 屏幕顶部
M 屏幕中间
L 屏幕底部

在程序开发过程中,一段功能相关的代码通常会写在一起,并且这段代码之间没有空行,这就是段落vi中使用空行来区分段落。

命令 作用
{ 上一段
} 下一段

在程序中开发过程中,()[]{}的使用频率很高,并且都是成对出现的。

命令 作用
% 括号匹配及切换
命令 作用
mx 添加标记x,其中x为标记名称
'x 直接定位到标记x所在的位置
说明

8、选中文本

命令 模式 作用
v 可视模式 从光标位置开始选择文本
V 可视行模式 选中光标经过的完整行
Ctrl + v 可视块模式 选中垂直方向的文本

9、撤销和恢复撤销

命令 作用
u 撤销上一步操作
Ctrl + r 恢复上一步操作

10、 删除文本

命令 作用
x 删除光标所在字符,或删除选中文本
d + 移动命令 删除移动命令对应的内容
dd 删除光标所在行
D 删除光标所在位置到行尾之间的内容
说明
删除命令和移动命令常见的组合
组合 作用
dw 删除从光标所在位置到单词末尾的内容
d0 删除从光标所在位置到行首的内容
d} 删除从光标所在位置到段落结尾的内容
ndd 删除从光标所在行开始往下的(n-1)行(其中n为数字)
dnG 删除从光标所在行到指定行号的内容(其中n为行号)
d'x 删除从光标所在行到标记x所在行的内容(其中x为标记名称)
注意

11、复制和粘贴

命令 作用
y + 移动命令 复制
yy 复制一行。nyy可复制多行(其中n为数字)
p 粘贴。np可粘贴多次(其中n为数字)
说明
注意

12、替换

命令 作用 工作模式
r 替换当前字符 命令模式
R 替换光标所在位置及往后的字符 替换模式
说明

13、缩排和重复执行

命令 作用
>> 增加缩进
<< 减少缩进
. 重复上次命令
说明

14、查找

命令 作用
/str 查找str

查找到指定内容后,使用Next命令查找下一个出现的位置。

命令 作用
n 查找下一个
N 查找上一个
命令 作用
* 往后查找当前光标所在的单词
# 往前查找当前光标所在的单词
说明

15、查找并替换

1) 全局替换

一次性替换文件中出现的所有旧文本

:%s/旧文本/新文本/g
2) 可视区域替换

可视模式下选中要替换文本,使用下面的命令替换选中文本中出现的所有旧文本

:s/旧文本/新文本/g
3) 确认替换(推荐使用)

全局替换命令末尾的g改成gc,则在替换时会有提示,这就是确认替换

:%s/旧文本/新文本/gc

提示之后可能要输入的命令:

命令 作用
y 替换。如果有多个,则一次只替换一个
n 不替换。如果有多个,则一次只取消替换一个
a 替换所有
q 退出替换
l 替换最后一个,并把光标移动到行首
Ctrl + E 向下滚屏
Ctrl + Y 向上滚屏

16、插入

插入命令可以从命令模式切换到编辑模式

命令 作用
i 在当前字符前插入文本
I 在行首插入文本
a 在当前字符后插入文本
A 在行尾插入文本
o 在当前行下面插入一空行,并把光标移动到空行行首
O 在当前行上面插入一空行,并把光标移动到空行行首
1) 插入命令与数字的组合使用
注意
2) 利用可视块给多行代码添加注释
注意

17、末行命令扩展

末行命令主要针对文件进行操作,包括保存退出保存并退出搜索并替换另存为浏览文件新建文件等等。

命令 作用
:e . 打开内置的文件浏览器,浏览当前目录下的文件。使用jkEnter键可浏览或打开文件
:e 文件名 切换到当前目录下指定的文件。不需要退出vi
:n 文件名 新建文件
:w 文件名 另存为。编辑的仍然是当前文件,不会切换文件
:%s///gc 确认搜索并替换
说明

18、分屏

分屏命令属于vi的高级命令,使用它可以同时编辑和查看多个文件

命令 作用
:sp [文件名] 横向分屏
:vsp [文件名] 纵向分屏
说明
切换分屏窗口

分屏窗口基于window,在实际操作时表现为基于Ctrl + W这个快捷键。也就是说,使用下面的命令之前需要先按Ctrl + W

命令 作用
w 切换到一个窗口
r 互换窗口
c 关闭当前窗口
q 退出当前窗口。如果是最后一个窗口,则关闭vi
o 关闭其他窗口
上一篇 下一篇

猜你喜欢

热点阅读