• 08.vi使用


    ◊基本框架:

    a)         Vi的三种工作模式

    b)         编辑模式

    c)         插入模式

    d)         命令模式

    1、 Vi的三种工作模式

    2、 编辑模式:不能所见即所得

    ♦光标定位

         k              上移;

        j              下移;

        h              左移;

        l              右移。

        ctrl+f          在文件中前移一页(相当于page down)。

        ctrl+b          在文件中后移一页(相当于page up)。

        H               将光标移到屏幕上的起始行(或最上行);

        M               将光标移到屏幕中间;

        L               将光标移到屏幕最后一行。

        gg               文件的开头

        G                文件的末尾

        0               数字0,左移光标到本行的开始;

        $               右移光标,到本行的末尾;

    ♦搜索字符串

        /str1               正向搜索字符串 str1

        n                   继续搜索,找出 str1 字符串下次出现的位置

        ?str2               反向搜索字符串 str2

    ♦替换和删除

        rc              用 c 替换光标所指向的当前字符

        nrc             用 c 替换光标所指向的前 n 个字符

        x               删除光标所指向的当前字符

        dd              删除光标所在行,并去除空隙

        ndd             删除 n 行内容,并去除空隙

        其他常用的删除命令是:

          d$              从当前光标起删除字符直到行的结束;

          d0              从当前光标起删除字符直到行的开始;

          dgg             文件开头到当前光标

          dG              当前光标到文件尾

          J               删除本行的回车符,并和下一行合并。

    ♦剪切和粘贴

        小写字母 p       将缓冲区的内容粘贴到光标的后面

        大写字母 P       将缓冲区的内容粘贴到光标的前面

        yy               复制当前行到内存缓冲区

        nyy              复制 n 行内容到内存缓冲区

    ♦撤销和重复

        u               撤消前一条命令的结果

        .               重复最后一条修改正文的命令    

    3、 插入模式  可以所见即所得

        i               在光标左侧插入正文

        a               在光标右侧插入正文

        o               在光标所在行的下一行增添新行

        O               在光标所在行的上一行增添新行

        I               在光标所在行的开头插入

        A               在光标所在行的末尾插入

    4、 命令模式

        退出命令

          : q                 在未作修改的情况下退出

          : q!                强制退出,放弃所有修改

          :wq                保存退出

          另外在编辑模式下可以按大写的ZZ也能保存退出

        行号与文件

          : n             将光标移到第 n 行

          :1,.w file      将第 1 行至当前行写入 file 文件

          :1,$w file      将所有内容写入 file 文件,  相当于 :w file 命令

          :w file         将当前编辑的内容写到 file 文件里,保持原有文件的内容不变

          :e file         编辑新文件

        字符串搜索

             跟编辑模式类似

        正则表达式

          ^               放在字符串前面,匹配行首的字;

          $               放在字符串后面,匹配行尾的字;

          <              匹配一个字的字头;

          >              匹配一个字的字尾;

          .             匹配任何单个正文字符;

          [str]           匹配str中的任何单个字符;

          [^str]          匹配任何不在str中的单个字符;

          [a-b]           匹配a到b之间的任一字符;

          *               匹配前一个字符的0次或多次出现;

                         不管后面的字符的特殊含义。

      正文替换

        :s/str1/str2/       替换当前行中所有出现的字符串 str1

        :s/str1/str2/g      替换当前行中首次出现的字符串 str1

        :1,$ s/str1/str2    替换全文中所有出现的字符串 str1

      删除正文

        :d                  删除光标所在行

        :3d                 删除第 3 行

        :.,$d               删除当前行至正文的末尾

        :/str1/,/str2/d     删除从字符串 str1 到 str2 的所有行

      选项设置

         如果想要显示行号,首先切换到用户的家目录,然后 vi 任意一个新文件,然后在命令行输入mk,目的是为了生成 .exrc文件,然后在.exrc文件中添加 set number

      shell切换

          :! command          执行完 command后回到 vi

             另外也可以在vi命令行输入sh,然后就切换到shell环境,在shell环境中输入exit就能退回到vi环境。

    5、 如何进行多窗口的编辑

      ♦打开多文件:

        Vim –o filename1 filename2   横向显示多文件

        Vim –O filename1 filename2   纵向显示多文件

      如果已经打开一个文件,可以用:     sp +  文件名   上下多窗口显示

                      vs +  文件名   左右多窗口显示

                      也可以用new, vnew 来实现相同的功能

      ♦多窗口间切换:

        Ctrl + w+ w 在多窗口间进行切换

        也可以通过在命令行输入first,wnext,last使相应的文件切换到当前窗口

      ♦显示当前编辑的文件信息:

        :f      打印当前文件名称和状态,如文件的行数、光标所在的行号等

        另外跟f命令功能相近的有:args,ctrl + g(在编辑模式下输入)

      ♦退出:

        exit, quit(q), close : 关闭一个窗口

        wquitall(wqall):  保存并关闭多个文件

    6、其它细节:

    zo   展开折叠处

    zm   进行折叠

    gg=G  代码对齐(在编辑模式下输入)

  • 相关阅读:
    Array中数据强制数据类型转换
    去除socket编程当中接收到的多余符\0
    <转>在 ASP.NET 中执行 URL 重写
    小牛生产小牛的问题解决集粹
    SAP ABAP鸟瞰【AV+PPT】
    cx_Oracle说:Python访问Oracle并不难
    resolve.conf引起登录HPUX的CDE故障
    HPUX 11i v2安装使用python 2.5.2
    HPUX下使用python发送邮件
    HPUX 11i v2上Oracle10.2基本安装指南
  • 原文地址:https://www.cnblogs.com/zkw-2014/p/4417816.html
Copyright © 2020-2023  润新知