VIM VI终极教程 (第四版)

VIM VI终极教程 (第四版)
VIM VI终极教程 (第四版)

VI / VIM终极教程第四版

Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs 被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线,总的来看,Vim 和Emacs同样都是非常优秀的文本编辑器。

目录

简介

发展历史

学习方法

高效率移动

高效的输入

高效的读代码

版本信息

Emacs和Vim二款神一样的代码编辑器

展开

简介

发展历史

学习方法

高效率移动

高效的输入

高效的读代码

版本信息

Emacs和Vim二款神一样的代码编辑器

展开

简介

Vim是从vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。[1]

使用vim先知道其设计理念是很重要的,有助于记忆,举一反三;

1.vim的设计理念是组合;

命令组合: Vim强大的编辑能力中很大部分是来自于其普通模式命令。vim的设计理念是命令的组合。例如普通模式命令"dd"删除当前行,"dj"代表删除到下一行,原理是第一个"d"含义是删除,"j"键代表移动到下一行,组合后"dj"删除当前行和下一行。另外还可以指定命令重复次数,"2dd"(重复"dd"两次),和"dj"的效果是一样的。"d^","^"代表行首,故组合后含义是删除到光标开始到行首间的内容(不包含光标);"d$" $"代表行尾,删除到行尾的内容(包含光标);用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

模式间的组合: 在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按"a"(append/追加)键或者"i"(insert/插入)键。

2.很多快捷键设置和正则表达式类似,可以辅助记忆; ^ $ w 等

3. vim针对程序语言代码编写者;

写代码的时候手需要时刻保持在键盘上,随机定位代码、随机删除代码、移动代码、插入代码的操作大大多于阅读、翻页操作,中间卡顿一下效率就大大降低了;但对普通用户而言,顺序写、设置字体格式、翻页读多于随机写删除操作, 且每个动作之间本身就有很多的停顿,用其他UI编辑器(word,notePad++等)效率反而比VIM高效,使用vim进行操作只会徒增你的疑惑: vim为什么这么流行。(如果你不是一个代码开发者,估计你看完这段话也无法感同身受,建议先去学一门编程语言,新手推荐学C,java入门,做到一道50行代码的课后习题,来感受下写代码的过程)

发展历史

Bram Moolenaar 在80 年代末购入他的Amiga计算机时,Amiga 上还没有他最常用的编辑器vi。Bram 从一个开源的vi 复制Stevie 开始,开发了Vim 的1.0 版本。最初的目标只是完全复制vi 的功能,那个时候的Vim 是Vi IMitation(模拟)的简称。1991 年Vim 1.14 版被"Fred Fish Disk #591" 这个Amiga 用的免费软体集所收录了。1992 年 1.22 版本的Vim 被移植到了UNIX 和MS-DOS上。从那个时候开始,Vim 的全名就变成Vi IMproved(改良)了。

在这之后,Vim 加入了不计其数的新功能。做为第一个里程碑的是1994 年的 3.0 版本加入了多视窗编辑模式(分割视窗)。从那之后,同一荧幕可以显示的Vim 编辑文件数可以不止一个了。1996 年发布的Vim 4.0 是第一个利用图型接口(GUI)的版本。1998 年5.0 版本的Vim 加入了highlight(语法高亮)功能。2001 年的Vim 6.0 版本加入了代码折叠、

插件、多国语言支持、垂直分割视窗等功能。2006 年 5 月发布的Vim 7.0 版更加入了拼字检查、上下文相关补完,标签页编辑等新功能。2008 年8 月发布的Vim 7.2,该版本合并了vim 7.1 以来的所有修正补丁,并且加入了脚本的浮点数支持,在2010年08年15,历时两年的时间,vim又发布了vim 7.3这个版本,这个版本修复了前面版本的一些bug,以及添加了一些新的特征,这个版本比前面几个版本来的要更加优秀。

主要功能

根据设定可以和原始vi完全兼容

多缓冲编辑

任意个数的分割窗口(横,竖)

具备列表和字典功能的脚本语言

可以在脚本中调用Perl, Ruby, Python, Tcl, MzScheme ,C,C++

单词缩写功能

动态单词补完

多次撤销和重做

对应400种以上文本文件的语法高亮

C/C++, Perl, Java, Ruby, Python 等40种以上语言的自动缩排

利用ctags的标签中跳转

崩溃后文件恢复

光标位置和打开的缓冲状态的保存复原(session功能)

可以对两个文件进行差分,同步功能的diff模式

远程文件编辑。[1]

学习方法

Vim目前已经有各主流系统的版本,尽管vim较vi已经改良了不少,但是初次使用还是会一头雾水,不知如何操作,所以学习vim要首先过2关。第一关是理解vim的设计思路,vim 设计之初就是整个文本编辑都用键盘而非鼠标来完成,键盘上几乎每个键都有固定的用法,且vim的制作者希望用户在普通模式(也就是命令模式,只可输入命令)完成大部分的编辑工作,将此模式设计为默认模式,初学者打开vim,如果直接输入单词,结果就会滴滴乱响,这是因为vim把用户输入的单词理解为命令了。第二关是命令关,vim有过百条命令对应编辑的需要,如果能熟练使用vim这些命令,编辑速度确实比鼠标要快很多,但是想全都记住它们也是一件难事,我想记住它们最好的方法就是多多来练习,确实把vim用在日常的文本编辑中去,且遇到难题不要放弃,而是查找解决的方法,每解决一个难题,你的vim技能就上升一级。

其实, Vim与其它编辑器一个很大的区别在于, 它可以完成复杂的编辑与格式化功能. 在这些领域还少有软件能与它分庭抗礼, 但是, 与所有的灵活性的代价一样, 你需要用自己的双手来实现它. 这在事实上造成了用户在使用Vim过程中的几个自然阶段.

一开始是notepad, word, edit垄断你的大脑, 这些东西根深蒂固, 挥之不去Vim的使用对你而言是一场噩梦, 它降低而不是提高了你的工作效率. 对三种工作模式的不解甚至使你认为它是一个充满BUG或者至少是一个古怪的与当今友好用户界面设计严重脱节的软件. 事实上, 这些起初看起来古怪的特性是Vim(或者是vi)的作者和它的用户们在自己漫长的文字编辑和程序设计生涯中总结出来的最快速最实在的操作, 在几乎等于计算机本身历史的成长期中, 历经无数严厉苛刻的计算机用户的批评与检验, 无用的特性或糟糕的设计在Vim用户群面前根本就没有生存的余地. Vim细心而谨慎的作者们也不允许自己精心设计的软件里有这样东西.

第二个阶段你开始熟悉一些基本的操作, 这些操作足以应付你日常的工作, 你使用这些操作

时根本就不假思索. 但这些阶段你仍然很少去碰Vim那晦涩的在线帮助文档. 它在你心里只是notepad, edit一个勉强合格的替代品.

