• M25-3


    懒人少语之第三周
    `vim编辑器`
    vi: Visual Interface 文本编辑器
    vim带颜色~`不过需要是vim觉得你是配置文件才会有高亮颜色,普通复制配置文件未必有高亮`
    vim通常有三种模式,默认下是命令模式,还有插入/编辑模式`i/o`和扩展命令模式`set nu`和格式化模式`v/V`
    默认状态下是命令模式

    vim +10 /etc/passwd
    `+数字` 跳转到某行
    vim +/^wang /etc/passwd
    `+模式` 支持正则表达式跳转`光标处于第一个被PATTERN匹配到的行的行首`
    vim -d /etc/passwd /etc/issue
    `-d` 多个文件两个分割屏显示
    vim -m /etc/passwd
    `-m` 只读不能编辑
    vim /err/f1
    `文件路径名不存在不能保存`
    vim -e /etc/passwd
    `-e` 类似查找/命令/扩展命令模式

    如果文件不存在,当编辑后第一次存盘是创建它

    功能键
    k上 j下 h左 l右
    i编辑模式`插入模式,当前光标位置`
    esc返回到命令模式
    a编辑模式`光标往后移了一格`
    o编辑模式`新增插入下一行新行`
    I编辑模式`光标到行首编辑`
    A编辑模式`光标到行尾`
    O编辑模式`新增插入上一行新行`
     
    w `下一个单词词首` W `跳过各种符号标点到..`
    e `下一个单词词尾` E `跳过各种符号标点到..`
    b `上一个单词段词首` B `跳过各种符号标点到上一个单词词首`
    3h `向左跳三下` 3h 3j 3k 3l 数字加指令
    H `当前这一页的行首`
    M `当前这一页的中间`
    L `当前这一页的行尾`
    30G `跳到第30行`
    gg `跳到第一行`
    G `跳到最后一行`
    0 `数字0跳到最前面的行首(包括空格的最前面)`
    ^ `行首第一个单词`
    $ `行尾`
    ) `下一句`
    ( `上一句`
    { `下一段`
    } `上一段`
    {()} `可结合shift段落/句跳,或者双击{或}进行段落符号上下跳`
    x `删除光标字符(剪切)`
    3x `删除光标右边3个字符(剪切右边3个字符)`
    ~ `转换大小写`
    J `删除当前行最后面的换行符,下一行内容接着当前行`
    r字符 `先按r再输入字符,直接替换`
    R `类似改写模式`
    d命令 `删某个模式的一段`dh dw de db等 d( d) d{ d}
    d$ `光标删到行尾`
    d^ `光标删到行首(非空白头最前)`
    dG `光标删到内容最后`
    dgg `光标删到内容最前`
    d0 `光标删到行首`
    dd `删除一行`
     
    3yy `复制当前光标下3行`↓
    3Y `复制当前光标下3行`↑
    y$ `复制当前光标到行尾`
    y0 y^ ye yw yb y命令 y( y) y{ y}
    yy `复制多行`
    3yy `复制当前光标下3行`
    p `粘贴,光标在最下边``如果复制的是单词,光标则在右边`
    P `大写P粘贴,光标位置不变``如果复制的是单词,光标则在左边`
    Ctrl+f `向文件尾部翻一屏`
    Ctrl+b `向文件首部翻一屏`
    Ctrl+d `向文件尾部翻半屏`
    Ctrl+u `向文件首部翻半屏`

    c修改命令结束后并跳到插入模式(修改过程中类似剪切操作)
    c$ `剪切光标右边内容并转为编辑模式`
    c^ `剪切光标左边内容并转为编辑模式`
    S `大S剪切光标当前行内容并转为编辑模式`
    c0 cb ce cw c( c) c{ c}
    C命令 `剪切光标右边内容并转为编辑模式`
    3cc `剪切光标下3行内容并转为编辑模式`

    100iwang[ESC]
    `默认模式下的100指次数,i到编辑模式,输入wang自定义内容后按[ESC]可自动重复粘贴内容100次`

    0y$ `起始位置`命令`终止位置`
    0行首,y命令复制,$行尾
    y复制 d删除 gU变大写 gu变小写 ye yw yb等

    组合ggyG `从行首复制到行尾`
     
    地址定界(从这里,到这里`命令`)起始位置,结束位置y c d等
    .当前行 $最后一行
    ,$-2 从当前行到倒数第二行
    % 全部内容,相当于1,$ 比如`%y 是复制全文`
    :10:100d `第10到100行删除(不能超过范围)`
    :1,$d `第一行删到结尾`
    :2,+3 `当前行开始2到3行`

    模式定界(正则表达式)
    :/^r/,/^f/d `光标当前行r开头的到f开头的删除`
    d y (w file) (r file)
    :/^r/,/^f/w /tmp/file `当前光标r开头f开头另存到/tmp/file`
    :3,/^mail/d `从第三行到行首是mail的内容`
     
    /^n `正序找n`(支持PATTERN模式)
    ?^g `倒序往上找行首是g的位置`(支持PATTERN模式)
    n`与命令同方向`,N`与命令反方向`

    :s/abc `查找abc内容`
    :s/abc/cba/ `内容abc替代为cba(缺少模式选项不好搞)`↓
    :%s/abc/ccc/g `%全文搜索内容abc用第三选项(修饰符)g全局替换为内容ccc`
    i忽略大小写, g全局替换(默认下只替换每行第一次出现的),gc全局替换带询问交互功能,也可组合igc
    也可以表现为(`因为在替换的内容为文件夹时,容易混乱,可用@或者#代替原有/的功能`)
    s@/etc@/var@g
    s@#/boot#/#i

    撤销更改:
    u `撤销最近的(上一次)的操作`
    3u `撤销前3次操作更改`
    U `大写U撤销当前光标行修改的操作(不可移动光标,编辑该行可撤销该行)`
    Ctrl r `撤销后返回被撤销前的状态`
    . 和 3. `撤销状态下的内容被粘贴一次,或者3次`

    vim的寄存器
    3"tyy `表示复制3行到t寄存器中`
    "tp `表示将t寄存器内容粘贴`
    "引号作为寄存上一个命令操作内容,并调用结束"(可跨多个vim编辑操作)
    寄存器标识符可用10个数字记录,和26个自定义字母命名,1个无命名
     
    esc:
    :wq `存盘退出`
    :q `普通退出`
    :q! `强行退出`
    :wq!`强制存盘退出`在没权限的情况下
    :r `读入一个新文件内容到 当前光标下面`
    :r /etc/passwd
    :w `将文件另存为其它路径`
    :w /etc/passwd
    ZZ `存盘退出`
    ZQ `不保存退出`
    :!命令 `感叹号后面跟着命令临时看效果(不用退出VIM很方便)`
    :r!命令 `将执行过的命令读到当前编辑光标位置`
    :50 `跳到第50行`

    若离开esc模式直接按一次esc便可
  • 相关阅读:
    idea双击打不开没反应的解决办法
    Golang Learn Log #0
    获取请求header的各种方法
    Linux 指令
    Windows下Anaconda的安装和简单使用
    如何把Python脚本导出为exe程序
    C++星号的含义
    仓库盘点功能-ThinkPHP_学习随笔
    详解html中的元老级元素:“table”
    IE在开发工具启动的情况下(打开F12)时 JS才能执行
  • 原文地址:https://www.cnblogs.com/mount-q/p/7257562.html
Copyright © 2020-2023  润新知