Debian下vi的使用方法_第1页
Debian下vi的使用方法_第2页
Debian下vi的使用方法_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Debian 下 vi 的使用方法原文出处:今天第一次用 debian ,使用 vi 写一个 shell 脚本,一下子傻眼了,怎么删不掉呢? 快快上论坛问问高手们,一问才知道这才是真正的 vi ,以前用的都是 redhat 下的 vim 怎 么办呢?高手们说用 apt-get install vim 就可以,那我就安呗,安了半天总是提示找不 到,汗,又查论坛,去sir上和CU上找了半天,才知道是我的source.list没有设定,设定好了,再安装,只是提示的错误比以前长了一些,别的没显出什么来,汗经验就是在这 样一点一点的增长!慢慢来!找了一篇 vi 的使用文章,贴出来!对以后帮助! Vi 使

2、用说明1、Vi 简介Vi 是 Unix 世界里极为普遍的全萤幕文书编辑器, 几乎可以说任何一台 Unix 机器都 会提供这套软体。 Linux 当然也有,它的 vi 其实是 elvis (版权问题),不过它们都 差 不多。熟悉DOS下的文书处理後,也许会感到vi并不好用;Unix上也已经发展出 许多 更新、更好用的文书编辑器, 但是并不一定每一台 Unix 机器上都会安装这些额外的软体。 所以,学习 vi 的基本操作还是有好处,让你在各个不同的机器上得心应手。2、Vi 基本观念Unix 提供一系列的 ex 编辑器,包括 ex, edit 和 vi 。相对於全萤幕编辑器,现在 可能很难想像如何使

3、用 ex, edit 这种行列编辑器(有人用过 DOS 3.3 版以前所附的 EDLIN 吗?)。 Vi 的原意是 Visual ,它是一个立即反应的编辑程式,也就是说可 以立 刻看到操作结果。也由於 vi 是全萤幕编辑器,所以它必须控制整个终端机萤幕哪里该显 示些什麽。而终 端机的种类有许多种,特性又不尽相同,所以 vi 有必要知道现在所使用 的是哪一种终 端机。 这是藉由 TERM 这个环境变数来设定, 设定环境变数方面请查看所使 用 shell 的说明。(除非执行 vi 的时候回应 unknow terminal type ,否则可以不用设 定。)只要简单的执行 vi 就可以进入 vi

4、的编辑环境。在实际操作之前先对它有个概略的 了 解会比较好。 Vi 有两种模式,输入模式以及指令模式。 输入模式即是用来输入文字资 料, 而指令模式则是用来下达一些编排文件、 存档、以及离开 vi 等等的操作指令。 当 执行 vi 後,会先进入指令模式,此时输入的任何字元都视为指令。3、进入与离开要进入vi可以直接在系统提示字元下键入 vi v档案名称,vi可以自动帮你载入 所要编辑的档案或是开启一个新档。 进入 vi 後萤幕左方会出现波浪符号, 凡是列首有 该 符号就代表此列目前是空的。要离开 vi 可以在指令模式下键入 :q, :wq 指令则是 存档 後再离开(注意冒号)。要切换到指令模式

5、下则是用 ESC 键,如果不晓得现在 是处於什 麽模式, 可以多按几次 ESC ,系统会发出哔哔声以确定进入指令模式。4、Vi 输入模式要如何输入资料呢?有好几个指令可以进入输入模式:新增 (append)a 从游标所在位置後面开始新增资料,游标後的资料随新增资料向後移动。A 从游标所在列最後面的地方开始新增资料。插入 (insert)i 从游标所在位置前面开始插入资料,游标後的资料随新增资料向後移动。I 从游标所在列的第一个非空白字元前面开始插入资料。开始 (open)o 在游标所在列下新增一列并进入输入模式。O 在游标所在列上方新增一列并进入输入模式。 也许文字叙述看起来有点繁杂,但是只要

6、实际操作一下马上可以了解这些操作方式。实 务很重要, 尤其是电脑方面的东西随时可以尝试及验证结果。 极力建议实际去使用它而 不要只是猛 K文件,才有事半功倍的效用。(注:此段为废话。)5、Vi 基本编辑配合一般键盘上的功能键,像是方向键、 Insert、Delete 等等,现在你应该已经可以利用 vi 来处理文字资料了。 当然 vi 还提供其他许许多多能让文字的处理更形 方 便,有兴趣的看倌请继续。在继续下去之前先来点 BCC 吧。电脑有许多厂牌,不同的硬体及作业系统。 PC 也不 是 仅仅只有 IBM PC 及其相容品而已。事实上,包括键盘,终端机等等往往都有不同的规 格。这代表什麽?在文书

7、编辑软体上会遇这样的问题,某些电脑的键盘上没有特定的几个功能键!那麽 不 就有某些功能不能用了?这个问题在 Unix 系统上也一样, 几乎各大电脑厂商都有自己 的 Unix 系统,而 vi 的操作方法也会随之有点出入。我们固然可以用 PC 的键盘来说 明 vi 的操作,但是还是得提一下这个问题。 删除与修改 何谓编辑?在这里我们认为是文字的新增修改以及删除,甚至包括文字区块的搬移、 复 制等等。这里先介绍 vi 的如何做删除与修改。(注意:在 vi 的原始观念里, 输入跟 编 辑是两码子事。 编辑是在指令模式下操作的, 先利用指令移动游标来定位要进行编辑 的地 方,然後才下指令做编辑。 )x

