vi/vim文本编辑器
vi/vim编辑器
vi编辑器
linux中常见的文本还有nano gedit
命令格式
vim 选项 文件名
如果文件不存在则是新建如以存在则是修改
如果系统最小化安装vim并没有提前安装,可以使用下面这条命令来安装
yum install vim -y
vi与vim之间的区别在于vim是vi的增强版
vi编辑器的工作模式
在vi编辑界面中可以使用三种不同的工作模式,分别是命令模式、输入模式、和末行模式,在不同模式下对文本进行的参数也不同。
常用选项
+# 打开文件后,让光标处于第#行的行首,+默认最后一行的行首
+/root 让光柱处于第一个被匹配到root行的行首
! 打开上一次的文件
[root@localhost data]# vim +10 passwd1 #打开文件后,让光标处于第10行的行首
[root@localhost data]# vim +/root passwd1 #让光柱处于第一个被匹配到root行行首(匹配到的root会被高亮起来)
[root@localhost data]# !vim #打开上一次的文件
vim passwd1
三种模式
命令模式:在该模式中主要完成如光标移动、字符串查找、以及复制、粘贴、删除文件内容等相关操作。
插入模式:在该模式下可以对文本正文进行修改或者添加。
末行模式:保存文件,退出编辑器,以及文件内容查找、替换等操作。
切换模式:如图
命令模式的基本操作
光标移动
命令模式下可以使用方向键(上、下、左、右)或k、j、h、i移动光标的位置。
操作键 | 功能 |
---|---|
ctrl+f或者Pagedown | 向下翻页 |
ctrl+b或者Pageup | 向上翻页 |
Home;^;0 | 跳到本行的行首 |
按 End 键或$ | 跳转到本行的行尾 |
1G 或 gg | 跳转到文件的第一行包括空行 |
G | 跳转文件的末尾 |
#G | #代表行号数字,直接跳转到#行 |
M | 跳转到当前显示页面的中间行 |
x或delete | 删除当前光标的字符 |
dd | 删除一整行 |
#dd | 删除当前光标开始到第#行(包括当前行) |
d^ | 删除当前光标之前到行首 |
d$ | 删除当前光标到行尾 |
dw | 删除当前光标处的单词 |
R 或shift+r | 替换当前光标处文字,会进入替换模式 |
yy | 复制当前光标处整行 |
#yy | 复制当前光标处向下的#行 |
p | 粘贴到光标处下一行 |
P | 粘贴到光标处上一行 |
u | 只消除上一次可多次使用 |
U | U 取消所有操作 |
/字符 | 向下查找 |
?字符 | 向上查找 |
n | 向同一方向重复上次的查找指令 |
N | 向相反方向重复上次的查找指定 |
输入模式的基本操作
切入到输入模式
快捷键 | 功能描述 |
---|---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 行首插入命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 行尾插入命令 |
末行模式的基础操作
快捷键 | 功能效果 |
---|---|
: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 | 对齐 回车后和上一行对齐 |
:set all 可以看所有的一些帮助 | 可以看所有的一些帮助 |
set key=password | 加密码 |
set key=空白 | 取消密码 |
set tabstop=4 (set ts=4) | tab 一次为四个空格 |
.!命令 (who,date ) | 将date命令插入当前行注意会覆盖当前 |
总结
vi,vim是一个全屏幕的文本编辑器,包括命令模式、输入模式、末行模式三种使用状态。 | 将date命令插入当前行注意会覆盖当前行 |