• 四、vim 编辑器


    vim编辑器

    -rw-r--r--. 1 root root 1982 8月   2 2017 /etc/virc        vi 配置文件
    -rw-r--r--. 1 root root 1982 8月   2 2017 /etc/vimrc       vim 全局配置文件
    -rw-r--r--. 1 root root 1982 8月   2 2017 ~/.vimrc         vim 用户配置文件,默认没有,需要手工建立
    source ~/.vimrc 让配置文件立即生效,source 可用(.)代替,如 . /etc/vimrc
    :q!   放弃修改,所用用户可用
    :wq!  当没有写入权限时强制写入,只有 root 可用。
    :wq   保存退出
    ZZ    保存退出
    

    插入快捷键

    a  在光标所在字符后插入
    A  插入光标所在行行尾
    i  在光标所在字符前插入
    I  插入光标所在行行首
    o  在光标下插入新行
    O  在光标上插入新行
    

    光标移动快捷键

    H  向左     gg 移动到文件头
    L  向右     G  移动到文件尾
    J  向下     ^  移到行首
    K  向上     $  移到行尾
    

    删除操作

    x       删除单个字符
    nx      删除 n 个字符
    dw      删除光标后一个字符串
    dd      删除单行 
    ndd     删除n行
    :m,nd   从 m 行删除到 n 行
    dG      从光标所在行删除到文件尾
    C       当前位置删除到行尾,且打开编辑模式
    D       光标后删除到行尾
    dw      当前位置删除一个字符串
    

    粘贴复制

    yy         		复制
    nyy        		复制 n 行
    p          		粘贴到光标下一行
    P          		粘贴到光标上一行
    u          		撤销
    ctrl+r     		反撤销
    r          		替换当前光标位置字符
    R          		从光标位置开始替换,ESC 键结束
    /          		查找,n 下一个,N 上一个,
    :noh       		取消查找后的高亮
    :r! 命令   		把命令结果写在光标所在行
    :r /etc/passwd     把/etc/passwd 文件内容载入到当前编辑的文件中
    

    替换

    :1,10s/old/new/g      把 1 到 10 行的 old 替换为 new
    :%s/old/new/g         把全文的 old 替换为 new(%代表全文)
    :1,10s/^/#/g          在 1 到 10 行的行首加入#
    

    辅助操作

    1) 显示行号  :set nu
    :set nonu
    
    2) 颜色开关 :syntax off
    :syntax on
    
    3) 快捷键 :map ^P I#<ESC> 当按下 ctrl+p,在行首加入“#” “^P”需要 ctrl+V+P 输入
    :map ^B ^x 当按下 ctrl+b,删除行首的一个字母,用于删除注释
    
    4) 替换
    :ab 原字符  目标字符
    :ab abc ABC1234@qq.com
    

    vim常用优化

    cat >> ~./vimrc <<EOF
    #设置tab为4个空格
    set ts=4
    set expandtab
    set autoindent
    #去掉自动注释和自动回车
    set paste
    EOF
    
    

    VIM编辑器进阶配置:https://www.cnblogs.com/outsrkem/p/11237626.html


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Linux 删除用户时报错:userdel: user zhoulijiang is currently used by process 1
    mysqldump: Error: Binlogging on server not active
    Java并发编程:阻塞队列
    Java并发编程:线程池的使用
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
    Java常用排序算法/程序员必须掌握的8大排序算法
    KMP算法
    Java NIO:浅析I/O模型
    Java NIO:NIO概述
  • 原文地址:https://www.cnblogs.com/outsrkem/p/11168898.html
Copyright © 2020-2023  润新知