`

Linux下vi的用法

阅读更多

进入vi后 有两种模式
1.编辑模式
2.命令模式

进入vi后默认是命令模式,所以不要乱按 就会得到dd的警告声,要输入文字的话 请按a后i 就可以开始输入文字拉!
输入结束后 请按esc键回命令模式
输入q就是退出
输入wq就是存盘后退出
输入q!放弃存盘强行退出

.
Vi 的使用

Vi 已经是 Unix 系统中标准的文字编辑器, 每个网管人员都必须熟悉它, 因为你会在维护系统时常常遇到它.
Vi 对初学者而言, 第一印象总是不好, 觉得它难用. 其实, 大家在用惯了办公室软件之后, 再回过头来用这些未见过的怪物, 难免无法适应, 这是很正常的. 但别忘了, 各位都将是学校中重要网管的人员,您的角色不再是纯粹的使用者, 而是一位面对复杂网络的管理者及问题解决者, 你必须能够亲手操控你的系统, 设定你的系统, 调整你的系统, 而这个过程, 你就不得不去面对 Vi.
不要拿 Word 的使用习惯来挑剔 Vi, 它们的作用方向不同, 风格也不同, 一旦您能上手, 也许你会喜欢上它. Vi 是网络管理人员的标准左右手.
So, 打开你的心, 接受会比反弹更有收获.

二. 开启档案, 关闭档案
vi ?名 开启档案
: 进入命令列的方法
q 离开 (命令列)
wq 存盘然后离开 (命令列)
q! 放弃存盘, 强迫离开 (命令列)
ZZ 存盘然后离开 (不在命令列使用)
:e ?名 在 Vi 中开启档案

三. Vi 的操作模式:
Vi 有二种主要的操作模式, ESC 键为单向的切换键(由本文输入模式回到编辑命令模式)
编辑命令模式 : 要 vi 做一些特定目的的动作. 如插入,附加,取代,修改,删除,移动光标,搜寻等等. 若是存盘等动作, 则需在命令列中下达, 欲切换至命令列, 需先按 :
本文输入模式 : 在此模式下, 任何字符, 皆被视为输入的数据.
一开始进入 Vi 之后, 即进入编辑命令模式, 你输入的每一个字符, 皆被预视为一个指令. 有效的指令会被接受, 若是无效的指令, 会产生 beep beep 声, 以示警告.
若想做输入的动作, 必须切换为本文输入模式, 切换的方法, 只要单按一个特殊意义的字符键即可, 如下所示:
按 i 或 I 插入状态
按 a 或 A 附加状态
按 R 取代状态R 会进行连续字符取代
按 s 或 S 删除一个字符;删除光标所在那一列
按 cw, c2b, c$, c0 修改状态
按 o 或 O 新增空白列
你不必一下子全用上, 只要会 i, a, o 这个三个模式即可胜任愉快, 因为大部份时候, 你也只用这三个.
OK, 现在你可以试着在本文输入模式下, 键入一些资料看看. 然后, 按 ESC 切换回编辑命令模式.

四. 移动光标:
Vi 为了适用于各种不同的终端机模式, 因此以字键的方式来操控光标.
k j h l 上 下 左 右
Enter 换列
w b 往前一个 word ; 倒退一个 word
0 $ 至该列开头 ; 至该列尾端
+ - 往下一列; 往上一列
请记住一个要诀:
在 Vi 中, 大部份的命令都可以在其前面加上数字, 该数字表示重复该命令的次数.
例如: 8l 表示往右移动 8 个字符, 3w 表示往前移动三个 word, 2b 表示倒退 2 个 word
注: word 的定义, 连续英数字元形成一个 word, 而其它特殊符号则每一个字符便是一个 word(除非连续特殊字符), 例如: --classify 中含有 2 个 word, 一个是 -- ; 一个是 classify
而 -x, 则有 3 个 word.
在特殊的终端机模式下, 方向键也是可以使用的. 如 linux 或 vt100.
其实大部份时候, 你仍可以保有使用方向键的习惯. 但大概只有 local 下才能使用 PgUp , PgDn, End, Home 等键喔!
不过, 若你所使用的终端机模式不支持方向键, 那么上表中的按键, 就相当重要了.

五. 卷页:
^f 往下一页 (forward)
^b 往上一页 (before)
^d 往下半个屏幕(down)
^u 往上半个屏幕(up)

六. 跳列:
你可以指定跳至某一列位置. 跳动之前, 先查看一下目前所在列数是多少.
^g 可以显示目前的位置, 如: "ls.txt" line 53 of 264 --20%-- col 16-23
上面表示, 目前是在第 53 列, 全部共有 264 列, 占该档百分之20的位置, 目前的光标, 实际是在第23行, 但只算成第16行, 因为中间有使用 tab 键.
80G 或 80gg 跳至第 80 列
G 跳至文件尾
gg 跳至文件头

七. 删除: (但不会进入本文输入模式)
x 删除一个字符
dd 删除一行
r 取代一个字符
以上皆针对光标目前的所在位置产生作用.
还有 dw, db, de, d0, d$ 等命令, 但你不须一下子全用上. 上表中这三个够用了.
记住一个要诀: Vi 的命令繁多, 但你真正用上手的不必多, 而且这些也就够了.

八. undo (回复动作):
若你对上一个动作反悔了, 可以使用 undo 的功能:
u 取消上一个动作所产生的改变
U 取消光标所在那一列所有的改变
:e! 取消所有的改变, 回复至未修改之前

九. 关键词搜寻/取代:
/ 关键词 往下搜寻关键词
? 关键词 往上搜寻关键词
n 重复搜寻命令(不管往下或往上)
N 和 n 相反方向
cw字符串 以该字符串取代原有的关键词
n. 继续取代该字符串的动作
%s/目标/取代/g 将目标字符串全换成取代字符串

十. 选取、复制与搬移:
Y 或 yy 选取光标所在那一列
5Y 或 5yy 选取光标列所在共5列(5 只是一个例子, 可改用其它数字)
p 将选取的内容, 复制至光标之后
P 将选取的内容, 复制至光标之前
cw, x, dd 等删除命令 会将被删除的内容放入 buffer 中, 配合 p 或 P 即可做出搬移的效果.

十一. 暂时跳出 Vi:
在编辑过程中, 你可能想要执行其它命令, 方法如下:
:! 命令 执行该令命
:sh 暂时跳出 Vi, 欲回 Vi 按 ^d 或 exit

分享到:
评论
1 楼 diyunpeng 2012-04-26  
这个我得学习一下。

相关推荐

    linux的vi用法

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他...

    Linux vi命令用法

    Linux当然也有,它的 vi 其实是 elvis(版权问题),不过它们都差不多。熟悉 DOS 下的文书处理後,也许会感到 vi 并不好用;Unix 上也已经发展出许多更新、更好用的文书编辑器,但是并不一定每一台Unix机器上都会...

    详解linux vi命令用法

    详解linux vi命令用法

    Linux下最基本的文本编辑器vi使用方法

    Linux下最基本的文本编辑器vi使用方法与技巧

    Linux下如何使用vi

    Linux下的vi的简单使用,方法适合新手学习使用

    linux 下vi编辑器的常见用法.txt

    linux 下vi 编辑器用法,常见的几种用法,适合新手学习使用。

    LINUX中VI的基本用法

    LINUX中VI的基本用法

    Linux中vi用法

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他...

    Linux编辑器vi使用方法详细介绍

    Linux编辑器vi使用方法详细介绍,大家可以学会怎么用VI来做LINUX配置!比较详细

    linux下vi的基本操作

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强 大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的, 因此您可以在...

    linux-Vi及gcc的使用方法

    这个资源是很详细的讲解,linux中vi和gcc的使用说明,及指令说明!

    linux vi使用详细图解

    在linux下vi编辑器使用最为广泛,方便快捷而且功能强大,除了简单的编辑功能外,你还了解熟悉多少呢。那就看看这两张详细的图解吧,是键盘图,上面标示了VI的具体命令使用方法,很实用而且很明了。

    linux下vi编辑器的操作使用方法宣贯.pdf

    linux下vi编辑器的操作使用方法宣贯.pdf

    linux系统命令及VI用法

    这个文件包含了linux系统常用命令及vi用法,其中含有个人在学习时增加部分说明,欢迎大家下载,希望对你有所帮助!谢谢!

    Linux中vi的使用

    Linux中vi的使用方法,让我们更方便的了解 Linux中vi的功能

    Linux vi编辑器使用方法

    Linux vi编辑器使用方法,简单易懂,很容易上手,哈哈哈

    linux_vi命令

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他...

Global site tag (gtag.js) - Google Analytics