老古开发网首页
导航:老古开发网首页文章索引文章分类EDA/IC设计→[VI编辑器的使用]
| -文章搜索 - 最新文章 - |

VI编辑器的使用

发布时间:2006年7月8日 点击次数:949
来源:   作者:
 
VI编辑器的使用

1 进入
    vi     file ... 编辑一至数个文件
    vi -ew file ... 阅读一至数个文件
    vi -r  file     恢复曾被意外中断的文件并编辑

2 基本模式及相互转换
                         命令模式
     ---------->AaCcIiOoRSs O...gBbDd...Zz+ -^$"'% /?:  <--------
                                                               
                                                               
             V                                     V            
          插入模式                              底线模式        
     ------<ESC>                                  <ESC><CR>------

3 命令模式
    (1)光标移动
         h                              左移
         j                              下移
         k                              上移
         l                              右移
                                       到首列
         ^                              到本行首个非空白字符
         $                              至末列
         25                             至25列
         <CR>,+                         至下行首
         -                              至上行首
         G                              至末行首
         25G                            至25行首
         <CTRL>f                        下滚一幕
         <CTRL>b                        上滚一幕
         <CTRL>d                        下滚半幕
         <CTRL>u                        上滚半幕
         b,B                           至字首,串首
         e,E                           至字尾,串尾
         w,W                           至下字首,下串首
         %                              至(.)或{.}之配偶
         H                              至屏頂
         M                              至屏中
         L                              至屏底
         Z<CR>                          本行升頂
         Z.                             本行坐中
         Z-                             本行下底
         mx                             光标现处位置命名为x,其所在行亦称为x行
         `x                             至x位置
         'x                             至x行的行首
         [[,]]                          至上、下模块头
         {,}                            至上、下邻近空行
         '',``                          至光标先前所在行之行首或其先前所在位置
        
    (2)搜索字符
                    初次搜索            继续搜索
                 右下方向  左上方向    原方向  反方向  
                    fx       Fx          ;       ,
         行内找字符 tx       Tx          ;       ,
        
    (3)小改
         rx                             改本字符为x
         >>                             行首插一平移量(相当于编辑状态的Tab键)
         <<                             行首删一平移量
         J                              合并下一行
         ~                             英文字母改变大小写
        
    (4)剪贴
         x                              删本字符
         dd                             删一整行
         yy                             存一整行
         p                              贴于右下
         "xdd                           删本行存入x缓冲区
         "xyy                           存本行入x缓冲区
         "xp                            取x缓冲区内容贴于右下
         X                              删左字符
         D                              删至行尾
         Y                              存一整行
         P                              贴于左上
         ("x有名缓冲区,用户指定)
        
    (5)转换到插入模式
         i                              插于左
         a                              插于右
         o                              下开行
         cc                             先删去整行
         s                              先删去一个字符
         r                              逐字替换
         I                              插于行首
         A                              插于行尾
         O                              上开行
         C                              先删至行尾
         S                              先删去整行
        
    (6)其他
         .                              重复修改命令
         u                              取消前次变化
         U                              整行复原
         <CTRL>g                        显示本行在文中的位置
         <CTRL>r                        刷新屏幕
         ZZ                             存盘退出vi
        
    (7)变化
         大部分命令前可加数字,以示该命令所做动作的重复次数。
         如3h,12dd,5j,4x,6X,13s,7cc,4>>,2e,3+,4-,...等等。
        
         dd,yy,cc,<<和>>等双字符命令的第二个字符可用适当
         的定位命令替换,以改变并限定该命令所晗动作的作用范围。
         如db,dG,d1G,ce,c^,c3-,cfx,y'x,c%,>'x,<L,...等等。


4 插入模式
    <DEL>或<BS>                    删一字符
    <CTRL>t                        行首插一平移量
    <CTRL>d                        行首删一平移量
    <CTRL>u                        删至行首
    <CTRL>c                        拷贝选中文字
    <CTRL>v                        粘贴已拷贝文字
    <CTRL>z                        取消前次变化
    <CTRL>y                        重做前次取消的变化
    <ESC>                          结束插入


5 底线模式
    (1)搜索字符串
                            初次搜索              继续搜索
                      右下方向     左上方向    原方向  反方向      
                        /str        ?str        n       N
             文内找串   /\<str\>    ?\<str\>    n       N
             (\<,\>分别表示左、右不连,可单独使用)
      
    (2)行命令
             :引导行命令,在底线输入一条完整的行命令
             <CR>或<ESC> 执行命令,返回命令模式
             多数行命令需用行号说明本命令作用范围,范围说明示例
             3 第3行                        3,12 第3行至第12行
             . 本行                         .+5   自本行下数5行
             $ 末行                         $-6  自末行上数6行
             % 全文,即1,$之简写
            
             行内特殊位置标志
             ^ 行首                         $ 行尾
            
             常用行命令示例
             :25                          至25行
             :.,$s/str1/str2/g            本行至末行,全部str1换为str2
             :%s/str1/str2/gc             全文中str1换为str2,末尾c表示需要逐一确认
             :.,.+5s/^/#/                  本行至其下第5行,行首均插入#
             :.-5,.s/;$//                  本行上第5行至本行,行尾若有;均删之
             :kx                          命名本行为x行
             :'x,.s/str//g                删去本行至本行中全部str
             :s/\<str\>//g                删去本行内全部左右不连的str
             :r file                      读入文件file,插域第0行下,即第一行上
             :.,$d                        删去本行至末行
             :u                           取消前次变化
             :f [file]                    显示正在编辑的文件名,或将其改名为file
             :n                           编辑下一个文件,本命令仅用于编辑多个文件
             :vi file                     编辑另一个文件file
             :vi #                       编辑先前编辑的文件
             :w [file]                    存盘,可另指定存盘文件名file
             :wq [file]                   存盘并退出vi,可另指定存盘文件名file


欢迎进入老古论坛进行讨论
[EDA/IC设计] 相关文章:
[转载]fpga与cpld区别(2)
简介:
一、 1.CPLD CPLD主要是由可编程逻辑宏单元(LMC,Logic Macro Cell)围绕中心的可编程互连矩阵单元组成,其中LMC逻辑结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于 CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。到90年代,CPLD发展更为迅速,不仅具有电擦除特性,而且出现了边缘扫描及在线可编程等高级特性。较常用的有Xilinx公司的EPLD和Altera公司的CPLD。 2. FPGA FPGA通常包含三类可编程资源:可编程逻辑......

移位寄存器
EDA aids power management in the design flow
HDL编码风格与编码指南
UNIX 常用指令总结,给大家分享!!
vi命令总结,以资共享!
[转帖]DSP与普通MCU的区别
AMBA总线介绍
经典常见术语表-4
关于verilog综合
 
下一个:[通信网络]通讯世界:诺基亚西门子合并真相彻底调查
简介:
  2006年6月19日,诺基亚和西门子联合宣布,合并诺基亚网络事业部和西门子与运营商相关的业务部门,组建新公司,新公司的名称为Nokia Siemens Networks,双方各占50%股份。以2005年的收入为参考,新公司年收入高达158亿欧元(诺基亚66亿欧元,西门子92亿欧元)。由此,继爱立信收购马可尼、阿尔卡特收购朗讯之后的又一个电信设备制造商并购大案正式诞生。    为什么合并?   诺基亚和西门子的联姻与今年4月阿尔卡特和朗讯的合并具有很大的共性。首先,美国和欧洲运营商的整合是主要原因。随着运营市场竞争越来越激烈,运营商纷纷进行整合以成为集固定、无线......
 

上一个:[综合电子]英特尔在爱尔兰的第三条65纳米生产线投产

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:10分钟 执行时间:16毫秒