zoukankan      html  css  js  c++  java
  • vim文本编辑

    6.1 vi/vim 的使用

    基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)插入模式(Insert mode)底线命令模式(Last line mode)

    6.2 命令模式的切换

    ESC:进入命令模式

    :, 进入底行命令模式

    【i, I】 进入编辑模式
    i 为【从目前光标所在处插入】
    I 为【在目前所在行的第一个非空格字符处开始插入】
    【a, A】 进入编辑模式(Insert mode):
    a 为【从目前光标所在的下一个字符处开始插入】
    A 为【从光标所在行的最后一个字符处开始插入】

    【o, O】 进入编辑模式:
    o 为【在目前光标所在的下一行处插入新的一行】
    O 为【在目前光标所在处的上一行插入新的一行】

    【r, R】 进入取代模式:
    r 只会取代光标所在的那一个字符一次
    R会一直取代光标所在的文字,直到按下 ESC 为止

    插入模式(编辑模式):i,I,a,A,o,O,s,S,r,R

    s:删除添加

    r:修改/替换添加

    6.3进入和退出vi/vim

    (1)进入vi  filename或者vim filename,如果filename不存在,则创建它,存在打开。

    (2)退出vi/vim

    :w   filename     另存为filename

    :q      退出

    :q!     强制退出

    :wq   保存并退出

    :wq!  强制保存并退出

    :x      如果有改动则保存并退出, 否则直接退出

    ZZ: 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开

    6.5命令光标移动

    kjhl:上下左右

    space:光标右移一个字符
    Backspace:光标左移一个字符
    Enter :光标下移一行

    文档的第一行:gg

    文档的最后一行:G

    某一行开头:^,0(零)

    某一行结尾:$

    5j或者是5+Enter(回车键):  向下移动5行

    5G:移动到第5行行首

    ctrl+b:上一页

    ctrl+f:下一页

    n+:光标下移n行
    n-:光标上移n行
    n$:光标移至第n行尾
    H :光标移至屏幕顶行
    M :光标移至屏幕中间行
    L :光标移至屏幕最后行

    w:下一个单词

    b:上一个单词

    6.6 拷贝

    缓冲区:复制或删除的内容总是先存放在缓冲区中,缺省是放在匿名缓冲区中。

    拷贝1行, yy

    拷贝5行, 5yy

    拷贝1个单词, yw

    拷贝5个单词, 5yw

    拷贝到文件尾行, yG

    拷贝到行尾,y$

    6.7 粘贴

    p(小写):当前位置粘贴

    P(大写):当前位置向前粘贴

    6.8 删除

    删除1行 dd

    删除3行 3dd

    删除1个单词 dw

    删除5个单词 5dw

    删除到文件尾行, dG

    删除到文件首行, dgg

    删除到行首, d^

    删除到行尾, d$

    6.9 搜索

    /:向下找

    ?:向上找

    n:查找方向的下一处匹配

    N:查找方向的上一处匹配

    6.10 替换

    行内替换一处,:s/search/replace

    search:你要查找的字符串

    replace:你要修改的字符串

    行内替换全部, :s/search/replace/g

    global:全部替换

    全部行内一处替换, :%s/search/replace

    全部替换, :%s/search/replace/g

    6.11 其他命令

    u: 恢复前一个操作
    Ctrl+r:重做上一个操作

    .:是重复前一个操作

    set nu:设置行号

    :set nonu:取消行号

    :数字:定位哪一行

    6.12 vi/vim的配置

    系统配置

    /etc/virc, 主(默认)配置文件, 会影响全部的linux的用户.

  • 相关阅读:
    TensorflowJS 教程
    理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
    Wireshark 过滤 基本语法
    LSTM如何解决梯度消失或爆炸的?
    K-Means ++ 和 kmeans 区别
    LSTM UEBA异常检测——deeplog里其实提到了,就是多分类LSTM算法,结合LSTM预测误差来检测异常参数
    python 多进程练习 调用 os.system命令
    TLS 改变密码标准协议(Change Cipher Spec Protocol) 就是加密传输中每隔一段时间必须改变其加解密参数的协议
    ssl tls 证书链 根证书和叶证书查询
    TLS与SSL之间关系——SSL已经被IEFT组织废弃,你可以简单认为TLS是SSL的加强版
  • 原文地址:https://www.cnblogs.com/weizaiyes/p/9814919.html
Copyright © 2011-2022 走看看