8、删除游标所在字元。dd 删除游标所在的列。r 修改游标所在字元, r 後接着要修正的字元。R 进入取代状态,新增资料会覆盖原先资料,直到按 ESC 回到指令模式下为止。s 删除游标所在字元,并进入输入模式。S 删除游标所在的列,并进入输入模式。其实呢,在 PC 上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要 删 除字元, 直接按 Delete 不就得了。 而插入状态与取代状态可以直接用 Insert 切 换,犯不着用什麽指令模式的编辑指令。不过就如前面所提到的,这些指令几乎是每台 终 端机都能用,而不是仅仅在 PC 上。在指令模式下移动游标的基本指令是 h, j, k, l。想来

9、各位现在也应该能猜到只要直 接用 PC 的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。当然 PC 键盘也有不足之处。有个很好用的指令 u 可以恢复被删除的资料,而 U 指 令 则可以恢复游标所在列的所有改变。这与某些电脑上的 Undo 按键功能相同。6、Vi 进阶应用相信现在对於 vi 应该已经有相当的认识。处理文字也不会有什麽麻烦才对。如果有 兴 趣善用 vi 的其它功能进一步简化操作过程,不妨继续看下去。移动游标由於许多编辑工作是藉由游标来定位,所以 vi 提供许多移动游标的方式,这个我们 列 几张简表来说明(这些当然是指令模式下的指令) :丨指令丨说明丨功能键 丨$

10、丨移动到游标所在列的最後面1 11 EndI1CTRLd丨向下半页1 1II1CTRLf1丨向下一页I PageDownI1CTRLu11丨向上半页11II1CTRLb1丨向上一页1 1I PageUp I11指令I说明I厂H1I移动到视窗的第一列IrM1n nI移动到视窗的中间列IrL1n nI移动到视窗的最後列Irb1n nI移动到下个字的第一个字母Irw1n nI移动到上个字的第一个字母Ire1n nI移动到下个字的最後一个字母Ir1 Ain nI移动到游标所在列的第一个非空白字元I1 1iii1指令I说明厂n-11nI减号移动到上一列的第一个非空白字元I前面加上数字可以指定移动到以上

11、n列rn+11n nI加号移动到下一列的第一个非空白字元I前面加上数字可以指定移动到以下 n列rnGin nI直接用数字n加上大与G移动到第n列1 1指令L-iiI说明I丄jI fx丨往右移动到x字元上I Fx|往左移动到x字元上 txTx丨往右移动到x字兀前丨往左移动到x字兀前1III;,1十I丨配合f&t使用,重复一次丨配合f&t使用,反方向重复一次1III/string十I丨往右移动到有string 的地方I?stringI往左移动到有string 的地方1II n十II配合/&?使用,重复一次INI配合/&?使用,反方向重复一次1 1I指令1I说明111I备注IIn(十I左括号移动到句

12、子的最前面十I句子是以1I前面加上数字可以指疋往前移动n个句子I ! .? 三种符号来界定In)1I右括号移动到下个句子的最前面I前面加上数字可以指定往後移动1n个句子1IIIIn十I左括弧移动到段落的最前面十I段落是以1I前面加上数字可以指疋往前移动n个段落I段落间的空白列界定n11I右括弧移动到下个段落的最前面I前面加上数字可以指定往後移动1n个段落1II1不要尝试背诵这些指令,否则後果自行负责。它们看起来又多又杂乱,事实上这是文 字 叙述本身的障碍。 再强调一次, 实际去使用它只要几次就可以不经大脑直接下达这些奇 奇怪怪的指令,远比死记活背搞得模模糊糊强多了。 (注:若真的不经大脑而误删

13、资料与我 无关。另,此段为废话。 )7、进阶编辑指令 这些编辑指令非常有弹性,基本上可以说是由指令与范围所构成。例如 dw 是由删除 指 令 d 与范围 w 所组成,代表删除一个字 d(elete) w(ord) 。指令列表如下:d 删除 (delete)y 复制 (yank)p 放置 (put)c 修改 (change)范围可以是下列几个:e 游标所在位置到该字的最後一个字母w 游标所在位置到下个字的第一个字母b 游标所在位置到上个字的第一个字母$ 游标所在位置到该列的最後一个字母0 游标所在位置到该列的第一个字母) 游标所在位置到下个句子的第一个字母( 游标所在位置到该句子的第一个字母 游

14、标所在位置到该段落的最後一个字母 游标所在位置到该段落的第一个字母 说实在的,组合这些指令来编辑文件有一点点艺术气息。不管怎麽样,它们提供更多 编 辑文字的能力。 值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里, 然 後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。某些 vi 版本,例如 Linux 所用的 elvis 可以大幅简化这一坨指令。如果稍微观察 一 下这些编辑指令就会发现问题其实是定范围的方式有点杂,实际上只有四个指令罢了。 指令 v 非常好用,只要按下 v 键,游标所在的位置就会反白,然後就可以移动游标来设 定范围,接着再直接下指令进行编辑即可。对於整列操作, vi 另外提供了更方便的编辑指令。前面曾经提到过删除整列文字的 指 令 dd 就是其中一个; cc 可以修改整列文字;而 yy 则是复制整列文字;指令 D 则可 以删除游标到该列结束为止所有的文字。8、档案指令档案指令多以 : 开头,跟编辑指令有点区别。 例如前面提到结束编辑的指令就是 :q 。 现在就简单说明一下作为本篇故事的结尾::q结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论