• vim 常用指令


    其他命令

    <c-L>  重绘屏幕
    <c-z>  挂起vim回到shell,想继续vim只需要输入 fg
    <c-x-f>  文件路径提示
    <c-N>  当前文件中的关键字提示
    <C-X><C-O>  语义上的补全
    
    :e main.html  更改文件名
    :file main.html  更改正在编辑的文件名,不用保存
    J 于下一行文本合并
    ZZ 保存退出
    %  在括号间跳转,配合v可以选中代码块
    ~ 光标下的字符转化为大写
    gd 类似f12
    
    VI//  为选中的行添加//注释
    :66,70s/^///    66-70行添加  //注释
    :66,70s/^///   取消多行注释
    
    :Ve  在左侧边栏打开当前文件的目录
    enter  在当前窗口打开文件
    o 打开一个水平分隔的窗口显示文件
    v 打开一个垂直分隔的窗口显示文件
    t 在一个新标签页中打开文件
    :edit . 显示当前目录的内容
    
    :cd dirtory 切换到dirtory目录
    :pwd 显示当前工作目录
    
    :read index.html  读入文件的内容放在当前行的后面 
    

    字符查找

    fa 查找当前行光标后的 a文本, ";"分号重复命令,","与";"相反, Fa 查找光标签前的a
    3fa 查找当前行光标后的第3个a文本
    还有 ta ,2ta,移动到a的前面
    
    /word + 回车  从当前的行向下查找 n向下切, N向上切
    
    * 在相同的单词之间跳转
    

    光标移动

    块级移动
     w跳到下一个word开头  e  跳到当前word结尾
     b跳到上一个word开头  ge跳到上一个word结尾  ctrl+ <
    
    G     整个文档的最后一行
    gg    整个文档的第一行行
    3G 跳转到3行, G意为Go
    
    H 当前page的第一行
    M 当前page的中间行
    L 当前文档的最后一行
    

    删除文本

    被删除的文本都可以用p取回来, put
    
    x 删除当前光标下的字符("dl"的快捷命令)
    X 删除当前光标之前的字符("dh"的快捷命令)
    D 删除自当前光标至行尾的内容("d$"的快捷命令)
    dw 删除自当前光标至下一个 word 的开头
    db 删除自当前光标至前一个 word 的开始
    diw 删除当前光标所在的 word(不包括空白字符)
    daw 删除当前光标所在的 word(包括空白字符)
    dG 删除当前行至文件尾的内容
    dgg 删除当前行至文件头的内容
    
    上面的d命令都可以用 c,y代替
    
    4x  删除4个文字
    cw  删除word并进入插入模式
    
    dd 删除一行,  
    d$ 删除到行尾的内容, d^
    cc 改变整行
    

    替换

    R  输入的文字会替换光标下的文字
    <Insert>键可以再 i 和 R 模式之间切换
    <BS> 退格键可以撤销替换
    ra  把光标下的文字替换为a
    4ra 把四个替换为a
    
    r<Enter>   替换为一个换行符
    
    :%s/name/ajanuw/g  默认执行全部name替换为ajanuw
    :%s/name/ajanuw/gc 每执行一次都需要同意,还是跳过
    :1,5s/this/that/g   第 1 到第 5 行的文本执行替换操作,包括第 1 行和第 5行 
    

    复制粘贴

    yy 复制当前行
    yw 复制一个word
    
    p 粘贴到光标后
    P 粘贴到光标前
    
    "*yy  复制
    "*p  粘贴
    
    "ay复制 "ap 粘贴,寄存器的名字为[a-z]
    

    撤销

    u 撤销
    U 块级撤销
     ctrl+r 返回上一步
    

    缩进,对齐,折叠

    gg=G 是一个自动缩进的命令
    == 整理当行
    =  整理选中的行
    
    :>>  设置缩进 http://vim.wikia.com/wiki/Shifting_blocks_visually
    :<<
    
    zf}  折叠代码  Docs: https://www.2cto.com/os/201203/122133.html
    zc  开合折叠  https://vim.fandom.com/wiki/Folding
    zo  展开代码
    

    编辑多个文件

    从一个文件转到另一个文件
    在不同文件之间复制粘贴

    编辑另一个文件

    :edit foo.txt  关闭当前文件,打开指定文件,当前文件未保存会出现错误信息
    :e! foo.txt   缩写,强制打开指定文件
    错误有对应的 ID 号, :help E37  查看错误帮助
    

    同时打开多个文件

    vi a.ts main.lisp
    
    :files  查看打开所有的文件
    :wn 保存在进入下一个文件
    :wN 保存在进入上一个文件
    :2n  向后移动2个文件
    :first  第一个文件
    :last  最后一个文件
    
    :args  当前处于哪个文件 a.ts [main.lisp]
    
    :args a.ts b.ts  不用退出vim你可以定义新的编辑文件
    :args *.lisp  打开所有lisp文件
    
    ctrl+^ 快速切换文件,但不改变你的位置
    
    `"  上次你离开该文件时光标所在的位置
    `.   最后一次对文件做出改动处的位置
    

    文件标记

    mC  在当前位置添加标记,C是寄存器名,可以替换 
    `C  跳到标记处
    

    保存一份原始文件

    :set patchmode=.orign
    

    分页

    简写 sp
    :split   上下分页
    :split   index.html
    :vsplit  左右分页
    
    <c-w>  点击w在分屏中移动
    // 移动窗口
    CTRL-W H 到左边的窗口
    CTRL-W J 到下面的窗口
    CTRL-W K 到上面的窗口
    CTRL-W L 到右边的窗口
    
    <c-w 10 >>  增加当前屏幕的宽度 < 向右放大, > 向左放大,10代表次数
    CTRL-W +    增加当前窗口高度
    CTRL-W -    减小
    
    :close    关闭当前窗口,阻止你关闭最后一个窗口
    :only     关闭除当前窗口以外的窗口
    :wall      保存所有窗口打开的文件
    :qall      如果所有窗口打开的文件都已经保存,退出,如果有未保存的文件,跳转到对应的窗口中
    :wqall     保存并退出所有窗口。
    

    nerdtree 常用指令

    vi ./
    
    t:在新标签中打开文件
    i: open split
    s: open vsplit
    
    r:刷新光标目录
    C:将树改为根
    
  • 相关阅读:
    手机也需“绿色环保”,省电类APP或将成为“标配”?
    Netty入门实例及分析
    ios开发经常使用RGB色值
    poj Kaka&#39;s Matrix Travels
    C++ 继承体系中的名称覆盖
    spring-framework-3.2.4与hibernate-release-4.3.5下使用HibernateDaoSupport抛出异常
    Codeforces Round #131 Div1 B
    URAL 1837. Isenbaev&#39;s Number (map + Dijkstra || BFS)
    数据库升级代码学习
    delphi:临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别
  • 原文地址:https://www.cnblogs.com/ajanuw/p/7932077.html
Copyright © 2020-2023  润新知