重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 165|回复: 0
打印 上一主题 下一主题

[基础命令] Vi编辑器中的高效率快捷键

[复制链接]
跳转到指定楼层
楼主
发表于 2024-7-18 16:54:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiawang 于 2024-7-18 16:58 编辑

vi可以分为三种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

命令行模式(command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等等

有时我们将底行模式(last line mode)也算入命令行模式command mode)。

vi基本操作

进入vi 在系统终端中输入vi和文件名称后,就进入vi:

vi myfile
进入vi之后,默认是处于命令行模式(command mode),要切换到 插入模式(Insert mode)才能够编辑和输入。初次使用vi的人都会想先用上下左右键移动光标,进入vi后,先转换到插入模式(Insert mode)再进行编辑。

切换至插入模式(Insert mode)编辑文件 在 命令行模式(command mode)下按一下字母i就可以进入插入模式(Insert mode),这时候你就可以开始输入文字了。同样按a进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;按o进入插入模式后,是插入新的一行,从行首开始输入文字。

Insert 的切换 如果处于插入模式(Insert mode),按一下ESC键就可以转到命令行模式(command mode)。

退出vi及保存文件 在命令行模式(command mode)下,按一下:冒号键,例如::w filename (输入w filename以指定的文件名filename保存):wq (输入「wq」,存盘并退出vi):q! (输入q!, 不存盘强制退出vi)

移动光标
可以直接用键盘上的光标来上下左右移动,同样vi是用小写英文字母h、j、k、l,分别控制光标左、下、上、右移一格。

ctrl+b:屏幕往"后"移动一页

ctrl+f:屏幕往"前"移动一页

ctrl+u:屏幕往"后"移动半页

ctrl+d:屏幕往"前"移动半页

^:移动到光标所在行的"行首"

w:光标跳到下个字的开头

e:光标跳到下个字的字尾

b:光标回到上个字的开头

#l:光标移到该行的第#个位置,如:1l,23l

定位
:set nu:每行显示行号

:set nonu:取消显示行号

0:单行首

$:单行末

H:屏幕顶

M:屏幕中

L:屏幕末行

gg:文件首行

G:移动到文章的最后

n<space>:向后n个字符

n<Enter>:向下n行

nG=文件第n行

删除
x:每按一次,删除光标所在位置的"后面"一个字符。

#x:例如6x表示删除光标所在位置的"后面"6个字符。

X:大写的X,每按一次,删除光标所在位置的"前面"一个字符。

#X:例如20X表示删除光标所在位置的"前面"20个字符。

dd:删除光标所在行。

#dd:从光标所在行开始删除#行

复制
yw:将光标所在之处到字尾的字符复制到缓冲区中。

#yw:复制#个字到缓冲区

yy:复制光标所在行到缓冲区。

#yy:例如6yy表示拷贝从光标所在的该行"往下数"6行文字。

p:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

查找
/str:向下查str

n:向下查下一个str

?str:向上查str

N:向上查下一个str

针对光标停留处的特定的单词,可以使用快捷键进行向上和向下的搜索,Shift + 8,即*键,直接对光标停留处的单词进行向下搜索;Shift + 3,即#键,直接对光标停留处的单词进行向上搜索。

撤销及恢复

u:相当于windows中的"ctrl+z",undo

ctrl+r:相当于windows中的"ctrl+y",于"ctrl+z"相反

.:点儿表示重复作刚才的动作

保存
:w:写入硬盘

:w!:强制写入

:q:离开vi

:q!:强制离开vi,不存

:wq:存盘并离开vi

:wq!:存盘并强制离开

将输入模式切换为末行模式
按住Esc切换为命令模式后再切换
将末行模式切换为输入模式
按住Esc切换为命令模式后再切换

同时编辑多个文件

vim file_name(几个文件名就同时编辑几个文件)
-O 可以同时编辑多个文件,为左右显示
-o 可以同时编辑多个文件,为上下显示
切换窗口为Ctrl+w+左右方向键切换

可视化操作
Ctrl+v 块选择,光标竖着选
shift+v 块选择,光标横着选

最后附上快捷键全图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-9-8 07:26 , Processed in 0.118548 second(s), 23 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表