加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX下VI编辑器引用

发布时间:2023-04-04 13:13:05 所属栏目:Unix 来源:
导读:vi(文本输入模式) 命令 功能 a 在光标后追加文本 A 在行末追加文本 i 在光标前追加文本 o 在光标下插入新的一行 vi(末行模式) 命令 功能 :w 写缓冲区,保存更改继续在vi中工作 :w new_filename 把缓冲区写如new_
vi(文本输入模式) 命令 功能 a 在光标后追加文本 A 在行末追加文本 i 在光标前追加文本 o 在光标下插入新的一行 vi(末行模式) 命令 功能 :w 写缓冲区,保存更改继续在vi中工作 :w new_filename 把缓冲区写如new_filename :wq 或 ZZ 写缓冲区,
 
vi(文本输入模式)
 
命令 功能
 
a 在光标后追加文本
 
A 在行末追加文本
 
i 在光标前追加文本
 
o 在光标下插入新的一行
 
vi(末行模式)
 
命令 功能
 
:w 写缓冲区,保存更改继续在vi中工作
 
:w new_filename 把缓冲区写如new_filename
 
:wq 或 ZZ 写缓冲区,保存修改,然后退出vi
 
:q! 不保存修改而退出
 
:wq! 写缓冲区保存修改然后推出vi,如果你是文件的所有者将忽略只读属性
 
e! 取消自上次保存以来所做的修改
 
等价于:wq! wq
 
u 取消最近的一次编辑
 
vi(命令模式)
 
命令 功能
 
j(或向下箭头) 向下移动一行
 
k(或向上箭头) 向上移动一行
 
h(或向左箭头) 向后移动一个字符
 
l(或向右箭头) 向前移动一个字符
 
空格 向右移动一个字符
 
w 向前移动一个单词(包括标点)
 
b 向后移动一个单词(包括标点)
 
$ 移动到行末
 
0(零)或 ^ 移动到行首
 
回车 移动到下一行首
 
vi(命令模式和末行模式)
 
命令 功能
 
x (小写) 删除光标处字符
 
dw 删除单词
 
3dw 删除三个单词
 
dd 删除光标所在的行
 
3dd 删除三行
 
yy 拉出一行拷贝,放到剪贴板中
 
p(小写) 把拉出行放到当前之下
 
P(大写) 把拉出行放到当前之上
 
:set nu 显示行号
 
:set nonu 隐藏行号
 
:set showmode 显示当前操作模式(如用vedit将自动打开)
 
:set noshowmode 关闭模式显示
 
:set 显示所有vi变量
 
:set all 显示所有可能的vi变量和它们的当前的值
 
G 到达文件的最后一行
 
:21 到达第21行
 
/string 向前搜索字符串string
 
?string 向后搜索字符串string
 
n 查找匹配的下一个字符串

=================================================================
 
Solaris vi命令

文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! :em02:
 
进入vi的命令
 
vi  filename   :打开或新建文件,并将光标置于第一行首
 
vi  +n filename  :打开文件,并将光标置于第n行首
 
vi  + filename    :打开文件,并将光标置于最后一行首
 
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
 
vi  -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
 
vi  filename....filename :打开多个文件,依次进行编辑
 
移动光标类命令
 
h :光标左移一个字符
 
l  :光标右移一个字符
 
space:光标右移一个字符
 
Backspace:光标左移一个字符
 
k或Ctrl+p:光标上移一行
 
j或Ctrl+n :光标下移一行
 
Enter :光标下移一行
 
w或W :光标右移一个字至字首
 
b或B :光标左移一个字至字首
 
e或E :光标右移一个字至字尾
 
) :光标移至句尾
 
( :光标移至句首
 
}:光标移至段落开头
 
{:光标移至段落结尾
 
nG:光标移至第n行首
 
n+:光标下移n行
 
n-:光标上移n行
 
n$:光标移至第n行尾
 
H :光标移至屏幕顶行
 
M :光标移至屏幕中间行
 
L :光标移至屏幕最后行
 
0:(注意是数字零)光标移至当前行首
 
$:光标移至当前行尾
 
屏幕翻滚类命令
 
Ctrl+u:向文件首翻半屏
 
Ctrl+d:向文件尾翻半屏
 
Ctrl+f:向文件尾翻一屏
 
Ctrl+b;向文件首翻一屏
 
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
 
插入文本类命令
 
i :在光标前
 
I :在当前行首
 
a:光标后
 
A:在当前行尾
 
o:在当前行之下新开一行
 
O:在当前行之上新开一行
 
r:替换当前字符
 
R:替换当前字符及其后的字符,直至按ESC键
 
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
 
S:删除指定数目的行,并以所输入文本代替之
 
ncw或nCW:修改指定数目的字
 
nCC:修改指定数目的行
 
删除命令
 
ndw或ndW:删除光标处开始及其后的n-1个字
 
do:删至行首
 
d$:删至行尾
 
ndd:删除当前行及其后n-1行
 
x或X:删除一个字符,x删除光标后的,而X删除光标前的
 
Ctrl+u:删除输入方式下所输入的文本
 
搜索及替换命令
 
/pattern:从光标开始处向文件尾搜索pattern
 
?pattern:从光标开始处向文件首搜索pattern
 
n:在同一方向重复上一次搜索命令
 
N:在反方向上重复上一次搜索命令
 
:s/p1/p2/g:将当前行中所有p1均用p2替代
 
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
 
:g/p1/s//p2/g:将文件中所有p1均用p2替换
 
选项设置
 
all:列出所有选项设置情况
 
term:设置终端类型
 
ignorance:在搜索中忽略大小写
 
list:显示制表位(Ctrl+I)和行尾标志($)
 
number:显示行号
 
report:显示由面向行的命令修改过的数目
 
terse:显示简短的警告信息
 
warn:在转到别的文件时若没保存当前文件则显示NO write信息
 
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
 
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
 
mesg:允许vi显示其他用户用write写到自己终端上的信息
 
最后行方式命令
 
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
 
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
 
:n1,n2 d :将n1行到n2行之间的内容删除
 
:w :保存当前文件
 
:e filename:打开文件filename进行编辑
 
:x:保存当前文件并退出
 
:q:退出vi
 
:q!:不保存文件并退出vi
 
:!command:执行shell命令command
 
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
 
:r!command:将命令command的输出结果放到当前行
 
寄存器操作
 
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
 
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
 
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
 
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
 
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章