zoukankan      html  css  js  c++  java
  • VI和VIM

    vi vim

    linux有多重编辑器,但是在不同的distribution上不一样,vi基本是在每个distribution上都支持的。

    vim是vi的增强版。vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。

    vi的三种模式:

    vim编辑器的三种模式:一般模式、编辑模式和命令行模式。

    在一般模式中可以进行删除、复制和粘贴的功能,但是无法更加明确的编辑文件内容。

    从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。具体说明如下,个人觉得只需要记住i就可以了。

    • i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
    • a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
    • o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
    • r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。

    从编辑模式切换到奥一般模式:ESC。

    在一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行,也就是命令模式,在这个模式中可以提供查找数据的操作,读取、保存、大量替换字符、离开vii、显示行号等操作则是在此模式中完成的。

    编辑模式与命令行模式之间是不能互相切换的。

    在一般模式下,可以执行的命令有:

    移动光标的命令:

    • PgDn键:下一页 (这个命令在编辑模式下也有效)
    • PgUp键:上一页(这个命令在编辑模式下也有效)
    • Home键:光标移动到这一行的第一个字符的前面(这个命令在编辑模式下也有效)
    • End键:光标移动到这一行的最后一个字符的后面(这个命令在编辑模式下也有效)
    • G:光标移动到最后一行
    • 1G或者gg:光标移动到第一行
    • 10G:光标移动到第10行
    • 输入10之后按下Enter键:光标往下移动10行。

    查找和替换:

    • /word:向下寻找一个名称为word的字符串。
    • ?word:向上寻找一个名称为word的字符串。
    • n:重复上一个查找
    • N:反向重复上一个查找
    • :n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
    • :1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
    • :1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。

    示例::1,$s/trace.log/test.log/gc

    删除复制粘贴

    • x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
    • dd:删除光标所在的一整行。
    • ndd:删除光标所在的向下n行。
    • yy:复制光标所在的一行。
    • nyy:复制光标所在的向下n行。
    • p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
    • u:复原前一个操作。
    • [Ctrl]+r:重做上一个操作。
    • .:小数点,重复前一个操作

    vim的功能

    • 块选择:

    这个功能可以让我们复制一个矩形区域的内容,十分方便。

    v:字符选择,会将光标经过的地方反白选择;

    V:行选择;

    Ctrl+v:块选择;

    y:复制反白的地方;

    d:删除反白的地方。

    示例如下:

    需要注意的是,粘贴时候也是粘贴在一个块的范围内,而不是以行为单位来处理的。

    • 多文件编辑

    我们在两个或多个文件之间复制粘贴内容时,这个功能会让我们方便很多。

    使用命令vim name1 name2 name3...(各个文件名之间用空格隔开)可以同时打开多个文件。

    :n:编辑下一个文件;

    :N:编辑上一个文件;

    :files:列出目前vim打开的所有文件。

    • 显示行号:

    :set nu  设置行号

    :set nonu 取消行号

    vi和vim的使用:

    vi和vim是两个独立的命令,如果需要高亮或者块选择等程序编辑功能,那么使用vim命令。

    有的系统直接用vim替换了vi。替换的方式是使用alias。

    输入alias命令可以看到全部的昵称命名。确认里面是否有vi和vim的昵称替换规则。

     

  • 相关阅读:
    接口测试(基础知识)
    MapReduce的方式进行HBase向HDFS导入和导出
    HBase的JavaAPI操作
    Maven中settings.xml的配置项说明
    Eclipse使用Maven创建普通Java工程时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.
    ip 子网掩码 网关 DNS
    IP地址,子网掩码、默认网关,DNS理论解释
    IP地址,子网掩码,默认网关,路由,形象生动阐述
    Hive的JDBC使用&并把JDBC放置后台运行
    Hive中自定义函数
  • 原文地址:https://www.cnblogs.com/xiaolang8762400/p/7355294.html
Copyright © 2011-2022 走看看