vi文本编辑器的一些快捷方式

vi编辑器的工作模式:

命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成光标移动、字符串查找、以及删除、复制、粘贴文件内容等操作。

输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件进行修改,或者添加新的内容。出于输入模式时,编辑器最后一行会出现“–insert–”的状态提示信息。

末行模式:该模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件女儿进行查找、替换等操作。出于末行模式,最后一行会出现":"提示符。

一、vi打开编辑文件

vi (示例:vi test.conf, vi /tmp/test.conf,…)

如果指定的filePathAndName存在则会自动载入该文件内容,如果不存在则会自动创建。注:每行前显示波浪符号的表示该行为空行。

二、模式切换:在命令模式中,使用a、A、i、I、o、O等按键快速切入输入模式,返回命令模式按Esc按键即可。进入末行模式在命令模式按":"即可。

三、vi编辑指令

1、屏幕翻页

Ctrl+u: 向上翻半屏

Ctrl+f: 向上翻一屏

Ctrl+d: 向下翻半屏

Ctrl+b: 向下翻一屏

2、移动光标指令

移动光标普遍使用的是方向键,考虑兼容问题,vi定义太多的方向指令,下面只是一小小部分(常用的几个):

space: 光标右移一个字符

Backspace: 光标左移一个字符

Enter: 光标下移一行

nG: 光标移至第n行首

n+: 光标下移n行

n-: 光标上移n行

n$: 光标移至第n行尾

0: 光标移至当前行首

$: 光标移至当前行尾

3、插入删除指令

常用插入、删除指令如下:

i:在当前光标前插入,光标后文本向后移

a:从当前光标后插入,光标后文本后移

I:在光标所在行首插入(第一个非空白字符前)

A:从光标所在行末插入

o: 在光标所在行下面新增一行(并进入输入模式)

O: 在光标所在行上方新增一行(并进入输入模式)

x: 删除光标所在字符,等同于[Delete]功能键

X: 删除光标前字符,相当与[Backspace]

dd: 删除光标所在的行

yy:复制当前行正行内容到剪切板

#yy:#是具体数字,可以复制从光标处开始的#行内容

p:粘贴剪切板中的内容到当前光标位置之后

P:粘贴剪切板中的内容到当前光标位置之前

r: 修改光标所在字符

R: 替换当前字符及其后的字符,直到按 [ESC]

s: 从当前光标位置处开始,以输入的文本替代指定数目的字符

S: 删除指定数目的行,并以所输入文本代替之

do: 删至行首

d$: 删至行尾

四、vi查找、保存和退出

退出输入模式,先按一下[ESC]键(有时要多按两下),然后执行:

按/键——输入指定的字符串,从当前光标处向下查找。

按?键——输入指定的字符串,从当前光标处向上查找。

查找完按n、N键在不同的查找结果中进行选择。

按u——取消最近一次操作,可按多次,类似撤销。

按U——取消当前行所做的所有编辑。:w ——保存当前文件

:wq —— 存盘退出(与指令 :x 功能相同)

:q —— 直接退出,如已修改会提示是否保存

:q! ——不保存直接退出

五、打开新文件或读入其它文件内容

在当前vi编辑器中,执行":e 新的文件"形式的末行命令可以编辑新文件。

在当前vi编辑器中,执行":r 其他文件"形式的末行命令读入其他文件的内容,将其复制到当前光标的所在位置。

在当前vi编辑器中,执行":r !命令"形式的莫行模式,可以将其他命令的输出粘贴至文本文件光标所在位置。

在末行模式执行"set number"命令可显示行号,执行"set nonu"取消显示行号。

六、vim编辑器有用的参数

-o file1 file2;将同时打开两个文件,上下显示,使用ctrl+w切换文件。

-O file1 file2;将同时打开两个文件,左右显示,使用ctrl+ww切换文件。

七、查找和替换
? / n N
?/old/new/
:N,M s/old/new/
:%s/old/new/g %所有行 g全局

另存
:N,M w file.txt

可视化模式v
d 删除 y复制

八、配置文件位置

/etc/vimrc

让vimtutor命令显示正常
cd /usr/share/vim/vim72/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f GBK -t utf-8 tutor.zh.euc.bak -o tutor.zh.euc
vimtutor

发布了26 篇原创文章 · 获赞 11 · 访问量 1543

猜你喜欢

转载自blog.csdn.net/comli_cn/article/details/100111975