手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

[转帖] vi 命令常见问题解答

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

scroll 1/2 window 下卷屏幕时滚动屏幕的数目,
同样这也是z命令输出的行数(z 输出2倍滚屏的大小)
sections= SHNHH HU 定义节的末尾(当使用命令[[ 和 ]] 时)
shell= (sh=) /bin/sh 缺省的SHELL,假如配置了环境变量SHELL的话,就使用变量
shiftwidth= (sw=) 8 当使用移动(shift)命令时移动的字符数
showmatch (sm) nosm 显示{, }, (, , [, 或 ] 的匹配情况
showmode noshowmode 显示您处在什么模式下面
slowopen (slow) 插入之后不要立即更新显示
tabstop= (ts=) 8 配置制表停止位(tabstop)的长度
taglength= (tl=) 0 重要标记的字符个数(0表示任何的字符)
tags= tag, /usr/lib/tags 定义包含标记的文档路径
term= 配置终端类型
terse noterse 显示简短的错误信息
timeout (to) timeout 一秒钟后键盘映射超时
ttytype= 配置终端类型
warn warn 显示"No write since last change"信息
window= (w=) 可视模式下窗口的行数
wrapmargin= (wm=) 0 右边距,大于0的话最右边的单词将折行,留出n个空白位置
wrapscan (ws) ws 查找到文档尾后再重头开始
writeany (wa) nowa 能够保存到任意一个文档去

(译注--这些选项在各种vi版本中都基本上大同小异,以SunOS带的vi为例,他没有这里列出来的open选项,
scroll的参数值也不同,还多出来一些选项,如flash,modelines,novice,tagstack等等)

7.0 - 建立 .exrc文档
任何命令输入模式下的命令(即 :命令)都能够在.exrc文档中使用,在.exrc中的命令在启动vi的时候自动
加载.尤其是源命令(so),缩写(ab)和宏定义都能够用.在.exrc中不允许有空行.以"开头的一行vi将把他当成
注释.

7.1 - .exrc文档的样本
以下的.exrc文档是个实际的例子, 我自己的. 因此,他就没有有些人想象的那样配置很多的选项.即便
如此,他还是给出一些基本的概念,而且他也相当易懂.

首先,记住您无须在命令前面加:号,因为他是缺省就添加了的.

"译注--以下是.exrc文档中的内容,为真实起见,而且事实上也相当浅显,我没有翻译其中的注释
" set wordwrap 9 characters from the right
set wm=9
" show matching parenthesis. When },), or ] is hit, show the opening
" {,(, or [ that matches it.
set sm
" set the shell to be /usr/local/bin/tcsh
set sh=/usr/local/bin/tcsh
" a few abbreviations
" this makes -l automatically become -Larry, and zidlle to be my
" name and email address.
ab zidlle E. Larry Lidz - ellidz@midway.uchicago.edu
ab -l -Larry
" uppercase V will run ispell -x (-x tells it not to save backups) on current
" file
map V :w
" K will center the line... (this doesn't work on SunOS -- ??)
map K :s/^[ ]*//
" v will reformat the current paragraph
map v {0!}fmt
" q runs a program to lock my terminal
map q :!lock2
" Splits a line in two at current cursor location, puts a > at the
"beginning of the line - useful for Usenet/email
map g may0O`ay$:s/./ /g

8.0 - vi的bug
我很想说vi中没有bug,但很不幸,他不是这样的. 这些bug都是初始版本vi中的,
他其他的一些变种就不一定有.
例如 _宏有时就运行的有问题.

9.0 - 术语表
假如有人提议说某个术语他不明白,我们将更新这个术语表.假如您有什么建议,
请一定要告诉我.

命令模式 command mode

命令模式是说我们在此模式下面能够向vi发命令(包括光标移动,编辑命令等等)

ed
UNIX里面一个非可视化的编辑器

<Esc>
escape键. 键盘上标记为escape(ESC)的一个键.有时候^[能够起到相同的作用.
假如没有escape键,您能够试试Meta键
ex
UNIX下的一个编辑器.任何vi中的:命令都是送给他处理的

插入模式 insert mode
插入模式是指我们能够在此模式下面键入文本.

宏 macro
宏是一些键的组合起来的快捷方式.例如,某个宏允许我们只敲一个键就能够执行
好几个不同的命令.

开放模式 open mode
开始模式是说vi启动的时候不能确定您的终端类型,或他肯定您的是个硬的或
电子管的终端

正规表达式 regular expressions (RegEx)
正规表达式,通常缩写为"RegEx",是一些关键字的集合,他允许用户在查找的时候有更大的
控制力度. RegEx是在UNIX下面用的,但是在很多程式中也用到了他.

sed
流-行式的编辑器.他没有界面,任何命令都是通过命令行的形式给出的.

vi
就是这个FAQ讨论的编辑器

rom98 回复于:2003-02-10 20:52:48
很好!

hmkart 回复于:2003-02-11 09:22:33
经典,收藏!

mjwaishelley 回复于:2003-02-11 11:33:30
收,精华区。。。。。。

cxyzl0 回复于:2003-02-11 11:51:06
经典,收藏!
thank you!

cxyzl0 回复于:2003-02-11 11:51:32
经典,收藏!
thank you!

sleuthyt 回复于:2003-02-11 11:53:06
这东东,我收了。

guest_client 回复于:2003-07-03 17:39:10
请问,我用vi 编辑文档时,在存盘退出时执行:wq,有提示"/bin/sh:没有找到命令",,如何解决,,SCO UNIX下,除了VI ,,更有什么在字符模式下的编辑器????再线等。。。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!