知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

文本编辑器Vi常用命令

发布时间:2014-09-05 15:34:08作者:知识屋

文本编辑器Vi常用命令
 
Vi是Linux/Unix上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
  www.zhishiwu.com  
  Vi没有菜单,只有命令。
 
  vi filename 进入命令模式,命令模式进入到插入模式,可使用i、a、o键
 
  1、插入命令
 
    a  在光标后附加文本
 
    A  在本行行末附件文本
 
    i  在光标前插入文本
 
    I  在本行开始插入文本
 
    o  在光标下插入文本
 
    O  在光标上插入文本
 
  2、定位命令
 
    h或方向左键  左移一个字符
 
    j或方向下键  下移一行
 
    k或方向上键  上移一行
 
    l或方向右键  右移一个字符
 
    $  移至行尾
 
    0  移至行首
 
    H  移至屏幕上端
 
    M  移至屏幕中央
 
    L  移至屏幕下端
 
    :set nu  设置行号
 
    :set nonu  取消行号
 
    gg  到第一行
 
    G  到最后一行
 
    nG  到第n行
 
    :n  到第n行
 
  3、删除命令
 
    x  删除光标所在的字符
 
    nx  删除光标所在处后n个字符
 
    dd  删除光标所在行
 
    ndd  删除n行
 
    dG  删除光标所在行导末尾的内容
 
    D  删除从光标所在行到末尾的内容
 
    :n1,n2d  删除指定范围的行
 
  4、复制和剪切命令
 
    yy或者Y  复制当前行
 
    nyy或者nY  复制当前行一下n行
 
    dd  剪切当前行
 
    ndd  剪切当前行以下n行
 
    p或者P  粘贴在当前光标所在行下或行上
 
  5、替换和取消命令
 
    r  取代光标所在处的字符
 
    R  从光标所在处开始替换字符,按Esc键结束
 
    u  取消上一步操作
 
  6、搜索和替换命令
 
    /string  向前搜索指定命令,搜索时忽略大小写:set ic ,如搜索ftp:  /ftp
 
    n  搜索指定字符串的下一个出现位置
 
    :%s/被替换的字符串/替换成的字符创/g  例如把全文的ftp替换成hello  :%s/ftp/hello/g
 
    :n1,n2s/被替换的字符串/替换成的字符创/g  在一定的范围内替换字符串
 
  7、保存退出命令
 
    :wq 或者 ZZ 保存退出
 
    :q!  不保存退出
 
    :wq!  强行保存退出 (root或者文件的所有者)
 
  8、应用实例
 
    1)在vi中导入文件 :
 
      :r 文件
 
      如:导入/test目录下的abc.txt文件  :r /test/abc.txt
 
    2)在vi中执行命令:
 
      :!命令
 
      如:在vi编辑器中查看 /test目录下的文件详细信息  :!ls -l /test
 
      这样就不需要先退出vi再去执行命令
 
    3)把命令执行的结果导入到vi中:
 
      如:把date命令执行的结果导入到vi中
 
      :r !date
 
    4)定义快捷键
 
      :map 快捷键 触发的命令
 
      如:  :map ^P I#<ESC>  ^表示定义的快捷键,
 
          注意,在vi中,^这个符号是使用ctrl+v组合输入的符号,^P 在vi中的输入是ctrl+v和ctrl+p,或者ctrl+v+p
 
          :map ^P I#<ESC>  表示光标无论在行的哪个位置,只要按下ctrl+p就可以在行首插入#号,然后回到命令模式。I表示在行首插入文本,<ESC>表示  回到命令模式。
 
          :map ^E acodeartisan@gmail.com  定义了一个快捷键ctrl+e,只要按下ctrl+e就可以在光标位置输入我的邮箱acodeartisan@gmail.com,非常方便。
 
          再比如我们要定义一个快捷键,无论光标在行的哪个位置,只要按下ctrl+b,就可以去掉行首的#注释(实际上就是把行首的第一个字符删掉)
 
          :map ^B 0x  定义了一个快捷键ctrl+b。0表示移到行首,x表示删除光标所在字符。
 
    5)连续行注释
 
      :n1,n2s/^/#/g  在n1行和n2行之间的行首加入#注释
 
      :n1,n2s/^#//g  把n1行和n2行之间的行首的#注释去掉
 
    6)替换
 
      :ab myemail acodeartisan@gmail.com
 
      只要输入myemail,然后按回车或者空格,myemail就会变成acodeartisan@gmail.com
 
      :unab  取消替换操作  
 
      以上一些快捷键、替换命令操作在退出vi后就失效了,是因为vi没有保存配置。要想配置可以保存,可以把那些命令写在vi的配置文件中 /root/.vimrc
      
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