第三个阶段, 精益求精的你不满足于无休无止的简单操作, 冗长而乏味,有没有更好的办法可以四两拔斤. 于是, 从UNIX参考手册上, 从同事口中, 你渐渐叩开:help xxx的大门. 开始探索里面充满魔力的咒语. 从杂耍般的带有表演性质的技巧开始, 这些技巧令人眩目但少有实用性. 不过这却是你拥有魔力的第一步. 接下来, 你开始认识到这些咒语背后的真经, 开始偷偷修改一些奇怪的符号, 于是, 奇迹产生了, 魔力不但仍然有效, 而且真实地作用于你现实中的文字编辑生活. 你在第二阶段由于熟练操作而尘封已久的大脑突然开始运作. 但这个过程并非是达到某个临界状态后的一路坦途, 不断的挫折, 新的挑战, 看似Mission Impossible的任务.永远伴随着任何一个人的任何一个学习过程. 这是你使用Vim的最后一个阶段, 也是最漫长最有挑战性同时也充满无数奇趣的阶段. 这个阶段里你开始定制一些希奇古怪的颜色. 开始以敲入i18n来输入internationalization, 开始让Vim替你纠正经常把the 误敲成teh的毛病, 开始让Vim与系统里各种精悍而强大的兄弟工具进行合作, 开始写越来越长的script, 每一次的文本编辑体验都妙趣横生高潮迭起. 你的头脑因为要用Vim完成高效的编辑而高度紧张. 你开始在Vim邮件列表里提一些确实是问题的问题. 也开始发现你在Vim里做了以前在SHELL里做的几乎一切事. 事实上你已经成了一个无可救药的Vim骨灰级玩家.重复,

高效率移动

1、在插入模式之外

基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM 就像一个“哑巴”编辑器一样。很多新手都会一直呆在插入模式里面,因为这样易于使用。但VIM 的强大之处在于他的命令模式!你会发现,在你越来越了解VIM 之后,你就会花越来越少的时间使用插入模式了。

2、使用h、j、k、l

使用VIM 高效率编辑的第一步,就是放弃使用箭头键。使用VIM,你就不用频繁的在箭头键和字母键之间移来移去了,这会节省你很多时间。当你在命令模式时,你可以用h、j、k、l 来分别实现左、下、上、右箭头的功能。一开始可能需要适应一下,但一旦习惯这种方式,你就会发现这样操作的高效之处了。

在你编辑你的电子邮件或者其他有段落的文本时,你可能会发现使用方向键和你预期的效果不一样,有时候可能会一次跳过了很多行。这是因为你的段落在VIM 看来是一个大的长长的行。这时你可以在按h、j、k 或者l 之前键入一个g,这样VIM 就会按屏幕上面的行如你所愿的移动了。

3、在当前行里面有效的移动光标

很多编辑器只提供了简单的命令来控制光标的移动(比如左、上、右、下、到行首/尾等)。VIM 则提供了很多强大的命令来满足你控制光标的欲望。当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是motion。(简单说明一下,后面会用到这个重要的概念)

4、常用到的一些命令(motion)

fx:移动光标到当前行的下一个x 处。很明显,x 可以是任意一个字母,而且你可以使用; 来重复你的上一个 f 命令。

tx:和上面的命令类似,但是是移动到x 的左边一个位置。(这真的很有用)

Fx:和fx 类似,不过是往回找。使用, 来重复上一个F命令。

Tx:和tx 类似,不过是往回移动到x 的右边一个位置。

b:光标往前移动一个词。

w:光标往后移动一个词。

0:移动光标到当前行首。(是数字0)

^:移动光标到当前行的第一个字母位置。

$:移动光标到行尾。

):移动光标到下一个句子。

