• Linux重器之 Vim 实用命令


    Vim 常用的命令

     光标定位;

    hjkl  上下左右移动

    0 $ 跳到行首或行尾

    gg   shift+G 跳到整个文件的开头行或者结尾行

    1G ,2G,3G........NG ,跳到第1.2.3 N 行开头

    /String(n N 可以循环的 上一个下一个切换) 快速定位到某个有String 的 行,

    /^d   快速定位到以  d 开头的行,

    /txt$ 快速定位的到以txt  结尾的行.

    文本编辑(少量)

    y 复制. yy 3yy ygg yG (以行为单位)

    d 删除 dd 3dd dgg dG(以行为单位)

    p 粘贴

    x 删除光标所在的字符

    D 从光标处删除到行尾

    u undo 撤销

    ^r redo 反撤销,重做   Ctrl + r

    r 修改一个字符

    进入其他模式

    a 进入插入模式,  在光标的后面插入

    i  进入插入模式, 在光标前面插入

    o  另起一行插入

    A shift + A  在当前行尾插入

    :   进入末行模式(扩展命令模式)
    v  进入可视模式

     

    ^v  进入可视块模式   Ctrl +v

    V 进入可视行模式 

    R 进入替换模式   在光标后进行批量替换,类似于为Windows上的 文本Insert 

    插入模式下的VIm 关键字 自动补全 Ctrl + p / n 

     

    可视块模式:

    块插入:(在指定块前面加入字符)  选择块, Shift  i   然后输入字符 ,ESC(退出两次)

     

     块替换:  选择块  r  输入替换的字符

    块删除 : 选择块,  输入 d 或者 x 

    块复制 : 选择块 , y 

    扩展命令模式:

    : 10  进入第10行

    : w  保存

    :q 退出

    :wq 保存并退出

    :w!  强制保存

    :q! 不保存强制退出

    :wq!  强制保存退出

    : x 强制保存退出 或者ZZ 

    :X 给当前文件上锁, 加密,

     远程登陆的过程中 Ctrl +s 会锁定 当前终端 , 输入任何命令都不可见,但是命令仍然可以执行 Ctrl +q  解除锁定,展示命令

    查找替换s search

    : 范围 s/old/new/选项   

    :1,5 s/ string1 / string2 /  从第一行到第五行,把string1 替换为string2 . / 可以换做其他分隔符, 只要保持一样

    : 5,$ s/root/yang   $表示最后一行

    :1,$ s/root/yang/g  == :% s/root/yang/g  % 表示全文,g表示全局

    :%  s/#/dev/sda#/var/sss#g  #这里表示分隔的标识符

    :,8 s/root/yang  从当前行到第八行

    :2,8 s/^#//  2-8行的开头# 替换为空

    :1,9 s/.*/#&/ 1-9行 前面计入#字符(.*整行,& 引用查找的内容)

     读入文件/ 写文件(另存为)

    :w 存储到当前文件

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

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

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

    :5 r  /etc/hsotst  读入文件到第五行后

    设置环境

    临时设置:设置了之后只对当前vim 文件有效,退出则无效

    :set nu 设置行号

    :set ic 不区分大小写

    :set ai 自动缩进

    :set list 显示控制字符

    :set nonu 取消设置行号

    :set noic   .....

    永久设置环境 :   修改vim的环境配置文件

    /etc/vimrc   影响所有系统用户

    ~/.vimrc   影响某一个用户

    Vim 打开多个文件

    vim  - O 文件1, 文件2 ,。。。(O 表示左右并排显示, o 表示上下并排显示)

    :qall 退出全部,:q 单个退出,其他命令全部操作也加 all

    ^ww (Ctrl + ww) 切换窗口

    比较两个文件的不同

    vimdiff 文件1 , 文件2 

  • 相关阅读:
    设置 nextjs build 时,忽略 page 目录下相关文件
    Resource Override 之调试线上 js
    nodejs npm 基础命令
    禁止选择或禁止复制网页数据
    对上传的图片进行格式校验以及安全性校验
    docker 设置阿里云镜像加速
    JS 格式化输出时间
    dotnet core 实现 IActionResult
    win10 visual studio 设置默认管理员权限启动
    Windows 环境部署 RabbitMQ
  • 原文地址:https://www.cnblogs.com/thelovelybugfly/p/11443860.html
Copyright © 2020-2023  润新知