Vi/Vim编辑器

193 阅读3分钟

文本编辑器

Linux系统中“一切皆文件”,因此我们在命令行下更改文件内容时,就会使用到文本编辑器。

常见的编辑器

Linux中自带的编辑器 vi

vi 的升级版 vim(最小化安装linux时不附带,需自行安装)

基本格式

vim [OPTION]... ...
命令  选项       文件

如果系统最小化安装,vim并没有提前安装,可以使用以下命令

yum install vim -y

基本用法

vim +#			打开文件后,让光标处于第#行的行首,+默认行尾
!vim			打开上一次的文件

三种模式

三种模式之间的关系

image.png

1. 命令模式

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

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

2.输入模式

输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。

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

3.末行模式

末行模式:文件中的指定内容执行保存、查找或替换等操作。使 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
# d删除 第#行
#,# d删除#到#行
#,# y复制三到6 行
:set nu 或:set nonu加行号 不显示行号
:set cul (:set nocul )光标所在行有下划线(取消)
:set ai xml k8s对齐 回车后和上一行对齐
:set all 可以看所有的一些帮助可以看所有的一些帮助
set key=password加密码
set key=空白取消密码
set tabstop=4 (set ts=4)tab 一次为四个空格
.!命令 (who,date )将date命令插入当前行注意会覆盖当前行