`
norswo
  • 浏览: 5156 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

vi命令

阅读更多

进入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时将当前行滚至屏幕顶部。

复制命令
yy :                                           将当前行的内容放入临时缓冲区
nyy:                                          将n行的内容放入临时缓冲区
p :                                            将临时缓冲区中的文本放入光标后
P :                                            将临时缓冲区中的文本放入光标前
"(a-z)nyy:                                复制n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行
"(a-z)ndd :                              删除n行放入名字为圆括号内的可命名缓冲区,省略n表示当前行
"(a-z)p :                                   将名字为圆括号的可命名缓冲区的内容放入当前行后
"(a-z)P :                                   将名字为圆括号的可命名缓冲区的内容放入当前行前

插入文本类命令
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替换

:%s/regexp/replacement/g: 将文件中所有p1均用p2替换(%可能代表全文)
:%s/regexp/replacement/gc -  (c代表confirm)每次替换要求确认
:g/regexp/s//replacement/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号删除寄存器中。

分享到:
评论

相关推荐

    使用vi命令创建一个脚本文件

    "使用vi命令创建一个脚本文件" 本文旨在详细介绍使用vi命令创建一个脚本文件的过程。vi命令是一款功能强大且广泛使用的文本编辑器,它可以帮助我们快速创建和编辑文本文件。在本文中,我们将一步步地指导您如何使用...

    简单的vi命令列表 可以简单参考

    ### 简单的vi命令列表解析 #### 引言 `vi` 是一款功能强大的文本编辑器,广泛应用于各种 Linux 和 Unix 操作系统中。本文将基于提供的标题、描述和部分内文来深入探讨 `vi` 编辑器中的基本编辑指令及其用法。 ###...

    AIX的VI命令

    AIX的VI命令 AIX操作系统中,VI命令是最基本和常用的文本编辑器。了解VI命令的使用是非常重要的。本文将详细介绍VI命令的基本概念、基本操作、Command mode和Insert mode的使用。 VI命令的基本概念 VI命令可以...

    VI命令笔记,非常好

    标题和描述均提到了"VI命令笔记,非常好",这表明文档主要聚焦于分享和整理VI编辑器的实用命令和技巧。VI编辑器是Unix/Linux系统中常用的文本编辑工具,因其强大的功能和灵活性而受到广泛青睐。下面是对文档中提及的...

    vi命令详解.chm

    vi命令详解.chm

    vi命令大全(VI快捷键整理)

    vi命令大全 vi编辑器是 Unix 操作系统中的一种常用的文本编辑器,vi 命令大全是指 vi 编辑器中所有的命令和快捷键的集合。vi 命令大全可以作为参考手册,帮助用户快速掌握 vi 编辑器的使用。 光标移动 * h:将...

    vi命令一览表

    ### VI命令一览表详解 #### 一、VI编辑器简介 VI编辑器是UNIX系统中最常用的文本编辑器之一,因其强大的功能和灵活性而备受青睐。它不仅适用于简单的文本编辑任务,还能处理复杂的脚本编写和代码修改等工作。VI编辑...

    linux vi命令大全

    ### Linux Vi命令大全详解 #### 一、Vi编辑器简介 Vi(Visual editor)是Unix/Linux系统中最常用的文本编辑器之一。它具有强大的文本编辑功能,并且能够在多种工作模式下进行操作,包括命令模式、插入模式和底行...

    VI 命令一览表,VI用法详解

    ### VI命令一览表与用法详解 #### 一、VI编辑器简介 VI(Visual Editor)是UNIX系统中广泛使用的文本编辑器之一。它简单、高效,并且在各种UNIX环境中几乎都是默认安装的。VI编辑器有两种基本模式:命令模式和输入...

    Vi命令集宝典大全Vi命令集宝典大全

    《Vi命令集宝典大全》是一本专注于介绍和解析Vi编辑器强大命令的参考资料,它涵盖了从基础操作到高级技巧的全面内容。Vi(Visual Editor)是Unix、Linux及类Unix系统中的一个文本编辑器,因其高效和强大的功能而备受...

    详解linux vi命令用法

    详解 Linux Vi 命令用法 Vi 编辑器是 Linux 系统中最基本的编辑器,它提供了一个视窗设备,通过它可以编辑文件。Vi 编辑器可以分为三种操作状态:命令模式(Command mode)、插入模式(Insert mode)和底线命令模式...

    unix下vi命令详解

    Unix 下 vi 命令详解 Vi 编辑器是 Unix 系统中最常用的文本编辑器,它提供了强大的功能来编辑和管理文本文件。在本文中,我们将详细介绍 Vi 编辑器的基本概念、基本操作、命令行模式功能键、移动光标、删除文字、...

    vi命令全 vi 常用命令 unix vi 常用命令 vi 替换命令 unix vi 命令 vi 命令模式

    vi 命令大全 Vi 编辑器是 UNIX 操作系统中最流行的编辑器之一。它具有功能强大、灵活、易于使用的特点。Vi 编辑器可以在所有的 UNIX 操作系统(包括 Linux 操作系统)中随意编辑文件。 Vi 编辑器有两种基本模式:...

    VI命令集思维导图

    VI命令集思维导图,覆盖了VI大多数的命令,方便平时查阅

    linux_vi 命令

    ### Linux Vi 命令详解 #### 一、Vi 编辑器基本概念 Vi(Visual editor)是一种广泛应用于Linux及Unix系统中的文本编辑器。它最初由Bill Joy开发,并随同BSD Unix一起发布,逐渐成为了许多用户进行文本编辑的标准...

    常见的vi命令大全

    ### 常见的vi命令大全 #### 一、进入vi 在Linux环境中,`vi`是最常用的文本编辑器之一。下面介绍几种打开vi的方法: - **`vi filename`**:打开或新建文件,并将光标置于文件的第一行首。 - **`vi +n filename`**...

    vi命令的全部使用.pdf

    ### VI命令的全面解析 #### 一、VI编辑器简介 **VI**(Visual) 是一款在Unix和类Unix操作系统中广泛使用的全屏文本编辑器。它最初由Bill Joy开发,随后成为了Unix环境中不可或缺的一部分。几乎所有的Unix系统都会...

    Linux之VI命令详解

    Linux之VI命令详解 Linux系统中的VI编辑器是一种功能强大的文本编辑器,它提供了一个视窗设备,通过它可以编辑文件。vi编辑器是所有UNIX系统都会提供的屏幕编辑器,对UNIX系统略有所知的人或多或少都觉得vi超级难用...

    Vi命令详解Vi命令详解

    ### Vi命令详解 #### 一、引言 在UNIX及类UNIX系统中,Vi(Visual Editor)是一款极其重要的文本编辑器。它不仅历史悠久,而且功能强大,被广泛应用于各种操作系统中。Vi分为两种主要模式:命令模式和输入模式。...

Global site tag (gtag.js) - Google Analytics