吉行天下, 力挽狂澜

----------吉豕皮, 力一女共筑----------
随笔 - 35, 文章 - 2, 评论 - 3, 引用 - 0
数据加载中……

Vi高级用法

参考:http://sed.sourceforge.net/sed1line_zh-CN.html 
</abc>         向前查询abc  
  <?abc>        向后查询abc  
  <n>             向前继续查询  
  <N>            向后继续查询   

  标记文本    
    mchar     用字母char标记当前光标的位置    
    `char     移至char所标记处    
    'char     移至char标记所在行的开头处    
    "       移至当前行上一次所在位置(在光标移动之后)――一个双引号    
    ''    移至当前行上第一次所在位置的行的开头处(在光标移动之后)―  
                                    ―两个单引号  

快速块复制  
   
  用m   char标识某行(如   mb)  
  移动到复制的起始行,y'b,就可以复制整块  
  将整块复制到制定的‘寄存器’   "qy'b  
  将寄存器中的数据插入到某位置   "qp  
   
  在寄存器中保存的块在整个vi过程中有效(包括用e   重新编辑其他文件)
改tab的空格数set   ts=N

  %   -   移至匹配的括号  
  xp     -   交换两个字符  
  y[cursor   movement]   -   光标移多少复制多少,如yw,   y2w,   y2l  
  .   -   repeat   last   command  
  q<reg>   -   开始录制宏,存入<register>Register中。  
  @<reg>   -   回放<reg>中的宏  
切换大小写字母用“~”

用命令行编辑功能重调用命令:
在KSH中:set -o vi
或在.profile中:EDITOR=/usr/bin/vi;export EDITOR

SHELL中预定义的变量:
$$当前执行的进程PID
$当前执行的shell文件名
$#传递给shell的所有位置参数个数
$*传递给shell的所有位置参数值
$?上一条命令的执行返回码(0表示成功)
$!上一条后台进程的pid
$1-$9对应的前九个参数
${10}-${n}对应更多的参数(只对KSH)

expr使用程序:
用于实现整数算数运算,组织表达式
例:
   $var1=6
   $var2=3
   $expr $var1/$var2
   2
   $expr \($var1+$var2\)\*5
   45

循环语句:
&&和||
利用命令的返回码决定下条命令是否执行
command1 && command2
command1 || command2

if语句:
if (条件)
   then (执行一组命令)
   else(执行另一组命令)
fi

for语句:
for 名字 in  字
   do 
      (执行一组命令)
   done

while语句:
   while(表达式)
   do 
      (执行一组命令)
   done

test表达式或[ 表达式 ]
-f file file是一个文件
-d file file是一个目录
-r file file可读
-w file file可写
-x file file可执行
-s file file长度为非零

read命令从标准输入读入值,赋给shell变量:
read name 从命令行读入值放到变量name里,之后可用$name调出

posted on 2007-07-06 13:36 吉豕皮 阅读(292) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。