荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Pazu (自大狂的教训), 信区: Linux
标  题: Re: 寻找 VI 详细命令解释(汉语最好)(fwd)
发信站: BBS 荔园晨风站 (Wed Feb  9 20:16:33 2000), 转信

        中文的,比Lg师兄的英文那篇好多啦.


【 以下文字转载自 Pazu 的信箱 】
【 原文由 Pazu.bbs@bbs.szu.edu.cn 所发表 】
发信人: Iam_Sh@bbs.ustc.edu.cn (雨衣), 信区: Linux
标  题: Re: 寻找 VI 详细命令解释(汉语最好)(fwd)
发信站: 中国科大BBS站 (Wed Sep 23 14:02:32 1998)
转信站: ShenZhen-University!clinux.ml.org!linux.ustc.edu.cn!ustcnews!ustcbbs

> ==> qiu.bbs@bbs.swjtu.ed                     说道:
**************
* 命令模式下 *
**************
  ...           是指有些东西需要在命令之前或之后指明.这通常是说光标的移动键
                (h,j,k,l,w,b等等)或者是指行号.
  #             (这里#代表一个数字) 执行n次后面的命令...
  :             进入ex模式
  )             下一句
  (             上一句
  }             下一段
  {             上一段
  ]]            下一节
  [[            上一节
  0             行的开头
  $             行的末尾
  ^             行的第一个非空白字符
  +             下一行的开头
  -             上一行的开头
  (空格)        下一个字符
  (回车)        下一行
  /             向前搜索
  ?             向后搜索
  %             查找当前小(中,大)括号的匹配字符
  ,             逆向重复上一个f,F,t或T操作
  ;             重复上一个f,F,t或T操作
  .             重复上一个操作
  `             转到标记处
  '             转到标记所在行的开头
  ``            查找前回到上一个做标记的地方
  ''            查找前回到上一个做标记所在行的开头
  ~             切换字符的大小写
  "             保存到寄存器中
  !!            重复上一次SHELL命令
  !             把后面的文本送给命令, 取代输出(例如, !}fmt把当前的段落
                送给命令fmt处理,然后用fmt返回的东西替换输出.)
  >>            右移当前段落一个移动宽度(shiftwidth)
  <<            左移当前段落一个移动宽度(shiftwidth)
  >%            从当前到匹配小(中,大)括号之间的文本右移
  <%            从当前到匹配小(中,大)括号之间的文本左移
  (似乎漏了一个符号|, 移动到某一列----译注)
  a             在当前位置之后添加
  A             在当前行的末尾添加
  ^a            没有使用
  b             上一个单词的开头
  B             上一个单词的开头,忽略标点符号
  ^b            上移一屏
  c             覆盖...
  C             覆盖到行末尾
  ^c            终止插入模式,在命令模式没有用
  d             删除...
  D             删除到行末尾
  ^d            下移半屏,如果在插入模式下则移到上一个移动宽度(ShiftTab)处
  e             单词的末尾
  E             单词的末尾,忽略标点符号
  ^e            屏幕下卷一行
  f             查找...
  F             向后查找...
  ^f            下移一屏
  g             未用
  G             ...跳至[缺省是到文件末尾]
  ^g            显示状态栏
  h             左移
  H             屏幕上的第一行
  ^h            在插入模式下是退格,命令模式下是左移
  i             在当前的位置前面插入
  I             在本行的第一个非空白字符前面插入
  ^i            插入模式下是制表键,命令模式下未用
  j             下移
  J             把下一行合并到本行
  ^j            命令模式下是下移,插入模式下是建一个新行
  k             上移
  K             未用
  ^k            未用
  l             右移
  L             屏幕中的最后一行
  ^l            重绘屏幕
  m             把当前位置标记到寄存器中
  M             屏幕的中间行
  ^m            回车
  n             重复上次查找
  N             逆向重复上次查找
  ^n            命令模式下是下移
  o             在当前行的下面建一个新行
  O             在当前行的上面建一个新行
  ^o            未用
  p             在当前行的下面粘贴
                (译注--应为在当前位置的后面粘贴)
  P             在当前行的上面粘贴
                (译注--应为在当前位置的前面粘贴)
  ^p            命令模式下是上移
  q             未用
  Q             退出并且启动ex
  ^q            未用
  r             覆盖当前的字符
  R             在插入模式下一直覆盖字符
  ^r            在命令模式下面重绘屏幕
  s             替换
  S             替换整行
  t             到...
  T             向后到...
  ^t            移到下一个移动宽度(shifttab)处
  u             撤消上一次操作
  U             撤消对本行的所有修改
  ^u            上移半屏
  v             未用
  V             未用
  ^v            未用
  w             下一个单词的开头
  W             下一个单词的开头,忽略标点符号
  ^w            命令模式下未用,在插入模式下是到上一个单词的开头处
  x             删除当前字符
  X             删除前一个字符
  ^x            未用
  y             复制...
  Y             复制整行
  ^y            屏幕上卷一行
  z             重新配置当前行周围的屏幕
  ZZ            保存之后退出
  ^z            未用

**************
* 末行模式下 *
**************
  :r <文件>     把<文件>读入到当前文档
  :r !<命令>    把<命令>的输出插入到当前文本中
  :nr <文件>    把<文件>插入到第n行
  :!<命令>      运行<命令>,然后返回
  :sh           转到SHELL
  :so <文件>    读取<文件>,再执行文件里面的命令
                (译注--文件中的命令应该都是一些ex命令)
  :x            保存之后退出
  :wq           保存之后退出
  :l1,l2w <文件>把第l1和第l2行之间的文本写到<文件>中去,如果没有指定<文件>,
                vi就假定是当前文件,如果没有指定l1,l2,就假定是整个文件(就成了:w)
  :w >> <文件>  添加到<文件>末尾. 也可以使用行号
  :w!           覆盖当前文件
  :q            退出
  :q!           不存盘就退出
  :e <文件>     不离开vi编辑<文件>
  :e!           重新编辑当前文件,忽略所有的修改
  :n            编辑下一个文件
  :e +n <文件>  从第n行开始编辑<文件>,如果超过了末尾,就从末尾开始编辑
  :e#           编辑替换文件(如果使用了命令:e<文件>,替换文件就指的是原始文件)
  :args         显示所有要编辑的文件
  :rew          重新回到第一个编辑的文档
  :map m n      创建一个宏(使 m 做 n)
  :map! m n     创建一个插入模式的宏(使 m 做 n)
  :unmap m      删除宏m
  :unmap! m     删除插入模式的宏m
  :ab <1> <2>   缩写,敲<1>的时候用<2>取代
  :unab <1>     取消缩写<1>
  :set <选项>   设置<选项>...

--
※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
--
※ 转寄:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.215]
--
※ 修改:·Pazu 於 Feb  9 20:17:16 修改本文·[FROM: 192.168.0.189]
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.0.189]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店