`
wangzl2222
  • 浏览: 150937 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Vi入门

阅读更多
(一)、进入vi

在系统提示字符(如$、#)下敲入vi <档案名称>,vi 可以自动帮你载入所要编辑的文件或是开启一个新文件(如果该文件不存在或缺少文件名)。进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。

(二)、两种模式

如上所述,vi存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:如输入a,vi即认为是在当前位置插入字符。而在输入模式下,vi则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如a,A),而要从输入模式切换到指令模式,则需在输入模式下键入ESC键,如果不晓得现在是处於什麽模式,可以多按几次 [ESC],系统如发出哔哔声就表示已处于指令模式下了。

付:有指令模式进入输入模式的指令:

新增 (append)

a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。

A: 从光标所在列最後面的地方开始新增资料。

插入 (insert)

i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。

I :从光标所在列的第一个非空白字元前面开始插入资料。

开始 (open)

o :在光标所在列下新增一列并进入输入模式。

O: 在光标所在列上方新增一列并进入输入模式。

(三)、退出vi

在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。

(四)、基本编辑

配合一般键盘上的功能键,像是方向键、[Insert] 、[Delete] 等等,现在你应该已经可以利用 vi 来编辑文件了。当然 vi 还提供其他许许多多功能让文字的处理更为方便。

何谓编辑?一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬移、复制等等。先这里介绍 vi的如何做删除与修改。(注意:在 vi 的原始观念里,输入跟编辑是两码子事。编辑是在指令模式下操作的,先利用指令移动光标来定位要进行编辑的地方,然後才下指令做编辑。)

删除与修改文件的命令:

x: 删除光标所在字符。

dd :删除光标所在的列。

r :修改光标所在字元,r 後接著要修正的字符。

R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。

s: 删除光标所在字元,并进入输入模式。

S: 删除光标所在的列,并进入输入模式。

其实呢,在PC上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元,直接按[Delete] 不就得了。而插入状态与取代状态可以直接用 [Insert] 切换,犯不著用什麽指令模式的编辑指令。不过就如前面所提到的,这些指令几乎是每台终端机都能用,而不是仅仅在 PC 上。
在指令模式下移动光标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直接用 PC 的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。
当然 PC 键盘也有不足之处。有个很好用的指令 u 可以恢复被删除的文字,而 U 指令则可以恢复光标所在列的所有改变。这与某些电脑上的 [Undo] 按键功能相同。
三、附件:vi详细指令表
(一)、基本编辑指令:
新增 (append)

a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。

A: 从光标所在列最後面的地方开始新增资料。

插入 (insert)

i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。

I :从光标所在列的第一个非空白字元前面开始插入资料。

开始 (open)

o :在光标所在列下新增一列并进入输入模式。

O: 在光标所在列上方新增一列并进入输入模式。

x: 删除光标所在字符。

dd :删除光标所在的列。

r :修改光标所在字元,r 後接著要修正的字符。

R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。

s: 删除光标所在字元,并进入输入模式。

S: 删除光标所在的列,并进入输入模式。

(二)、光标移动指令:
由於许多编辑工作是藉由光标来定位,所以 vi 提供许多移动光标的方式,这个我们列
几张简表来说明(这些当然是指令模式下的指令):

指令 说明  功能键
0 移动到光标所在列的最前面 [Home]
$  移动到光标所在列的最後面 [End]
[CTRL][d] 向下半页  [PageDown]
[CTRL][f] 向下一页
[CTRL][u] 向上半页
[CTRL][b] 向上一页 [PageUp]

指令 说明
H 移动到视窗的第一列
M 移动到视窗的中间列
L 移动到视窗的最後列
b 移动到下个字的第一个字母
w 移缴细鲎值牡谝桓鲎帜?nbsp; 
e 移动到下个字的最後一个字母
^ 移动到光标所在列的第一个非空白字元

指令 说明 
n- 减号移动到上一列的第一个非空白字元前面加上数字可以指定移动到以上 n 列
n+ 加号移动到下一列的第一个非空白字元前面加上数字可以指定移动到以下 n 列
nG 直接用数字 n 加上大写 G 移动到第 n 列
指令 说明
fx
往右移动到 x 字元上
Fx 往左移动到 x 字元上 
tx 往右移动到 x 字元前
Tx 往左移动到 x 字元前
; 配合 f&t 使用,重复一次
, 配合 f&t 使用,反方向重复一次
/string 往右移动到有 string 的地方
?string 往左移动到有 string 的地方
n  配合 /&? 使用,重复一次
N  配合 /&? 使用,反方向重复一次

指令 说明 备注
n(
左括号移动到句子的最前面句子是以前面加上数字可以指定往前移动 n 个句子 ! . ? 三种符号来界定
n) 右括号移动到下个句子的最前面前面加上数字可以指定往後移动 n 个句子 ! . ? 三种符号来界定
n{  左括弧移动到段落的最前面 段落是以段落间的空白列界定
n} 前面加上数字可以指定往前移动 n 个段落右括弧移动到下个段落的最前面前面加上数字可以指定往後移动 n 个段落 段落是以段落间的空白列界定


(三)、更多的编辑指令
这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如 dw 怯缮境噶?nbsp;d 与范围 w 所组成,代表删除一个字 d(elete) w(ord) 。
指令列表如下:
d 删除(delete)
y 复制(yank)
p 放置(put)
c 修改(change)
范围可以是下列几个:
e 光晁谖恢玫礁米值淖钺嵋桓鲎帜?br> w 光标所在位置到下个字的第一个字母
b 光标所在位置到上个字的第一个字母
$ 光标所在位置到该列的最後一个字母
0 光标所在位置到该列的第一个字母
) 光标所在位置到下个句子的第一个字母
( 光标所在位置到该句子的第一个字母
} 光标所在位置到该段落的最後一个字母
{ 光标所在位置到该段落的第一个字母
说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,它们提供更多编辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。
某些 vi 版本,例如 Linux 所用的 elvis 可以大幅简化这一坨指令。如果稍微观察一下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。指令 v 非常好用,只要按下 v 键,光标所在的位置就会反白,然後就可以移动光标来设定范围,接著再直接下指令进行编辑即可。对於整列操作, vi 另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的指令 dd 就是其中一个;cc 可以修改整列文字;而 yy 则是复制整列文字;指令 D 则可以删除光标到该列结束为止所有的文字。
(四)、文件操作指令
文件操作指令多以 : 开头,这跟编辑指令有点区别。
:q 结束编辑(quit)
:q! 不存档而要放弃编辑过的文件。
:w 保存文件(write)其後可加所要存档的档名。
:wq 即存档後离开。
zz 功能与 :wq 相同。
:x 与:wq相同
分享到:
评论

相关推荐

    IBM vi 入门 巧表单方法

    vi 入门 -- 巧表单方法 技术级别: 初级 Robbins, Daniel 2001年2月8日 这篇免费、dW 独有的教程阐述了如何使用功能强大的可视化编辑器 vi。它使用一种快速“巧表单”方法,目的是使您不用花费大量时间,就...

    unix下的vi入门命令集锦

    【Unix下的vi入门命令集锦】是针对初学者整理的一份详细教程,涵盖了在Unix环境中使用vi编辑器的基础操作。vi是Unix系统中广泛使用的文本编辑器,它分为指令模式和输入模式,提供了丰富的编辑功能。 1. **wc命令**...

    VI入门视频

    **VI入门视频** VI(Vim Improved)是一个强大的文本编辑器,在Linux和Unix系统中广泛使用,也适用于其他操作系统。这个“VI入门视频”提供了一个简短而全面的教程,帮助初学者快速掌握VI的基本操作,并能将其应用...

    Vi入门 txt Linux

    ### Vi编辑器入门指南 Vi(Visual Editor)是一款在Unix及类Unix系统中广泛使用的文本编辑器,也是Linux系统中最常见的编辑工具之一。对于初学者而言,掌握Vi的基本操作是进行系统管理和编程不可或缺的技能。 ####...

    vi入门级学习 扫盲行动

    vi编辑器是Unix和Linux系统中的标准文本编辑器,其功能强大且历史悠久。vi有三种主要的操作模式:命令模式、插入模式和底行模式。在命令模式中,用户可以进行光标移动、文本删除、复制和粘贴等操作;插入模式则允许...

    VI入门教程

    VI的入门教程 还不错 可以先用来熟悉 20字你妹啊

    linux vi入门

    linux下编辑软件vi的入门好教材,不要错过哦~

    vi命令入门详解.txt

    ### Vi命令入门详解 #### Vi简介 Vi,全称为“Visual interface”,是在Linux系统中极为重要的文本编辑器,类似于DOS系统下的Edit程序。Vi具备强大的文本操作能力,包括但不限于输出、删除、查找、替换、块操作等...

    UNIX正文编辑程序VI命令简介

    2.0 - vi入门 2.1 - 有什么游戏帮助我们学习vi吗? 2.2 - 命令模式和插入模式有什么区别? 2.3 - 等等,我的键盘没有键,我该怎么办? 2.4 - 那些~s是什么东西? 2.5 - 我无法习惯用 hjkl, 你有什么建议吗? 2.6 - 我...

    Vi编辑器完全使用手册

    #### 二、Vi入门 - **启动Vi**:通过命令`vi <文件名>`启动Vi编辑器。如果文件不存在,则创建新文件;如果文件已存在,则加载该文件。 - **两种模式**:Vi有指令模式和输入模式两种主要模式。 - **指令模式**:在此...

    linux vi视频课程

    linux vi 入门级视频教程,初学者的挚爱!

    UNIX vi编辑器完全使用手册

    #### 二、Vi入门 ##### (一)进入vi - **启动vi**: 在系统提示符下输入`vi <文件名>`即可启动vi编辑器。如果没有指定文件名或者文件不存在,vi会创建一个新文件。 - **显示状态**: 进入vi后,屏幕左方会出现波浪...

    unix 系统vi编辑大全书

    1. **Vi入门**:介绍如何启动和退出Vi,以及基本的光标移动命令,如`h`(向左)、`j`(向下)、`k`(向上)、`l`(向右)。 2. **编辑操作**:讲解如何插入文本、替换文本、删除字符和行,以及撤销和重做操作。 3....

    vi 编辑器使用手册

    #### 二、Vi入门 ##### (一)进入vi - **启动方式**:在命令行中输入`vi <文件名>`来打开或创建一个文件。 - **状态指示**:进入`vi`后,屏幕左方会出现波浪线,表示当前行为空。 ##### (二)两种模式 - **...

    vi编辑器的使用

    #### 二、Vi入门 - **进入vi编辑器**:在Unix命令行界面中输入`vi <文件名>`即可打开vi编辑器。如果文件不存在,vi将会创建一个新文件供用户编辑。 - **vi的两种模式**:vi有两种主要的工作模式——指令模式和输入...

    Unix vi编辑器完全使用手册.doc

    2. **Vi入门** - 进入Vi:在命令提示符下输入`vi <档案名称>`,可以打开已存在的文件或创建新文件。 - **指令模式**:在此模式下,用户输入的键会被解析为命令。例如,`i`键用于进入输入模式,`a`在当前光标后插入...

    vi 编辑器使用指南 unix linux

    #### 二、Vi入门 ##### (一) 进入vi 要进入vi编辑器,可以在命令行提示符下输入`vi <文件名>`。如果指定的文件存在,vi将会加载该文件;如果文件不存在或者未指定文件名,则会创建一个新的文件。进入vi编辑器后,...

    wxh Unix Vi编辑器完全使用手册.doc

    #### 二、Vi入门 ##### (一)进入vi 启动vi编辑器非常简单,只需在命令行输入`vi <文件名>`,vi编辑器会自动加载指定文件进行编辑,若文件不存在,vi则会创建一个新的文件供用户编辑。成功进入vi后,屏幕左侧会...

    vi从入门到精通

    ### VI编辑器从入门到精通 #### 一、VI编辑器简介 VI(Visual Editor)是一种功能强大的文本编辑器,广泛应用于各种Unix系统及其衍生版本(如Linux等)。与现代带有图形用户界面(GUI)的编辑器不同,VI编辑器在...

Global site tag (gtag.js) - Google Analytics