免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3243 | 回复: 0

ZZ:VIM常用命令(用于UNIX系统的编辑) [复制链接]

论坛徽章:
0
发表于 2010-01-19 16:23 |显示全部楼层
ZZ:http://blog.sina.com.cn/s/blog_4e705b0101000c4e.html
  
VIM
----------------------------------------------------------------------------------
恢复由于中断而丢失的文件
    当发生中断或主机终端断开时,你可能没有保存文件而非正常地退出vi。但是,系统在缓冲区中留有副本,当你重新启动系统时,可在vi
命令后加上选项 r 来恢复中断前的文件。
         vi  -r  filename
将一个文件插入另一个文件中
     vi为将一个文件“读取”(插入)到正在编辑的文件提供了方便。该命令的通用格式是:
        :line#  r  filename
     如果不指定一个行号,vi将该文件插入到当前光标的位置上。
     例如,如果要将文件orwell插入到文件paint的第84行,可以键入:
        :84  r  orwell     
     或者,可以将光标定位到第84行,然后键入:
        :r  orwell      
编辑多重文件
      vi允许编辑多重文件。例如,在编辑paint的同时再编辑文件orwell:
        1、首先,保存paint的当前工作。键入:w并按下Return
        2、要编辑orwell,则键入:n  orwell并按下Return
        3、对orwell进行更改并保存
        4、当做完orwell并已保存时,有三种方式可供选择:
退出vi。键入:q并按下Return。
返回到paint。键入:n# 并按下Return
使用命令:n# 在两个文件中前后交换
编辑一系列文件
       要想编辑一系列文件,则当从命令提示符下启动vi时,需在vi命令之后列表文件名:
        : vi  paint  orwell      
       文件以它们被列表的次序显示出来,第一个出现的是paint。在完成对paint的编辑时,键入:n,进入下一个文件orwell。要跳转到下
一个文件而不保存对当前文件所做的更改,则键入:n! 来代替:n。
       如果有一系列带有相关名字的文件(例如,testl、test2、test3),可以使用通配符来指定一组文件:
        :$ vi  test*
       这些文件按文件名的字母顺序出现,以便编辑。
在文件之间复制行
       为将行从一个文件复制到另一个文件、需按下列顺序来做:
        1、编辑第一个文件。
        2、将所需的行保存到命名缓冲区中,使用yank命令。例如,在缓冲区a中保存10行,则键入a10y。
        3、不退出vi,编辑下一个文件(在本示例中是orwell):
        :n orwell
~       更改字母的大小写(大写或小写)
     u       撤销前一个命令
     U       撤销对当前行所做的所有更改
    : u       撤销前一个最后行命令
删除文本  
      x       删除光标处字符  X   删除光标左边字符
    dw       删除词(或光标右边的部分词)
    dd       删除光标所在行
     D       删除光标右边的部分行
    dG       删除到文件结尾
   d1G       从文件开始到光标处
: 5,10d       删除行5—10
复制和移动文本  
     yy       移动或复制行
     Y       移动或复制行
     p       在当前行下面放置被复制或被删除的行
     P       在当前行上面放置被复制或被删除的行
: 1,2 co 3       复制行1-2并放置到行3之后
: 4,5 m 6       移动行4-5并放置到行6之后
设置行号  
: set nu        显示行号
:set nonu       隐藏行号
设置区分大小写
:set ic       查找应忽略大小写
:set noic       查找应区分大小写
查找一行  
    G       转向文件的最后一行
    1G       转向文件的第一行
    21G       转向第21行
查找和替换  
/string       查找串
?String       向后查找串
     n       沿着查找方向查找下一个出现的串
     N       沿着查找方向查找前一个出现的串
清除屏幕  
   Ctrl-L       清除(刷新)杂乱的屏幕
       将一个文件插入到另一个文件中
:r filename       在光标之后插入(读取)文件
:34  r  filename    在34行之后插入文件
保存和退出  
      :w       保存更改(写缓冲区)
:w filename       将缓冲区写入命名的文件
      :wq       保存更改并退出vi
       ZZ       保存更改并退出vi
       :q!       退出但不保存更改
:l1,l2 w filename  将文本中从行1到行2的内容保存到一个文件中。
管理进程:
----------------------------
例:$ ps - ef
         ……PID  PPID  ……  tty  ……  command
46    1    ……   005  ……  sh
56   46    ……   005   …… sort bigfile >out &
61   46    ……   005   …… ps -ef
  $ kill 56
恢复VI 文件:
以下列表提供对基本vi命令的一个方便的参考。
    命令            含义
   vi filename       打开或创建文件
   vi       打开新文件,以后再命名
   vi-r filename     恢复被毁坏的文件
   view filename   打开文件只读
更改文本  
    cw       更改光标右边的词(部分词)
    cc       更改行
     C       从光标处更改到行尾
     s        从光标处向前用字符替换串
     r       用另一个字符替换光标处的字符
  r Return       断开行
     J       合并当前行和下面行
    xp       光标处字符与其右边字符颠倒
~       更改字母的大小写(大写或小写)
     u       撤销前一个命令
     U       撤销对当前行所做的所有更改
    : u       撤销前一个最后行命令
删除文本  
      x       删除光标处字符  X   删除光标左边字符
    dw       删除词(或光标右边的部分词)
    dd       删除光标所在行
     D       删除光标右边的部分行
    dG       删除到文件结尾
   d1G       从文件开始到光标处
: 5,10d       删除行5—10
复制和移动文本  
     yy       移动或复制行
     Y       移动或复制行
     p       在当前行下面放置被复制或被删除的行
     P       在当前行上面放置被复制或被删除的行
: 1,2 co 3       复制行1-2并放置到行3之后
: 4,5 m 6       移动行4-5并放置到行6之后
设置行号  
: set nu        显示行号
:set nonu       隐藏行号
设置区分大小写
:set ic       查找应忽略大小写
:set noic       查找应区分大小写


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105494/showart_2153327.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP