【性能测试】vi/vim编辑器

一、也可建立vi到vim的符号连接(即实际调用的是vim)

# mv /bin/vi /bin/vi.bak

# ln -s /usr/bin/vim /bin/vi

二、进入vi的命令:

vi  直接进入编辑并创建新文件

vi filename  编辑文件(不存在则创建文件),并将光标置于第一行首

vi +n filename  打开文件,并将光标置于第n行首

vi + filename   打开文件,并将光标置于最后一行首

vi +/pattern filename  打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename   在上次正用vi编辑时发生系统崩溃,恢复文件

vi file1....filen   打开多个文件,依次进行编辑

vi -o aaa bbb   水平窗口打开aaa,bbb两个文件

vi -O aaa bbb   垂直窗口打开aaa,bbb两个文件(Ctrl+W两次可在多个文件间切换)

三、多文本编辑的按键:

:n  编辑下一个文件

:N  编辑上一个文件

:files  列出目前这个vi的打开的所有文件

四、多窗口情况下的按键功能:

:sp [filename]  打开一个新窗口,如果有加filename,表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)

[ctrl]+w+j

[ctrl]+w+↓   按键的按法是:先按下[ctrl]不放,再按下w后放开所有的按键,然后再按下j(或向下箭头键),则光标可移动到下方的窗口

[ctrl]+w+k

[ctrl]+w+↑    同上,不过光标移动到上面的窗口

[ctrl]+w+q    其实就是:q结束离开。例如,想要结束下方的窗口,那么利用[ctrl]+w+↓移动到下方窗口后,按下:q即可离开,也可以按下[ctrl]+w+q

五、块选择的按键意义:

v  字符选择,将光标经过的地方反白选择

V  行选择,将光标经过的行反白选择

Ctrl + v  块选择,可以用长方形的方式选择数据

y  将反白的地方复制起来

d  将反白的地方删除

六、恢复命令:

u  恢复最后一个指令之前的结果

.  继续最后一个指令的执行结果

ctrl+r  撤销恢复

U  恢复光标该行之所有改变

七、移动光标命令:

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  修改指定数目的行

yy  p  复制当前行,并粘贴到下一行

nyy  n为数字。复制光标所在的向下n行,例如20yy,则是复制20行

y1G  复制光标所在行到第一行的所有数据

yG   复制光标所在行到最后一行的所有数据

y0    复制光标所在的那个字符到该行行首的所有数据

y$    复制光标所在的那个字符到该行行尾的所有数据

shift + i  在该行之首插入字符

shift + a   在该行末尾输入字符

shift + r  改写自光标位置及后面的所有内容

shift +o  在光标之上新增一行输入字符

十、删除命令:

ndw或ndW  删除光标处开始及其后的n-1个字

d0  删至行首(为数字0)

d$  删至行尾

shift + d  剪切至行尾

dd  删除一行

ndd  删除自光标开始的n行

s  删除光标所在之字符,并进入输入模式直到《ESC》

S  删除光标所在之该行资料,并进入输入模式直到《ESC》

x或X  删除一个字符,x删除光标后的,而X删除光标前的

nx  n为数字,连续向后删除n个字符。如,要连续删除10个字符,则:“10x”

Ctrl+u  删除输入方式下所输入的文本

十一、搜索及替换命令:

/pattern  从光标开始处向文件尾搜索pattern

?pattern  从光标开始处向文件首搜索pattern

n  在同一方向重复上一次搜索命令

N  在反方向上重复上一次搜索命令

:s/p1/p2/  替换当前行第一个p1为p2

:s/p1/p2/g  将当前行中所有p1均用p2替代

:n1,n2s/p1/p2/g  将第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g  将文件中所有p1均用p2替换

: 1,$s/old/new/g  将文件中所有的『old』改成『new』

: 1,$s/old/new/gc  将文件中所有的『old』改成『new』,并在改前提示用户确认

: 10,20s/^/ /  将第10行至第20行资料的最前面插入5个空格

: %s/^m//g  删除文件中所有的^M符号

十一、选项设置:

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行之间的内容删除

:e filename  打开文件filename进行编辑

:e! dd   强制关闭当前文件(不保存)打开新文件dd

: e!  放弃修改重新编辑

:q!  不保存文件并退出vi

:r fff 在当前位置读入fff文件

:set nonu 不显示行号

:set nu 显示行号

:w  保存输入的内容到当前文件

:w eee 另存为eee文件

:wq  保存并退出

:x  保存当前文件并退出

:n1,n2 w eee  将文件中n1行至n2行的内容保存成eee文件

:!command  暂时离开vi到命令行模式下执行command的显示结果。例如,“:! ls /home”即可在vi当中查看/home下面以ls输出的文件信息

十三、寄存器操作:

"?nyy  将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyw  将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl  将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

"?p  取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字

ndd  将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

vim操作环境(不建议修改/etc/vimrc文件;建议手动修改~/.vimrc文件)

vim常用指令示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值