zoukankan      html  css  js  c++  java
  • 7 vi 编辑器

     

    1、vim编辑器的工作模式

    命令模式,插入模式,可视化模式,扩展命令模式。

     

    2、命令模式

    2.1、光标定位

    hjkl:小键盘上下左右移动

    0 $:行头、行尾

    gg G:第一行、最后一行

    30G:进入第30行

    /string:快速定位到某一行

    /^d:搜索以d开头的行

    /txt$:搜索以txt$结尾的行

     

    2.2、文本编辑

    y 复制 yy 3yy ygg yG:复制一行、从当前行往下复制3行,复制当前行至第一行的所有行,复制当前行至最后一行的所有行。

    d   删除 dd 3dd dgg dG:同上。

    x   删除光标所在的字符

    D   从光标处删除到行尾

    u   undo撤销

    ^r  redo

    r   修改一个字符

     

    2.3、进入其他模式

    i   进入插入模式

    o   另起一行,进入插入模式

    A   调到行尾,进入插入模式

     

    v  进入可视模式

    ^v 进入可视块模式

    V  进入可视行模式

    R  进入替换模式

     

    2.4、插入模式

    ^p:自动补全

    块插入:^v shift+i 插入字符 esc

    块替换:ctrl + v 进入块选择,r 输入替换的字符

    块删除:选择块,d|x

    块复制:选择块,y

     

    2.5、扩展命令模式

    保存退出

    :10  进入第10行

    :w   保存

    :q   退出

    :q!  强制退出

    :wq  保存退出

    :w!  强制保存

     

    查找替换

    :range s/old/new/option

    :1,5 s/ifdown/latiny 将1至5行的第一个ifdown替换成latiny

    :5,$ s/ifdown/latiny 将5至最后一行的第一个ifdown替换成latiny

    :1,$ s/ifdown/latiny/g 将1至最后一行的所有的ifdown替换成latiny %表示全文,g表示整行

    :% s/ifdown/latiny 所有行的第一个ifdown替换成latiny

    :,8 s/old/new/  从当前行到第8行

    :4,9 s/^#//     4-9行开头的#替换为空

    :5,10 s/.*/#&/  5-10行前加入#字符, .*表示整行,&引用查找的内容

     

    读入文件、写文件

    :w    存储到当前文件

    :w /tmp/2.txt 另存为 /tmp/2.txt

    :1,3 w /tmp/2.txt 当前文件1至3行另存为 /tmp/2.txt

    :r /etc/hosts  读入文件到当前行后

    :5 r /etc/hosts  读入文件到第5行

     

    设置环境 - 临时设置

    :set nu  设置行号

    :set ic 不区分大小写

    :set ai  自动缩进

    :set list  显示控制字符

    :set nonu  取消设置行号

    :set noic  取消不区分大小写

     

    永久修改设置

    /etc/vimrc   修改vim环境配置文件

    ~/.vimrc

    set ic

    set nu

     

    打开多个文件

    vim -O /root/test/directory/a.txt /root/test/directory/b.txt  大写O水平显示两个文件, 小写o垂直显示两个文件

    ^ww 切换打开的两个文件

    vimdiff /root/test/directory/a.txt /root/test/directory/b.txt  查看两个文件的不同。

     

     

     

     

  • 相关阅读:
    vue中打印 使用mapState映射 vuex state 中的数据 结果显示 [__ob__: Observer]的问题
    css里面鼠标的形状-----》easyui哪点事
    多张表进行关联查询---->删除某个数据的时候出现还有子记录的提示
    MyEclipse迁移过程中Tomcat版本不一致的解决办法
    Easyui里面动态设置输入框的可见性
    PL/SQL那点事-->修改Oracle数据库里面的字段长度
    PL/SQL那点事-->SqlSession operation; SQL []; ORA-01722: 无效数字
    PL/SQL数据开发那点事
    PL/SQL数据库开发那点事
    java类型与jdbc类型对应表
  • 原文地址:https://www.cnblogs.com/Latiny/p/10746314.html
Copyright © 2011-2022 走看看