Vim 补充技巧

作者: 舌尖上的大胖 | 来源:发表于2021-04-18 20:50 被阅读0次

    回到 Normal 模式

    • Esc

    • Ctrl+C

    • Ctrl+[

    光标移动

    • ``.` 回到上一次编辑的位置,并进入 Normal 模式
    • gi 回到上一次编辑的位置,并进入插入模式
    • f/Ft/T 加字符来在行内定位字符,然后通过 ,/; 进行下一次查找
    • g_ 行尾非空字符

    查找替换

    • :[range]s[ubstitute]/{pattern}/{string}/[flags]

    flags 内容:g[lobal]/c[onfirm]/n[umber]

    • {string} 为空,后面 flags 指定为 n,则为统计次数

    整词匹配:\<string\>

    多文件(缓冲区)操作

    • :e:在当前窗口编辑指定文件,:e! 来重新加载正在编辑文件

    • :ls:缓冲区列表

    • :b 序号/名称:切换缓冲区

    窗口

    • Ctrl+W S:sp:水平分割窗口,指定文件名的话可以打开新文件

    • Ctrl+W V:vs:垂直分割窗口,指定文件名的话可以打开新文件

    复制粘贴

    在设置了 :set autoindent 的情况下,粘贴会导致排版混乱,可以先通过如下命令来保证粘贴效果,然后再恢复:

    :set paste/nopaste

    寄存器

    • 复制、剪切默认使用无名寄存器,使用 xp 两个命令实现字符调换

    • "<寄存器名称>操作:内容放到指定寄存器(通过字母或数字标识寄存器)
      如:"cdd 将当前行剪切至 c 寄存器

    • :reg [寄存器名]:查看指定寄存器内容。如未制定,则查看所有寄存器。

    常用寄存器:

    • "0:复制专用寄存器

    • "+:系统剪贴板

    • 使用系统剪贴板完成复制粘贴::set clipboard=unnamed

    • 录制:q{寄存器名},之后使用 q 退出
    • 回放:@{寄存器名}

    应用举例:以数字 5 为起始,生成数字序列

    1. 在某一行写入数字 5,光标定位到数字上,恢复到 Normal 模式
    2. 开始录制宏:qa
    3. 定义行为:yyp 复制行,Ctrl+A 数字 + 1, q 结束宏录制
    4. 多次执行宏:100@a

    命令模式

    在命令模式中执行 Normal 模式中的命令,步骤如下:

    1. 选中内容
    2. 冒号 :
    3. normal 命令内容

    : Ctrl+P 执行上一次命令

    应用举例:为选中行的行尾增加分号

    1. Ctrl+V 选中内容
    2. 冒号 :
    3. 在光标位置输入 normal A;回车

    补全

    首先进入插入状态:

    • 文字补全:Ctrl+N/P
    • 路径补全:Ctrl+X-Ctrl+F

    配色

    • :colorscheme 不加参数显示当前 Scheme

    • :colorscheme <ctrl+d> 显示支持的 Scheme 列表

    • :colorscheme scheme名称 指定要使用的 Scheme

    • 指定颜色风格::set background=dark/light

    • 自定义配色方案复制到这里:

    ~/.vim/colors/*.vim
    

    (完)

    相关文章

      网友评论

        本文标题:Vim 补充技巧

        本文链接:https://www.haomeiwen.com/subject/grgvlltx.html