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  查看两个文件的不同。

     

     

     

     

  • 相关阅读:
    php && 逻辑与运算符使用说明
    php无穷递归算法
    PHP foreach 用法
    centos安装g++
    php 编译中apxs
    shutdown()
    C语言strtok()函数:字符串分割
    细谈select函数(C语言)
    setsockopt的作用
    STL之七:STL各种容器的使用时机详解
  • 原文地址:https://www.cnblogs.com/Latiny/p/10746314.html
Copyright © 2011-2022 走看看