( :移动光标到上一个句子。

5、在整个文件里面有效移动光标

VIM 有很多命令,可以用来到达文件里面你想到达的地方。下面是一些在文件里面移动的命令:

:向下移动一屏。

:向下移动半屏。

:向上移动一屏。

:向上移动半屏。[2]

G:到文件尾

numG:移动光标到指定的行(num)。(比如10G 就是到第10 行)

gg:到文件首

H:移动光标到屏幕上面

M:移动光标到屏幕中间

L:移动光标到屏幕下面

*:读取光标处的字符串,并且移动光标到它再次出现的地方。

#:和上面的类似,但是是往反方向寻找。

/text:从当前光标处开始搜索字符串text,并且到达text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按n移动到下个text 处,N 移动到上一个text 处。

?text:和上面类似,但是是反方向。

m{a-z}:在当前光标的位置标记一个书签,名字为a-z 的单个字母。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。

`a:到书签a 处。注意这个不是单引号,它一般位于大部分键盘的1 的左边。

`.:到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它。

%:在成对的括号等符号间移动,比如成对的[ ] ,{ },( ) 之间。将光标放到任意符号上,然后通过% 来移动到和这个符号匹配的符号上,% 还可以正确的识别括号的嵌套层数,总是移动到真正匹配的位置上。因此这个命令在编辑程序代码的时候非常有用,可以让你方便的在一段代码的头尾间移动。

高效的输入

1、使用关键词自动完成

VIM 有一个非常漂亮的关键词自动完成系统。这表示,你可以输入一个长词的一部分,然后按一下某个键,然后VIM 就替你完成了这个长词的输入了。举个例子:你有一个变量名为iAmALongAndAwkwardVarName 在你写的代码的某个地方。也许你不想每回都自己一个一个字母的去输入它。

使用关键词自动完成功能,你只需要输入开始几个字母(比如iAmAL),然后按(按住Ctrl,再按N)或者。如果VIM 没有给出你想要的词,继续按,直到你满意为止,VIM 会一直循环它找到的匹配的字符串。

2、聪明的进入插入模式

很多新手进入插入模式都只是用i。这样当然可以进入插入模式,但通常不是那么合适,因

为VIM 提供了很多进入插入模式的命令。下面是最常用的一些:

i:在当前字符的左边插入

I:在当前行首插入

a:在当前字符的右边插入

A:在当前行尾插入

o:在当前行下面插入一个新行

O:在当前行上面插入一个新行

c{motion}:删除motion 命令跨过的字符,并且进入插入模式。比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。

d{motion}:和上面差不多,但是不进入插入模式。

3、有效的移动大段的文本

使用可视选择(visual selections)和合适的选择模式

不像最初的VI,VIM 允许你高亮(选择)一些文本,并且进行操作。这里有三种可视选择模式:

v:按字符选择。经常使用的模式,所以亲自尝试一下它。

V:按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。

:按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。

在选择模式的时候使用上面所述的方向键和命令(motion)。比如,vwww,会高亮光标前面的三个词。Vjj 将会高亮当前行以及下面两行。

4、在可视选择模式下剪切和拷贝

一旦你高亮了选区,你或许想进行一些操作:

d:剪贴选择的内容到剪贴板。

y:拷贝选择的内容到剪贴板。

c:剪贴选择的内容到剪贴板并且进入插入模式。

在非可视选择模式下剪切和拷贝

如果你很清楚的知道你想拷贝或者剪切什么,那你根本就不需要进入可视选择模式。这样也会节省时间:

d{motion}:剪切motion 命令跨过的字符到剪贴板。比如,dw 会剪切一个词而dfS 会将从当前光标到下一个S 之间的字符剪切至剪贴板。

y{motion}:和上面类似,不过是拷贝。

c{motion}:和d{motion} 类似,不过最后进入插入模式。

dd:剪切当前行。

yy:拷贝当前行。

cc:剪切当前行并且进入插入模式。

D:剪切从光标位置到行尾到剪贴板。

Y:拷贝当前行。

C:和D 类似,最后进入插入模式。

x:剪切当前字符到剪贴板。

s:和x类似,不过最后进入插入模式。

5、粘贴

粘贴很简单,按p。

6、使用多重剪贴板

很多编辑器都只提供了一个剪贴板。VIM 有很多。剪贴板在VIM 里面被称为寄存器(Registers)。你可以列出当前定义的所有寄存器名和它们的内容,命令为“:reg”。最好使用小写字母来作为寄存器的名称,因为大写的有些被VIM 占用了。

使用寄存器的命令为双引号“。

比如:我们要拷贝当前行到寄存器k。你应该按“kyy。(你也可以使用V”ky。为什么这样也可以呢?)现在当前行应该已经存在了寄存器k 里面直到你又拷贝了一些东西进入寄存器k。现在你可以使用命令“kp 来粘贴寄存器k 里面的内容到你想要的位置。

7、避免重复

令人惊奇的. 命令

在VI 里面,输入. (小数点符号),将会重复你输入的上一个命令。比如,你上个命令为“dw”(删除一个词),VI 将会接着再删除一个词。

8、使用数字

使用数字也是VIM 强大的而且很节省时间的重要特性之一。在很多VIM 的命令之前都可以使用一个数字,这个数字将会告诉VIM 这个命令需要执行几次。比如:

3j 将会把光标向下移动三行。

10dd 将会删除十行。

y3t″将会拷贝从当前光标到第三个出现的引号之间的内容到剪贴板。

数字是扩展motion 命令作用域非常有效的方法。

高效的读代码

建议在vim上安装Taglist+cscope+ctags插件有利于高效读代码,有利于学习![3]

1、安装

对于小编我来说我使用的是Ubuntu,安装软件一般使用的命令是apt-get install ***!

对于vim+Taglist+cscope+ctags组合编辑器的创建,vim , cscope , ctags安装起来比较方便使用上述命令即可安装!

(对于不同的Linux发行版本安装软件的命令不太一样,需要根据自己的安装版稍微修改,比如说Fedora即使用yum命令安装)

对于Taglist使用这个方法安装不了,我们需要先下载,然后安装完成:

首先上网下载Taglist插件,下载完成后解压,再将文件下的taglist.vim使用cp命令拷贝到HOME/.vim/plugin文件夹下(cp -r taglist.vim ~/.vim/plugin)

2、vim的配置

vim是一个非常好用的编辑工具,以下介绍几个常用的底行模式命令:

(1). 设置缩进

:set smartindent // 设置缩进

:set smartindent shiftwidth=4 // C语言自动缩进,缩进值为4个字符宽度

(2). 显示光标行列信息

:set ruler // 显示光标信息(右下角)

(3). 查看制表符

:set list // 显示制表符,以^符号显示制表符的位置

(4). 查看行数信息

:set number //显示行号(左边)

(5). 关键字高亮

:syntax on //关键字高亮

(6). 多文件编辑,在编写程序时有可能需要同时编辑多个文件,在这种情况下,需要如下设置

: split two.c // 多文件编辑

当然,如果不嫌麻烦,可以在每次打开Vim时输入如上命令,如我经常用的是:set number :set ruler :syntax on :set smartindent 命令,如果将平时在底行模式下输入的命令直接写入配置文件,则以后使用Vim时不用再次输入这些命令。

首先,试着在Vi的底行模式下输入如下命令,如果不支持的话,去下载一个Vim的全版本,sudo apt-get install vim-full。

以下是修改配置文件的方法:

(1). 找到Vimrc文件。

(2)查看文件的权限:

ls -l vimrc

shisir@shisir-desktop:/usr/share/vim$ cd /etc/vim

shisir@shisir-desktop:/etc/vim$ ls

gvimrc vimrc vimrc.tiny

shisir@shisir-desktop:/etc/vim$ ls -l vimrc

-r--r--r-- 1 root root 2492 2009-04-10 08:08 vimrc

(3)如果没有写权限的话,修改权限,使我们可以修改该配置文件

sudo chmod a+w vimrc

(4)根据个人需要将上述命令写入配置文件

比如,我个人的设置是:syntax on , set ruler ,set number , set smartindent shiftwidth=4

下面贴上我的vimrc文件的配置信息:

"显示行号

set number

"检测文件的类型

filetype on

"记录历史的行数

set history=1000

"自动对齐

set autoindent

set cindent

"智能选择对齐方式

set smartindent

"tab为4个空格

set tabstop=4

"当前行之间交错时使用4个空格

set shiftwidth=4

"设置匹配模式,输入左括号会出现右括号

set showmatch

"编辑时显示光标状态

set ruler

"快速匹配

set incsearch

"修改文件自动备份

if has("vms")

set nobackup

else

set backup

endif

"""""""""""""设置开启ctags"""""""""""""

settags=/home/zhouyl/linux-3.4.7/tags;"这边设置的是你使用ctags -R的目录,后面有介绍!你根据自己的使用修改这个路径

set autochdir

"""""""""""""""""Taglist设置"""""""""""""""""

""let Tlist_Auto_Open = 1

let Tlist_Ctags_Cmd = '/usr/bin/ctags'

let Tlist_Show_One_File = 1

let Tlist_Exit_OnlyWindow = 1 """"""""""""""""""""""cscope设置""""""""""""""""""

set cscopequickfix=s-,c-,d-,i-,t-,e-

if has("cscope")

set csprg=/usr/bin/cscope

set csto=1

set cst

set nocsverb

" add any database in current directory

if filereadable("cscope.out")

cs add cscope.out

endif

set csverb

endif

因为我的文档中的原配置文件已经有了语法高亮:

" Vim5 and later versions support syntax highlighting. Uncommenting the next

" line enables syntax highlighting by default.

if has("syntax")

syntax on

endif

所以我就没写了,您如果vimrc文件里面没有此项建议自己加上syntax on 设置语法高亮PS:在配置文件中"符号后的内容是注释,而且在配置文件中是不需要添加符号的,这里关于cscope、ctags和Taglist的设置可以先写上,后面将对这三个插件有介绍。好了,现在去开一个Vim,编辑一个程序看看,是不是感觉很不一般呢?

好了,下面顺便演示下,智能补全的用法,我分四种情况:1、前面申明过的变量或者函数名的补全;2、结构体等自建结构的补全;3、STL等标准库的补全;4、括号、引号等自动匹配补全。

对于第一种情况,写程序的过程中,直接用CTRL+p即可选择,对于第二种情况,如果想申明了结构体T,想在输入T.时弹出成员供选择,只需在用之前按一下:CTRL+F12,然后效果如图:

3、Taglist插件的使用

TagList插件,是一款基于ctags,在vim代码窗口旁以分割窗口形式(如上图所示)显示当前的代码结构概览,增加代码浏览的便利程度的vim插件.

在Vim中加载代码文件后,可以使用以下命令控制taglist

:TlistOpen 打开并将输入焦点至于标签列表窗口,效果如上图所示

:TlistClose 关闭标签列表窗口

:TlistToggle 切换标签列表窗口状态(打开←→关闭),标签列表窗口是否获得焦点取决于其他配置

ctl-w + w 或ctl-w + 方向键窗口切换(taglist本质上是一个vim分隔窗口,因此可以使用ctl-w 系列快捷键对窗口进行切换操作)

在Taglist窗口主要有以下操作

按F1:打开帮助

回车键:跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)

o:新建一个窗口,跳到标记定义处

p:预览标记定义(仍然在taglist窗口)

空格:显示标记的原型(如函数原型)

u:更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)

s:选择排序字段(暂时我也不知道什么意思)

d:删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)

x:n放大/缩小taglist窗口

+:展开(指标记)

-:折叠

*:全部展开

=:全部折叠

[[:将光标移到前一个文件的起点

]]:将光标移到后一个文件的起点

q:退出taglist窗口

F1:关闭帮助

4、ctags插件的使用

VIM简单易用,大家只要看看VIM自带的vitutor,大约只要20分钟就能掌握VIM的用法,上面也简单介绍了点vim的用法。但是对于Linux下的C/C++的程序员,使用VIM+Ctags的组合来写程序也许是最佳的选择。^_^

尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。

熟练的使用ctags仅需记住下面七条命令:(很简单吧,呵呵)

1.$ ctags–R * ($ 为Linux系统Shell提示符)

2. $ vi –t tag (请把tag替换为您欲查找的变量或函数名)

3.:ts (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)

4.:tp (tp 助记字:tagspreview)---此命令不常用,可以不用记

5.:tn (tn 助记字:tagsnext) ---此命令不常用,可以不用记

6.Ctrl + ] 跳到光标所在函数或者结构体的定义处

7.Ctrl + T 返回查找或跳转

下面我们逐条的解释上面的命令:

“$ c tags–R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。Tags文件中包括这些对象的列表:

用#define定义的宏

枚举型变量的值

函数的定义、原型和声明

名字空间(namespace)

类型定义(typedefs)

变量(包括定义和声明)

类(class)、结构(struct)、枚举类型(enum)和联合(union)

类、结构和联合中成员变量或函数

VIM用这个“tags”文件来定位上面这些做了标记的对象。

剩下的命令就是定位这些对象的方法:

“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:

[/usr/src]$ vim -t main

这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。如果这个变量或函数有多处定义,在VI命令行模式“:ts”命令就能列出一个列表供用户选择。“:tp”为上一个tag标记文件,“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。:(

最方便的方法是把光标移到变量名或函数名上,然后按下“ Ctrl+] ”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“ Ctrl+T ”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回。^_^

注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:set tags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。在完成编码时,可以手工删掉tags文件(帚把不到,灰尘不会自己跑掉^_^)。

5、cscope插件的使用

[4]Cscope是一个类似ctags的工具。你可以把它想作是超过频的ctags,因为它功能比ctags 强大很多。在Vim 里,通过cscope 查询结果来跳转就象跳转到其他的标签完全一样;它被保存在标签栈里。这样你就可以象使用|tags| 一样在函数等等之间便捷的跳转。

在VIM中使用cscope非常简单,首先调用“cscope add”命令添加一个cscope数据库,然后就可以调用“cscope find”命令进行查找了。VIM支持8种cscope的查询功能,如下:例如,我们想在代码中查找调用work()函数的函数,我们可以输入:“:cs find c work”,回车后发现没有找到匹配的功能,可能并没有函数调用work()。我们再输入“:cs find s work”,查找这个符号出现的位置,现在vim列出了这个符号出现的所有位置。我们还可以进行字符串查找,它会双引号或单引号括起来的内容中查找。还可以输入一个正则表达式,这类似于egrep程序

的功能。

在源代码目录下打开vim。要使用cscope查找就必须加载cscope.out文件.在vim命令行下执行:(按照上述方法配置好的vimrc中有这一步)

:cs add cscope.out

在vim命令行下执行:

:cs help

cscope commands:

add : Add a new database (Usage: add file|dir [pre-path] [flags])

find : Query for a pattern (Usage: find c|d|e|f|g|i|s|t name)

c: Find functions calling this function //查找调用本函数的函数

d: Find functions called by this function //查找本函数调用的函数

e: Find this egrep pattern //查找egrep模式,相当于egrep功能,但查找速度快多了

f: Find this file //查找并打开文件,类似vim的find功能

g: Find this definition //查找函数、宏、枚举等定义的位置,类似ctags的功能

i: Find files #including this file //查找包含本文件的文件

s: Find this C symbol //查找C语言符号,即查找函数名、宏、枚举值等出现的地方

t: Find assignments to //查找指定的字符串

help : Show this message (Usage: help)

VIM命令

kill : Kill a connection (Usage: kill #)

reset: Reinit all connections (Usage: reset)

show : Show connections (Usage: show)

例如:使用cscope查找do_fork函数的定义:

在vim命令行下执行::cs f g do_fork

版本信息

Emacs和Vim二款神一样的代码编辑器

今天有一位从事程序猿N年的哥们在QQ上给本小编吐槽,“你个啥子网站,连个Emacs这样神一样的编辑器都没有,你弄些啥嘛”,俺沉默了10秒外加5秒的发呆,Emacs?神一样的编辑器?这种说法让UltraEdit和Editplus情以何堪,还有那个号称程序员们最喜爱的编辑器Notepad++听完一定会痛哭流泪。赶快找度娘,问问是否如此,在看到一篇文章“Emacs 和Vim,神的编辑器和编辑器之神”之后,让我觉得有一种不发布Emacs和Vim简直就是犯罪的冲动,于是急冲冲发布Emacs和Vim这二款编辑器神器,让那些未睹这二款编辑器芳容的同学一睹神的风采。

要详细介绍这二款编辑器真是难于找到合适的文字,“古老、经典、强大”等一切词语相对于Jiqing Wu这位作者博客所写都显得那么的苍白无力,现引用些有关描述这二款编辑器的原话,你一定会为Emacs和Vim特立独行的魅力所着迷。

●Windows下用UltraEdit和Editplus的人质问:它们到底比UltraEdit和Editplus好在哪里?我说:不可同日而语。

连UltraEdit和EditPlus都没用过的同学问:它们就相当于Linux上的Notepad吧?我说:请你从我的眼前消失。

●Linux和开源软件渐渐流行起来,人们才发现:可扩展性才能给软件强大的生命。在MS的VS横行的今天,Eclipse为什么被评为最好的IDE?就是因为它在IDE中最具可扩展性。在IE 几乎一统天下的时候,为什么Firefox能夺走越来越多的用户,也是因为它的可扩展性。提供了良好的扩展接口,用户自然会写出各种各样的插件,来满足用户自己形形色色的要求。这样,软件在用户的推动下自然变得强大了,Emacs和Vim没有被时代淘汰,反而越发强大,也正是因为在数不清的编辑器中,他们具有无可匹敌的可扩展性。

●有这么牛逼的扩展语言,注定Emacs向着无所不能的方向发展。渐渐地,人们用Emacs不再限于写程序,写文档,而且在Emacs里管理文件系统,运行终端,收邮件,上网,听音乐……,真是一发不可收拾。甚至,有人用Emacs控制咖啡机煮咖啡。

●这种大而全的扩展,背离了“一个程序只做一件事并做好它”的Unix哲学,被Unix的忠诚用户所诟病。可是真的背离了吗? Emacs说过自己是一个编辑器吗?

●正是因为Emacs的无敌的可扩展性,人们才分不清Emacs到底是不是一个编辑器了。但,就是有人喜欢这种All-in-One的哲学,喜欢在Emacs中完成每件事。所以才会有人写《生活在Emacs中》,所以,Emacs才会成为一种信仰。

●Linux之父Linus多年来用的是一款MicroEmacs,它比GNU Emacs或XEmacs少许多功能,但Linus就是用它在维护Linux。微软的大牛Don Box,Com之父,一直用Emacs,他说谁也不能夺走他的编辑器。他还在网上放了一段他用Emacs写C#程序的视频。

●编程大师们的选择,也是Emacs和Vim被追捧为神器的原因之一。

●可扩展性让你倾注了灵魂

●独特的操作方式让你中了毒

●黑客的编辑器,一剑在手,夫复何求

●Emacs和Vim神器引发的圣战争斗不断[5]

参考资料

1. inux文本编辑器Vim .开源社区网[引用日期2012-09-8].

2. linux下vi命令大全.星尘-博客园[引用日期2012-10-16].

3. Ubuntu下创建vim+Taglist+cscope+ctags组合编辑器.CSDN[引用日期2012-08-27].4. Vim中关于cscope 的帮助.CSDN[引用日期2012-08-27].

5. Emacs和Vim二款神一样的代码编辑器.软件盒子[引用日期2013-07-20].

vi编辑器的使用方法精编

v i编辑器的使用方法精 编 Document number:WTT-LKK-GBB-08921-EIGG-22986

给点参考吧 还蛮详细的 vi文本编辑器的使用 一.vi的模式 命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点 输入模式:即文本辑辑状态,按“i”键可进入,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式 末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式 二.基本使用 编辑器的启动与退出: (1).使用命令"vi"直接进入编辑环境 (2).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件

(3).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存 (4).在命令模式下输入":wq",可以保存文件,并推出编辑环境。 2.文件操作: (1).打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文件" (2).读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面 (3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w"命令的参数,如果没有命名,第一次保存时需指定文件名作为参数 (4).另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容 (5).退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!"

vi命令的使用

vi编辑器使用方法 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode) 1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode 下,或者到 last line mode。 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 一般把vi简化成两个模式,即将底行模式(last line mode)也算入命令行模式command mode)。 2、vi的基本操作 2.1、三种模式的转换 a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi myfile 进入vi之后,是处于[命令行模式(command mode)],要切换到[插入模式(Insert mode)]才能够输入文字。 b) 切换至插入模式(Insert mode)编辑文件 在[命令行模式(command mode)]下键入对应字母就可以进入[插入模式(Insert mode)],此时可以开始输入文字了。 c) Insert 的切换 处于[插入模式(Insert mode)],就只能一直输入文字。若发现输错了字!要按[ESC]键转到[命令行模式(command mode)]再删除文字。 d) 退出vi及保存文件 在[命令行模式(command mode)]下,按一下[:]冒号键进入[Last line mode],例如: : w filename (输入 [w filename]将文章以指定的文件名filename保存): wq (输入[wq],存盘并退出vi) : q! (输入q!,不存盘强制退出vi) 2.2、命令行模式(command mode)功能键 1). 插入模式 按切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;

Vi编辑器使用说明

V i编辑器使用说明公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

Vi编辑器的基本使用方法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任 何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模 式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。 2、vi的基本操作 a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi myfile 不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧! b) 切换至插入模式(Insert mode)编辑文件 在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 c) Insert 的切换 您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

个人心得-vi编辑器的快捷使用

个人心得-vi编辑器的快捷使用

光标控制命令 命令光标移动 h或^h 向左移一个字符j或^j或^n 向下移一行 k或^p 向上移一行 l或空格向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n 行 w移到下一个字的开头 W 移到下一个字的开头,忽略标点符号 b 移到前一个字的开头 B 移到前一个字的开头,忽略标点符号 L 移到屏幕的最后一行 M 移到屏幕的中间

一行 H 移到屏幕的第一行 e 移到下一个字的结尾 E 移到下一个字的结尾,忽略标点符号 (移到句子的开头)移到句子的结尾{移到段落的开头}移到下一个段落的开头 0或| 移到当前行的第一列 n| 移到当前行的第n列 ^ 移到当前行的第一个非空字符 $ 移到当前行的最后一个字符 +或return移到下一行的第一个字符

- 移到前一行的第一个非空字符 在vi中添加文本 命令插入动作 a 在光标后插入文本 A 在当前行插入文本 i 在光标前插入文本 I 在当前行前插入文本 o 在当前行的下边插入新行 O 在当前行的上边插入新行 :r file读入文件file 内容,并插在当前行后 :nr file读入文件file 内容,并插在第n行后 escape 回到命令模式

^v char 插入时忽略char的指定意义,这是为了插入特殊字符 在vi中删除文本 命令删除操作 x 删除光标处的字符,可以在x前加上需要删除的字符数目 nx 从当前光标处往后删除n个字符 X 删除光标前的字符,可以在X前加上需要删除的字符数目 nX 从当前光标处往前删除n个字符 dw 删至下一个字的开头 ndw 从当前光标处往后删除n个字 dG 删除行,直到文件结束 dd删除整行 ndd 从当前行开始往后删除 db 删除光标前面的

培训教材UniVi编辑器使用手册

培训教材U n i V i编辑器 使用手册 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

编号:002 创昱达培训中心 培训教材 UNIX Vi编辑器使用手册 2007年7月,V 福州创昱达信息技术有限公司

目录

一、UNIX Vi编辑器概述 建议:本文是针对初学Unix?Vi编辑器的员工的,而文后所付的详尽的命令表也可作为已经熟练使用vi的员工的参考之用。 、UNIX编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。Unix 及其相似的操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器,包括?ex、edit、ed?和vi。其中ex、edit、ed都是行编辑器,现在已很少有人使用,Unix提供他们的原因是考虑到满足各种用户特别是某些终端用户的需要。 值得庆幸的是,Unix提供了全屏幕的Vi编辑器,这使我们的工作轻松不少。不少DOS用户抱怨Vi编辑器不象DOS下的编辑器如edit那么好用,这是因为Vi考虑到各种用户的需要,没有使用某些通用的编辑键(在各个不同的终端机上他们的定义是不同的,在某些终端机上甚至没有这些键)。而是采用状态切换的方法,但这只是习惯的问题,一旦你熟练的使用上了vi你就会觉得它其实也很好用。虽然?Vi采用了状态切换的方法,但电脑的硬件及操作系统多种多样,某些电脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了这个问题在?Unix?系统上也一样,几乎各大电脑厂商都有自己的Unix?系统,而?vi?的操作方法也会随之有点出入。这里我们采用?PC?的键盘来说明?vi?的操作,但在具体的环境中还要参考相应的资料,这一点是值得注意的。

vi编辑器使用

v i编辑器使用 Prepared on 22 November 2020

经过长时间学习linux vi编辑器,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。 linux vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,linux vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。 2、vi的基本操作 a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi myfile 不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧! b) 切换至插入模式(Insert mode)编辑文件 在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。 c) Insert 的切换 您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

Linux Vi编辑器的使用实验报告

北京林业大学 2012学年—2013学年第二学期 Linux应用实验任务书 专业名称:信息管理与信息系统班级: 姓名:学号: 实验题目:实验三 Vi编辑器的基本使用 实验环境: Red Hat Linux 9 实验目的: 1.通过Vi 操作练习,能够熟练使用Vi 中的常见操作,并且熟悉Vi 的3 种模式。 2.熟悉shell的各项功能。 实验步骤: 1.熟悉Shell环境,使用Shell的各种功能 1)命令补齐功能 用date命令查看系统当前时间,在输入da后,按tab键,让shell 自动补齐命令的后半部分。 按tab键自动补齐:

●用mkdir命令创建新的目录。首先输入第一个字母m,然后按tab 键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n。 ●再多输入一个字母k,按tab键,让shell列出以mk开头的所有命 令的列表。

●在列表中查找mkdir命令,看看还需要多输入几个字母才能确定 mkdir这个命令,然后输入需要的字母,再按tab键,让shell补齐 剩下的命令。 ●最后输入要创建的目录名,按回车键执行命令。 ●多试几个命令利用tab键补齐。 到a可以补齐 到p可以补齐 2)命令别名功能 ●输入alias命令,显示目前已经设置好的命令的别名。

●设置别名ls为ls –l,以长格形式显示文件列表: ●显示别名ls代表的命令,确认设置生效: ●使用别名ls显示当前目录中的文件列表。 ●删除别名ls:#unalias ls。 ●显示别名ls,确认删除别名已经生效: ●最后再用命令ls 显示当前目录中的文件列表。

培训教材univi编辑器使用手册

编号:002 创昱达培训中心 培训教材 UNIX Vi编辑器使用手册 2007年7月,V 福州创昱达信息技术有限公司 目录

一、UNIX Vi编辑器概述 建议:本文是针对初学UnixVi编辑器的员工的,而文后所付的详尽的命令表也可作为已经熟练使用vi的员工的参考之用。 、UNIX编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。Unix及其相似的操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器,包括ex、edit、ed和vi。其中ex、edit、ed都是行编辑器,现在已很少有人使用,Unix提供他们的原因是考虑到满足各种用户特别是某些终端用户的需要。 值得庆幸的是,Unix提供了全屏幕的Vi编辑器,这使我们的工作轻松不少。不少DOS用户抱怨Vi编辑器不象DOS下的编辑器如edit那么好用,这是因为Vi 考虑到各种用户的需要,没有使用某些通用的编辑键(在各个不同的终端机上他们的定义是不同的,在某些终端机上甚至没有这些键)。而是采用状态切换的方法,但这只是习惯的问题,一旦你熟练的使用上了vi你就会觉得它其实也很好用。虽然Vi采用了状态切换的方法,但电脑的硬件及操作系统多种多样,某些电脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了这个问题在Unix系统上也一样,几乎各大电脑厂商都有自己的Unix系统,而vi的操作方法也会随之有点出入。这里我们采用PC的键盘来说明vi的操作,但在具体的环境中还要参考相应的资料,这一点是值得注意的。

二、Vi编辑器入门 、进入vi 在系统提示字符(如$、#)下敲入: vi <档案名称> vi可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)。 进入vi后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。 、两种模式 如上所述,vi存在两种模式:指令模式和输入模式。 在指令模式下输入的按键将做为指令来处理。如输入a,vi即认为是在当前位置插入字符。 而在输入模式下,vi则把输入的按键当作插入的字符来处理。 指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次[ESC],系统如发出哔哔声就表示已处于指令模式下了。 由指令模式进入输入模式的指令:

实验三 vi编辑器及GCC编译器的使用

实验三vi编辑器及GCC编译器的使用 【实验目的】 一、掌握文本编辑器vi的使用方法 二、了解GNU gcc编译器 三、掌握使用GCC编译C语言程序的方法 【实验内容】 一、vi的三种工作模式: 1、命令模式: 执行相关文本编辑命令 2、输入模式: 输入文本 3、末行模式: 实现查找、替换、保存、多文件操作等等功能 二、进入vi,直接在Shell提示符下键入vi [文件名称],如果该文件在当前目录不存在,则vi创建之。 三、退出vi 1、在命令模式下输入“: wq”,保存文件并退出vi 2、若不需要保存文件,输入“: q” 3、若文件已修改,但不保存,输入“:

q!”强制退出vi 4、其它一些不常用的方法在此省略。 四、命令模式下的常用编辑命令 1、启动vi后,进入的是vi的命令模式 2、按i键,进入输入模式,可以进行文本的编辑,在输入模式下,按esc 键,可切换回命令模式 i: 光标位置不变,可在光标左侧插入正文 a: 光标位置向后退一格,可在光标左侧插入正文 o: 在光标所在行的下一行增添新行 O: 在光标所在行的上一行增添新行 I: 光标跳到当前行的开头 A: 光标跳到当前行的末尾 3、光标的移动 k、j、h、l分别等同于上、下、左、右箭头键 Ctrl+b,向上翻一页

Ctrl+f,向下翻一页 nH,将光标移到屏幕的第n行 nL,将光标移到屏幕的倒数第n行 4、删除文本 nX,删除光标所指向的后n个字符 D,删除光标右侧的所有字符(包括光标所指向的字符)db,删除光标左侧的全部字符 ndd,删除当前行和当前行以后的n行内容 5、粘贴和复制 p,将缓冲区的内容粘贴到当前字符的右侧 P,将缓冲区的内容粘贴到当前字符的左侧 yy,复制当前行到内存缓冲区 nyy,复制n行内容到内存缓冲区 6、搜索字符串 /str1,正向搜索字符串str1 n,继续搜索 ?str2,反向搜索字符串str2 7、撤销和重复 u,撤销前一条命令的执行结果 .,重复最后一条命令

实验三 Shell和Vi编辑器

实验三Shell和Vi编辑器 一. 实验目的: 1. 熟悉shell的各项功能; 2. 掌握Linux系统终端方式使用的编辑器vi; 3. 学习vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。 二. 实验内容: 1. 练习使用shell的各项功能; 2. 熟练掌握vi编辑器的使用。 三. 实验练习: 1. 熟悉Shell环境,使用Shell的各种功能 1) 命令补齐功能 用date命令查看系统当前时间,在输入da后,按tab键,让shell自动补齐命令的后半部分。 用mkdir命令创建新的目录。首先输入第一个字母m,然后按tab键,由于以m开头的命令太多, shell会提示是否显示全部的可能命令,输入n。 再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。 在列表中查找mkdir命令,看看还需要多输入几个字母才能确定mkdir这个命令,然后输入需要的 字母,再按tab键,让shell补齐剩下的命令。 最后输入要创建的目录名,按回车键执行命令。 多试几个命令利用tab键补齐。 2) 命令别名功能 输入alias命令,显示目前已经设置好的命令的别名。 设置别名ls为ls –l,以长格形式显示文件列表:#alias ls=‘ls -l’。 显示别名ls代表的命令,确认设置生效:#alias ls。 使用别名ls显示当前目录中的文件列表。 在使定义的别名不失效的情况下,使用系统的ls命令显示当前目录中的命令列表:#\ls。 删除别名ls:#unalias ls。 显示别名ls,确认删除别名已经生效:#alias ls。 最后再用命令ls 显示当前目录中的文件列表。 写出定义别名cde为:cd /etc的命令()。 3) 输入、输出重定向和管道 (1) 输出重定向 用ls命令显示当前目录中的文件列表:#ls –l。 使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中:#ls –l > list。 查看文件list中的内容,注意在列表中会多出一个文件list,其长度为0。这说明shell是首先创建了 一个空文件,然后再运行ls命令:#cat list。 再次使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中。这次 使用管道符号>>进行重定向:#ls –l >> list。 查看文件list的内容,可以看到用>>进行重定向是把新的输出内容附加在文件的末尾,注意其中两行 list文件的信息中文件大小的区别:cat list。 重复命令#ls –l > list。 再次查看文件list中的内容,和前两次的结果相比较,注意list文件大小和创建时间的区别,完成 课后第一题。 (2) 输入重定向 使用输入重定向,把上面生成的文件list用mail命令发送给自己:#mail root < list。 查看新邮件,看看收到的新邮件中其内容是否为list文件中的内容。

2-实验二 使用vi编辑器

实验二使用vi(Visual interface)编辑器 一、实验目的 学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。 二、实验内容 1.进入和退出vi。 2.利用文本插入方式建立一个文件。 3.在新建的文本文件上移动光标。 4.对文本文件执行删除、复原、修改、替换操作。 三、实验步骤 1.进入和退出vi <1> 进入vi 在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。 <2> 退出vi 在命令方式下可有几种方法退出vi编辑器: :wq 把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到shell下。 :ZZ 仅当作过修改时才将缓冲区内容写到文件上。 :x 与:ZZ 相同。 :q! 强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。 2.新建文件 <1> 在UNIX提示符$之后,输入命令:vi myfile,然后按〈Enter〉键。 <2> 输入插入命令i(屏幕上看不到字符i)。 <3> 然后,输入以下文本行: To the only woman tht I,

For mang year you have been my wife <4> 发现这两行有错,进行改正: 按〈Esc〉键,从插入方式回到命令方式。 按光标上移键,使光标移到第一行。 按光标左移键,使光标移到“tht”的第二个“t”处。 输入i(这是插入命令),然后输入a。该行变成如下形式: To the only woman that I, 按光标右移键,使光标移到“I”上。 我们想在“I”之后输入一个空格和单词“love”。为此,输入附加命令“a”。结果屏幕显示为: To the only woman that a I, 这是怎么回事儿?......原来是:我们先前使用了插入命令i,至今并未用〈Esc〉键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。 <5> 按〈Esc〉键,返回命令方式。 利用x命令删除错误字符。然后,进入插入方式,输入正确字符。 <6> 最后输入如下所示的文本: To the only woman that I love, For many year you have been mywwife I live you wich my life abd could not have picked much better. <7> 将你编辑的文本文件存盘。(利用:wq 命令,或者:x 命令) <8> 重新进入vi编辑程序,编辑上面的文件。(如:$ vi myfile) <9> 将光标移到第二行的year的r处。输入a命令,添加字符s。 <10> 利用取代命令r将mywwife改为my wife。 <11> 将光标移至第三行。 输入新行命令O(大写字母),屏幕上有什么变化? ---光标移至上一行(新加空行)的开头。 <12> 输入新行的内容: We've been through much together <13> 按〈Esc〉,回到命令方式。将光标移到第四行的live的i字母处。利用替换命

Vi编辑器详细操作方法

熟悉VI 是学习UNIX 系统的一个关口 vi 是visual edit 的缩写 进入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:显示由面向行的命令修改过的数目

vi编辑器的使用方法

v i编辑器的使用方法 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

给点参考吧 还蛮详细的 vi文本编辑器的使用 一.vi的模式 命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点 输入模式:即文本辑辑状态,按“i”键可进入,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式 末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式 二.基本使用 编辑器的启动与退出: (1).使用命令"vi"直接进入编辑环境 (2).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件 (3).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存 (4).在命令模式下输入":wq",可以保存文件,并推出编辑环境。 2.文件操作: (1).打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文件" (2).读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面 (3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w"命令的参数,如果没有命名,第一次保存时需指定文件名作为参数 (4).另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容 (5).退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!" 3.光标的移动操作(命令模式下)

vi编辑器的使用规则

一般模式:删除、复制与贴上 这个u 与[Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~利用这两个功能按键,您的编辑,嘿嘿!很快乐的啦! 进入编辑模式

上面这些按键中,在vi 画面的左下角处会出现『--INSERT--』或『--REPLACE--』的字样。由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时,一定要在左下角处看到INSERT/REPLACE 才能输入喔! 指令列命令模式 注意一下啊,那个惊叹号(!) 在vi 当中,常常具有『强制』的意思~ 特别注意,在vi 中,『数字』是很有意义的!数字通常代表重复做几次的意思!也有可能是代表去到第 几个什么什么的意思。举例来说,要删除50 行,则是用『50dd』对吧!数字加在动作之前~那我要向 下移动20 行呢?那就是『20j』或者是『20↓』即可。 一个案例练习 来来来!测试一下您是否已经熟悉 vi 这个指令呢?请依照底下的需求进行您的指令动作。 (底下的操作 为使用 FC4 的预设档案来进行练习的。您可以在这里下载: https://www.360docs.net/doc/f110517741.html,/linux_basic/0310vi/man.config。) 看看您的显示结果与鸟哥的结果是否相同 啊?! 1. 请在 /tmp 这个目录下建立一个名为 vitest 的目录; 2. 进入 vitest 这个目录当中; 3. 将 /etc/man.config 拷贝到本目录底下(或由上述的连结下载 man.config 档案); 4. 使用 vi 开启本目录下的 man.config 这个档案; 5. 在 vi 中设定一下行号;

Ubuntu上vi vim 编辑器使用教程

vim是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活 之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。 vim有3个模式:插入模式(Insert Mode)、命令模式(Command Mode)、低行模式(Last Line Mode). 插入模式:在此模式下可以输入字符,按ESC将回到命令模式。 命令模式:可以移动光标、删除字符等。 低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。 一、打开文件、保存、关闭文件(vi命令模式下使用) vi filename //打开filename文件 :w //保存文件 :w https://www.360docs.net/doc/f110517741.html, //保存至https://www.360docs.net/doc/f110517741.html,文件(可以理解为另存为) :q //退出编辑器,如果文件已修改请使用下面的命令 :q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退回到命令模式) a //在当前光标位置的右边添加文本 i //在当前光标位置的左边添加文本 A //在当前行的末尾位置添加文本 I //在当前行的开始处添加文本(非空字符的行首) O //在当前行的上面新建一行 o //在当前行的下面新建一行 R //替换(覆盖)当前光标位置及后面的若干文本 J //合并光标所在行及下一行为一行(依然在命令模式) 三、移动光标(vi命令模式下使用) 1、使用上下左右方向键 2、命令模式下:h 向左、j 向下、k 向上、l 向右。 空格键向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。 四、删除、恢复字符或行(vi命令模式下使用) x //删除当前字符 nx //删除从光标开始的n个字符 dd //删除当前行 ndd //向下删除当前行在内的n行 u //撤销上一步操作 U //撤销对当前行的所有操作 五、搜索(vi命令模式下使用) /vpser //向光标下搜索vpser字符串 ?vpser //向光标上搜索vpser字符串 n //向下搜索前一个搜素动作 N //向上搜索前一个搜索动作

虚拟机中vi文本编辑器的使用方法

vi文本编辑器的使用 (于2012年5月计算所) 目录 vi文本编辑器的使用 (1) 目录 (1) 一.vi的模式 (1) 二.基本使用 (1) 1.vi 编辑器的启动与退出: (1) 2.文件操作: (2) 3.光标的移动操作(命令模式下) (2) 4.编辑操作 (2) 5.查找与替换操作(末行模式) (3) 三、编辑器的多文件操作 (3) 1.多文件操作的vi启动 (3) 2.多文件切换命令 (3) 一.vi的模式 命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点 输入模式:即文本辑辑状态,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式 末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式 二.基本使用 1.vi 编辑器的启动与退出: (1).使用命令"vi"直接进入编辑环境 (2).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存

(3).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件 2.文件操作: (1)打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文件" (2)读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面 (3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w" 命令的参数,如果没有命名,第一次保存时需指定文件名作为参数 (4)另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容 (5)退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!" 3.光标的移动操作(命令模式下) (1)光标方向移动:"h"左、"l"右、"k"上、"j"下 (2)翻页移动:"ctrl+f"前一页、"ctrl+b"后一页、"ctrl+u"前半页、"ctrl+d"后半页 (3)行内快速跳转:"^"本行首字符、"$"本行尾字符、"w"后一单词首字母、"b"前一单词首字母、"e"后一单词尾字母;可添加数字组合使用,例如:"3w"后三个单词首字母、"4b"前4个单词首字母、"5e"后5个单词尾字母 (4)文件内行间跳转:显示行号":set nu",取消显示行号":set nonu","1G"跳转到首行,"G"跳转到末尾行,"#G"跳转到第#行 4.编辑操作 (1)进行输入模式:"i"当前光标处,"a"当前光标后,"A"当前行末,"o"当前行下插入新行,"O"当前行上插入新行,"cw"删除当前光标到所在尾部字符,"c$"删除当前光标到行尾的字符,"c^"删除当前光标(不包括)之前到行首的字符;以上记忆如有困难,可只记"i"从命令模式进入输入模式,完成编辑后"Esc"退回到命令模式 (2)输入模式的操作:上下左右方向进行光标移动,"Home/End"定位光标到行首行尾,"Page Up /Down"上下翻页,"Backspace"左侧字符的删除,"Delete"删除光标位置的字符 (3)删除操作:在命令模式下,可用以下命令完成删除操作,"x"光标处单个字符,"dd"光标所在行,"dw"当前字符到单词尾(含空格),"de"当前字符到单词尾(不含空格),"d$"当前字符到行尾,"d^"当前字符到行首,"J"合并当前行与下一

VI编辑器的命令及应用

VI编辑器的使用方法 一、vi的工作模式 vi有两种工作模式: 编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中。 指令模式:用来编辑、存盘和退出文件的模式。 运行vi后,首先进入指令模式。此时输入的任何字符都被视为指令,键入的命令不会在屏幕上显示。 从指令模式切换到编辑模式,则可以按“Insert”键或“i”键,从编辑模式切换到指令模式,可按“Esc”键。 状态行是屏幕底部一行,被vi编辑器用来反馈编辑操作结果。错误消息或提供信息的消息会在状态行中显示出来。 二、vi的启动和退出 1.启动vi 在系统图示字符下键入“vi”+“空格”+“文件名”,如:vi test.txt vi可以自动载入所要编辑的文件或是开启一个新文件。 2.退出vi 在指令模式下键入如下命令可以退出vi: :q 如果用户只是读文件的内容而未对文件进行修改,可以在命令模式下输入“:q”退出vi。:q! 如果用户对文件的内容作了修改,又决定放弃对文件的修改,则用“:q!”命令。 :w! 强行保存一个vi文件,如果该文件已存在,则进行覆盖。 :wq 保存文件并退出vi。 ZZ 快速保存文件的内容,然后退出vi。功能和“:wq”相同。

:w filename 相当于“另存为”。 :n,mw filename 将第n-m行的文本保存到指定的文件filename中。 三、vi长指令和短指令 长指令:以冒号开头,键入冒号后,在屏幕的最末尾一行会出现冒号提示符,等待用户键入指令,输入完指令后回车,vi会执行该指令。 段指令:与快捷键相似,键入短指令后,vi不会给任何提示就直接执行。 1.输入输出命令 a 在光标后输入文本 A 在当前行末尾输入文本 i 在光标前输入文本 I 在当前行开始输入文本 o 在当前行后输入新一行 O 在当前行前输入新一行 2.光标移动命令 b 移动到当前单词的开始 e 移动到当前单词的结尾 w 向后移动一个单词 h 向前移动一个字符 l 向后移动一个字符 j 向下移动一行 k 向上移动一行 3.删除操作命令 x 删除光标所在的字符 dw 删除光标所在的单词

vi编辑器的使用总结

v i编辑器的使用总结公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

Vi编辑器入门 ? 一、vi的工作模式 vi有两种基本的工作模式:命令(编辑)模式和文本输入模式。 命令模式:vi初始启动时进入命令模式。它不显示用户输入,只会被解释执行。文本输入模式:它就显示用户的输入,只是作为文本写入到用户的文件中。 状态行:屏幕底部的一行,通常为第24行,vi在该行上反馈编辑操作的结果。错误信息或其他一些信息会在状态行上显示出来,vi还会在第24行上显示那些以冒号、斜杠或问号开头的命令。 二、命令模式 注意: 1,如果想使用光标移动键,就必须使vi处于命令模式。 2,当vi编辑器处于命令模式时,大部分命令在按下键时就会启动,因此不需要使用回车键来指明命令行的结束。 vi的光标移动键 键功能 h或[←] 将光标向左移动一位 j 或[↓] 将光标向下移动一位 k或[↑] 将光标向上移动一位 l 或[→] 将光标向右移动一位 $ 将光标移到当前行的行尾 w 将光标向右移动一个字 b 将光标向左移动一个字 e 将光标移到字尾 0(零) 将光标移到当前行的行首 [Reuturn]键将光标移到下一行的行首 [Spacebar]键将光标向右移动一位 [Backspace]键将光标向左移动一位 命令模式下vi编辑器的文本修改键

键功能 x 删除光标位置指定的字符 dd 删除光标所在的行 u 撤销最近的修改 U 撤销对当前行做的所有修改 r 替换光标位置上的一个字符 R 替换从光标位置开始的字符,同时改变vi到文本输入模式 .(点) 重复上一次的修改 三、文本输入模式 切换到文本输入模式的命令键 命令键功能 i 在光标左侧输入正文 I 在光标所在行的开头输入正文 a 在光标右侧输入正文 A 在光标的所在行的未尾输入正文 o 在光标所在行的下一行增添新行,并且光标位于新行的开头 O 在光标所在行的上一行增添新行,并且光标位于新行的开头 关闭文件 ● 按[Esc]键,确保vi处于命令模式。 ● 输入 : 将提示符放到屏幕底部的状态行上。 ● 输入q![Return],该命令不保存改变并退出vi。按[!]键表示确认放弃修改。当vi处于文本编辑器模式时[Return]的使用: ● 如果光标在行尾,光标的右边没有文本按[Return]键将会在当前行的下面添加一个空行 ● 如果光标正好在当前行的第一个字符上,按[Return]键将会在当前行的上面添加一空行 ● 如果光标在本行的其他位置,并且它的右边有文本,按[Return]键会把该行分成两行 编辑多个文件 ● 编辑另一个文件:vi 可能同时打开多个文件,另一种方法是用:e(edit)

vi操作手册

UNIX下VI操作手册 编辑一个文本文件是经常使用到的计算机操作。我们想做的大多数事情都需要使用某种文件编辑。文本编辑器会方便文件的创建和修改。这些文件也许会包含备记录、日程表、程序源代码等等。文本编辑器是简化的字处理器,就不存在字处理器所具有的黑体、居中、下划线等等这印刷上的特点。当然每一种操作系统软件都至少支持一种文本编辑器。编辑器通常有两种方式: 行编辑器:一种每次修改只能在一行之中或组行之间进行的方式。 全屏编辑器:只能显示正在编辑的那一屏进行修改,而且立刻能在屏幕上显示出来。 当然UNIX中也有文本编辑器,下面就来介绍一下UNIX支持的编辑器:编辑器名称类型 ed 最初的行编辑 ex 在ed上扩展更为复杂的编辑器 vi 可视化的全屏编辑器 emacs 公共域的全屏编辑器 下面就来具体介绍vi编辑器: vi的原意是“Visual”,它是一个立即反应的编辑程式,也就是说可以立刻看到操作结果。vi是大多数UNIX系统都支持的全屏文本编辑器。它是由行编辑器ex发展而来的。它也两个版本:view编辑器和vedit编辑器。其中view编辑器对vi设了只读标志,而vedit编辑器对vi做了几个标志设置,同时也简化了vi的使用。vi有两种基本工作模式,文本输入模式和命令模式。文本输入模式即是用来输入文字资料,而命令模式则是用来下达一些编排文件、存档、以及离开vi等等的操作命令。当执行vi后,会先进入命令模式,此时输入的任何字符都视为命令。 Vi进入 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

相关文档
最新文档