zoukankan      html  css  js  c++  java
  • vim命令

    ###########################################################################33 模式 ########################################################################################3
    ###################################### 普通模式下 ################3##############################
    ########## 窗口 ################
    zz 重新绘制屏幕,并把当前行显示在屏幕中央

    ########## 查看 ###########################
    K 查看当前光标所在处的单词的手册页
    ########## 移动 ########
    h
    j
    k
    l
    home 去到行首
    end 去到行尾
    $ 去到行尾
    b 去到字符串词首
    gg 去到文件开头
    {number}G 直接跳转到某行
    ########## 删除 #####################
    dd 删除当前光标所在行
    x 删除当前光标所在的字符,并且光标向向前进一位
    cw 删除从光标位置到单词结尾间的字符,并进入插入模式
    dw 删除从光标位置到单词结尾间的字符,不进入插入模式
    db 删除从光标起始位置到代词开头的内容,不进入输入模式
    daw delete a word
    dap 删除当前所在段落
    c 删除指定文本并进入插入模式
    ########## 查找与替换 ##############################

    R 进入替换模式
    / 正向查询字符串
    ? 逆向查询字符串
    f{char} 查找下一出指定字符出现的位置并把光标移动到字符处
    ; 与f{char}配合使用,重复查找上次F命令所查找到的字符
    , 与f{char}配合使用,反向查找上次F命令所查找到的字符
    * 查找当前光标下的字符
    n 跳转到下一个匹配项
    N 反向跳转到上一个匹配项
    ########## 格式控制 #############################
    >G


    ########## 插入 ##################################3
    i
    I
    a
    A
    s
    cw 删除从光标位置到单词结尾间的字符,并进入插入模式
    o(字母) 在当前光标所在行的下面新建一个新行,切换到新行,进入输入模式
    <ctrl+v><code> code为要插入字符的编码,

    ########## 撤销 #################################################

    u

    ########## 复合字符串 ################################
    s 先删除光标下的字符,然后进入插入模式


    ########## 数值运算 ####################################
    number<ctrl+a> 加法
    number<ctrl+x> 减法
    <ctrl+r>=<expression><backspace> 计算表达式的值并插入光标所在位置
    ########## 复制与粘贴 ######################################################
    yy 复制当前行 (使用寄存器)
    p 粘贴
    J 将当前行与下一行连接起来
    ########## 进制问题 ########################
    0开头的数字为8进制
    0x开头的数字为16进制
    ga 显示字符编码格式

    ########## VIM操作符命令 ###########################################
    额外规则:当一个操作符被连续调用两次的时候,他会作用于当前行
    操作符+动作命令=操作
    c 修改
    d 删除
    y 复制到寄存器
    g/~/vU 反转大小写
    gu 转换为小写
    gU 转换为大写
    > 增加缩进
    < 减小缩进
    = 自动缩进
    ! 使用外部程序过滤所跨越的行
    ########### VIM动作命令 ############################################################
    aw
    ap
    it 文本对象


    ################### 插入模式 #####################################
    ###### 删除 ############################
    ctrl+h 删除前一个字符,相当于<backspace>
    ctrl+w 删除前一个单词
    ctrl+u 删除至行首

    ####### 返回普通模式 ##############################################2
    <ESC> 切换到普通模式
    ctrl+[ 切换到普通模式
    ctrl+o 切换到插入-普通模式

    ################# 可视模式 ########################
    v 激活面向字符的可视化模式
    V 激活面向行的可视化模式
    <ctrl+v> 激活面向块的可视化模式

    gv 重选上一次由可视化模式选择的文本范围
    o 切换到高亮选区的活动端
    b 选区向前选择一个单词
    e 选区向后选择一个单词

    U 可视模式下的U相当于普通模式下的gU
    r<char> 用cahr代替选区中的所有内容

    c 删除选区内容,并进入插入模式,并且在退出后会将修改的文本添加到每一行
    I 可视模式下的插入(光标前)
    A 可视模式下的插入(光标后)
    : 在可视模式下进入命令行会将表示范围的'<,'>预先填充到命令行上


    ################## 命令行模式 #####################################
    : 切换到命令行模式
    <ESC> 切换回普通模式
    :noh 取消搜索之后的一直高亮模式
    :edit 读写文件
    :write 读写文件
    :tabnew 创建标签页
    :split 分割窗口
    :prev 操作参数列表
    :printf :p 显示指定范围的文字
    :delete :d 删除指定行的文字
    :next 操作参数列表
    :bprev 操作缓冲区列表
    :bnext 操作缓冲区列表
    :[range]delete [x] 删除指定范围内的行【到寄存器X中】
    :[range]yank [x] 复制指定范围的行【到寄存器中】
    :[range]put [x] 在指定行后粘贴寄存器X中的内容
    :[range]copy {address} :co :t 把指定范围内的行拷贝到{address}指定的行之下 (不使用寄存器)
    :[range]move {address} 把指定范围内的行移动到{address}指定的行之下
    :[range]join 连接指定范围内的行
    :[range]normal {command} 对指定范围内的每一行执行普通模式命令{command}
    :[range]substitude/{pattern}/{string}/[flags] 在指定范围内出现{pattern}的地方替换为{string}
    :[range]global/{pattern}/[cmd] 对指定范围内匹配{pattern}的所有行执行Ex命令{cmd}
    :@: 重复执行上次的Ex命令
    :@@ 重复执行上一条命令
    :u 撤销上一条命令行命令的影响
    :<up> or <down> 类似bash,回溯历史命令
    <ctrl+d> 命令补全 还可进行选项补全
    <tab> 依次显示可以执行的命令 还可进行文件路补全
    <s+tab> 反向遍历所有的可执行命令
    <ctrl+r><ctrl+w> 复制光标下的单词并把他插入到命令行中
    q: 进入命令行窗口模式
    <ctrl+f> 把当前命令行命令映射到命令行窗口
    ########################## 运行shell命令 ########################
    :!{cmd} 执行shell中的命令
    当给此命令指定范围时,会将『range』指定行会传给{cmd}作为标准输入,然后会将{cmd}的输出覆盖『range』内原本的内容
    :shell 启动一个交互的shell会话
    :exit 退出此shell并返回vim
    :read !{cmd} 把命令的标准输出重定向到缓冲器
    :[range]write !{cmd} 把缓冲区的内容作为指定{cmg}的标准输入
    区别于 :write! {cmd} 把缓冲区的内容写到一个名为{cmd}的文件,这里的!表示会覆盖原文件的内容
    :[range]!filter 使用外部程序{dilter]过滤指定的『range』
    #####################3#3##### 批量执行Ex命令 ##############################3##
    :source {file} 执行vim脚本
    :argdo source {file} 对参数列表里的每个文件执行{file}里面的Ex命令
    ##########################33# 自动补全EX命令 #################################


    :set wildmode=... 设置自动补全的环境变量

    ############################ 地址的表达 ################################################
    {start},{end} start行至end行
    0 虚拟行,位于文件的第一行上面
    1 文件的第一行
    . 表示当前行
    $ 表示文件最后一行
    % 整个文件(:1,$的简写形式)
    m 包含位置标记m的行
    < 高亮选区的起始行
    > 高亮选区的终止行
    /{string}/./{string}/ 起始字符到终止字符
    {address}+n 对地址进行便偏移
    可视模式的选区
    #####################################################################################3 文件 ##################################################################################
    ############################# 管理多个文件 #########################################
    :ls 列出所有被载入内存中的缓冲区列表
    % 指明那个缓冲区在当前窗口可见
    # 代表轮换文件
    <ctrl+r> 在当前文件与轮换文件间快速切换
    :bnext 切换到列表中的下一个缓冲区
    :bprev 切换到列表中的上一个缓冲区
    :bfirst 跳到缓冲区列表的开头
    :blast 跳到缓冲去列表的结尾
    :buffer N :h N 直接按照编号跳转到相应的缓冲区
    :bdelete N1 N2... 删除编号为N1,N2...的缓冲区
    :M,N bdelete 删除编号从M到N的缓冲区列表
    :args 显示参数列表(参数列表记录了在启动时作为参数传递给VIM的文件列表)(可以在任意时刻修改参数列表的值)
    :args file 在参数列表中加入参数
    * 匹配0个或多个字符(范围局限于指定的目录,不会递归子目录)
    ** 匹配0个或多个字符(可以递归进入指定目录的子目录)
    :args '{command}' 把``内的命令的输出作为args的参数执行
    :w[rite] 将缓冲区内容写入磁盘
    :e[dit] 把磁盘文件内容写入缓冲区(即回滚所做修改)
    :qa[ll] 关闭所有窗口,摈弃修改而无需警告
    :wa[ll] 把所有改变的缓冲区写入磁盘:

    :sp[lit] {file} <ctrl+w>s 水平切分当前窗口,并在新窗口中载入{file}
    :vsp[lit] {file} <ctrl+w>v 垂直切分当前窗口,并在新窗口中载入{file}
    <ctrl+w>w 在窗口间循环切换
    <ctrl+w>h 切换到左边的窗口
    <ctrl+w>j 切换到下面的窗口
    <ctrl+w>k 切换到上面的窗口
    <ctrl+w>l 切换到右面的窗口
    :clo[se] 关闭活动窗口以及包含此窗口的标签页
    :on[ly] 只保留活动窗口,关闭其他活动窗口

    <ctrl+w>= 使所有窗口等宽等高
    <ctrl+w>_ 最大化活动窗口的高度
    <ctrl+w>| 最大化活动窗口的宽度
    [N]<ctrl+w> 把活动窗口的高度设置为[N]行
    [N]<ctrl+w> 把活动窗口的宽度设置为[N]列

    :lcd {path} 设置当前窗口的本地工作目录 如果创建了一个新的标签页,并用:lcd命令切换到另一个目录,就可以将每个标签页限制在当前的工作目录(:lcd只影响当前窗口,而非当前标签页)
    :windo lcd {path} 为所有这些窗口设置本地工作目录
    :tabe[dit] {filename} 打开一个新的标签页
    <ctrl+w>T 把当前窗口移动到一个新的标签页中
    :tabc[lose] 关闭当前标签页
    :tabo[nly] 只保留活动标签页关闭其他所有标签页
    EX命令 普通命令
    :tabn[ext] {N} {N}gt 切换到编号为N{的}标签页
    :tabn[ext] gt 切换到下一个标签页
    :tabp[revious] gT 切换到上一个标签页
    :tabmove [N] 重新排列标签页,如果没有N,当前标签会被移动到结尾


    ############### 打开以及保存文件 #############################################
    :edit {file} 通过文件的绝对路径与相对路径来打开文件
    :edit % 这里的%表示活动缓冲区的完整文件目录
    :edit %:h 这里的:h修饰符回去除文件名,但保留路径中的其他部分
    :write 把缓冲区的内容写入磁盘
    :pwd 打印工作目录
    :find 允许通过文件名来打开一个文件,但无需输入该文件的完整路径,要想利用此功能,首先要配置‘path’选项
    :set path+=/dir/** 把/dir/目录下面的所有文件添加到path里面,以','作为分割符
    ###################### 使用netrw(插件)管理文件系统 #####################
    $ vim /dir/ 通过vim打开一个文件管理器窗口{h,j,k,l,/}
    :edit /dir/ 在vim内部打开文件管理器窗口
    :explore 打开文件管理器,并显示活动缓冲区所在目录
    :Sexplore 水平切分窗口打开文件管理器
    :Vexplore 垂直切分窗口打开文件管理器
    <ctrl+^> 切换刚才正在编辑的文件


    ######################## 保存文件 ###########################
    <ctrl+g> 显示当前文件的文件名与状态


    ###############################################################3####### 更快的移动及跳转 ############################################################################33
    ######################### 用命令动作在文档中移动 ########
    :h motion.txt 列出动作命令的帮助文档
    h
    j
    k
    l
    :gj :gk 按照屏幕行进行上下移动
    0 移动到实际行的行首
    :g0 移动到屏幕行的行首
    ^ 移动到实际行的第一个非空白字符
    g^ 移动到屏幕行的第一个非空白字符
    $ 移动到实际行的行尾
    g$ 移动到屏幕行的行尾
    w 正向移动到下一个单词的开头
    W 以字串为单位操作
    b 反向移动到当前单词/上一个单词的开头
    B 以字串为单位操作
    e 正向移动到当前单词/上一个单词的开头
    E 以字串为单位操作
    ge 反向移动到上一单词的结尾
    gE 以字串为单位操作
    f{char} 在光标位置与当前行的行尾查找字符串,如果找到就将光标移动到此字符上
    F{char} 反向移动到上一个{char}所在之处
    t{char} 正向移动到下一个{char}所在之处的前一个字符上
    T{char} 反向移动到上一个{char}所在之处的后一个字符上
    ; 重复上次的字符查找命令
    ' 反向查找上次的字符查找命令
    /{str}<cr> 通过查找命令快速跳转

    ############### 分割符文本对象 ####################33
    文本对象 选择区域
    a) ab 包含符号本身
    a} aB 包含符号本身
    a] 包含符号本身
    a> 包含符号本身
    a' 包含符号本身
    a" 包含符号本身
    a` 包含符号本身
    at 包含符号本身


    i) ib 不包含符号本身
    i} iB 不包含符号本身
    i] 不包含符号本身
    i> 不包含符号本身
    i' 不包含符号本身
    i" 不包含符号本身
    i` 不包含符号本身
    it 不包含符号本身

    iw 当前单词
    aw 当前单词及一个空格
    iW 当前字串
    aW 当前字串及一个空格
    is 当前句子
    as 当前句子以及一个空格
    ip 当前段落
    ap 当前段落以及一个空行

    :m{a~zA~Z} 用选定的字母标记当前光标所在位置
    :‘{mark} 跳到光标所在的行并且把光标置在第一个非空白字符上
    :`{mark} 跳到光标所在的行列
    `` 当前文件中上次跳转动作之前的位置
    `. 上次修改的位置
    `^ 上次插入的位置
    `[ 上次修改或复制的起始位置
    `] 上次修改或复制的结束位置
    `< 上次高亮选区的起始位置
    `> 上次高亮选区的结束位置


    % 在一组开闭括号间跳转
    S{' " } ] } 把选中的文本用符号括起来


    ########################################################## 在文件间跳转 ######################################################3
    :jumps 查看跳转列表的内容
    [N]G 跳转到指定的行号
    /pattern<CR>/?pattern<CR>/n/N 跳转到下一个/上一个模式出现之处
    % 跳转到匹配的括号之处
    (/) 跳转到上一句/下一句的开头
    {/} 跳转到上一段/下一段的开头
    H/M/L 跳转到屏幕上方/正中间/最下方
    gf 跳转到光标的文件名下
    gi 返回上次修改的地方继续编辑
    <C-]> 跳转到光标下关键字的定义之处
    ‘{mark}/`{mark} 跳转到一个位置标记处,小写字母会创建局部于缓冲区的标记,大写字母则创建全局变量

    <ctrl+i>
    <ctrl+o>

    :changes 查看改变列表
    :g;/:g, 反向或正向遍历改变列表

    set suffixesadd+=.c 为文件添加扩展名
    E
    suffixesadd path选项可以针对每一个缓冲区进行设置,因此可以对不同的文件类型来设置不同的值

    :vimgrep /"string"/ path 在路径中查找string字符串
    :grep
    :make


    ###################################################################333 寄存器 ###############################################################################3
    x x命令用于把光标下的字符剪切下来,把他放在无名寄存器中
    dd 剪切当行文本并把他放到无名寄存器中
    yy 复制当前行文本到无名寄存器中
    p p命令把无名寄存器中的内容粘贴到光标后面,也可以在可视模式下替换高亮选区内容
    P 将文本插入到光标的前面
    gp 将文本插入到光标的后面
    gP 将文本插入到光标的前面
    "" 无名寄存器的表示
    "a-"z/"A-"Z 有名寄存器,用小写字母引用有名寄存器回覆盖该寄存器的内容,用大写字母引用寄存器会将新内容添加到该寄存器的原有内容之后
    "_ 黑洞寄存器
    "0 复制专用寄存器
    :reg {regester} 显示寄存器内的信息

    #### 复制文本到外部区域
    "+ 系统剪切版,可用剪切,复制粘贴命令操作
    "* 主剪切板,保留上次被高亮选中的文本,可用鼠标中键粘贴出来
    "= 表达式寄存器,当从此寄存器中读取内容时,VIM进入命令行模式,可以输入一段VIM脚本表达式并执行
    #########隐式赋值寄存器(只读寄存器)#3
    "% 当前文件名
    "# 轮换文件名
    ". 上次插入的文本
    ": 上次执行的EX命令
    "/ 上次查找的模式

    ######################### 宏 ##############3############
    可以串行或者并行的方式执行宏
    q{reg} 录制宏在指定寄存器中 再次按下q录制结束
    q{REG} 添加宏在指定寄存器中
    @{reg} 用来执行指定寄存器中的宏
    @@ 重复最近调用的宏
    [N]@{reg} 重复N次寄存器中的宏
    :wall 保存缓冲列表中的所有文件
    :wnext 相当于 :w+:next
    :put {reg} 把寄存器中的内容粘贴到新的一行(当前行的光标之后)

    ###################################################################### 模式 ############################################################333333########################
    ############### 匹配 #################
    ignorecse 是否忽略大小写的变量
    /c 覆盖ignorecase,忽略大小写
    /C 覆盖ignorecase,强制大小写检查
    smartcase 智能的大小写敏感性检查,如果全部为小写,则忽略大小写,否则不忽略大小写
    v 该元字符会激活very magic搜索模式,即假定除_ 大小写字母以及数字之外的所有字符均具有特殊含义
    V 该元字符会激活very noagic搜索模式
    x 该字符类可以代替完整的字符集[0-9a-fA-F]
    . 在VIM中匹配任意字符
    () 1 任何()内部的匹配文本都会被自动保存到一个临时仓库中。可以用1来引用这段被捕获的文本,2 3...则被用来对每个()捕获的子匹配
    \_s 匹配空白符或换行符
    < > 在very magic模式下,用<和>表示单词界定符
    w 匹配单词类字符,包括字母,数字,以及符号_
    W 用来匹配除单词类字符以外的其他字符串
    * 正向查找光标下的单词
    # 反向查找光标下的单词
    g* 正向查找光标下的单词(不使用单词界定符)
    g# 反向查找光标下的单词(不使用单词界定符)
    查找与匹配的区别
    zs 标志着一个匹配的起始(零宽度)
    ze 标志着一个匹配的结束(零宽度)
    / (正向查找)查找结束符
    ? (反向查找)查找结束符
    在查找域中,一个的出现预示着紧挨着他的后面的字符将会被特殊对待,如果将其加倍变成\之后,前者会消除后者的特殊含义
    ################# 查找 #############33
    warpscan 当检查到文件结尾时是否返回文本开头进行检查
    / 正向查找
    ? 反向查找
    gn 进入面向字符的可视化模式,并选中下一次匹配并进行操作
    gN 进入面向字符的可是花模式,并选中上一次匹配并进行操作
    hlsearch 是否进行高亮匹配
    :nohlsearch 暂时关闭查找高亮
    incsearch 可以预览第一处匹配
    <ctrl+r><ctrl+w> 用当前预览的匹配结果对查找域进行自动补全
    /{string}/e /e表示用来结束匹配,并将光标放在string之后
    /<UP> 显示上一次的查找历史
    q/ 调出命令行窗口(查找历史)
    :substitude 能够显示匹配的数量
    :vimgrep 显示匹配的数量
    /v^([^,]*),([^,]*),([^,]*) 子匹配
    ############### 替换 ##################
    :[range]s[ubtitute]/{pattern}/{string}/[flags] 一条完整的substitute命令 [range]对于每一条EX命令均适用
    [flags] effect
    g 使substitute命令可以在全局范围内执行,实际上仅作用于当前行
    c 有机会确认或者拒绝每一处修改(在每次修改前进行询问)
    y 替换此处匹配
    n 忽略此处匹配
    q 退出替换过程
    l 替换此处匹配后退出
    a 替换此处与之后所有匹配
    <ctrl-e> 向上滚动屏幕
    <ctrl-y> 向下滚动屏幕
    n 抑制正常的替换行为,即让vim不执行替换操作,只报告此次substitute命令匹配的个数
    & 仅仅用来指示vim重用上一次substitute命令所使用的标志位
    e 专门用来屏蔽错误提示
    替换域中的特殊字符 描述
    插入一个换行符
    插入一个制表符
    \ 插入一个反斜杠
    1 插入第一个子匹配
    2 插入第二个子匹配(以此类推)
    插入匹配模式的所有内容
    & 插入匹配模式的所有内容
    - 使用上一次调用:substitute的[string]
    ={VIM scripts} 执行vim的脚本表达式,并将结果替换为{string}
    缺省情况下,substitute命令仅作用于当前行的第一个匹配处
    g 标志位,貌似表示全文,实则只表示当前行
    % 代表全文范围
    c 标志位,控制是否继续实现相同的修改
    y 替换此处匹配
    n 忽略此处匹配
    q 退出替换过程
    l 替换此处匹配后退出
    a 替换此处与之后的所有匹配
    <ctrl+e> 向上滚动屏幕
    <ctrl+y> 向下滚动屏幕

    #当把查找域留空时,默认使用上一次的查找 这样使得我们可以先设置查找域在进行替换
    <ctrl+r>{reg} 把寄存器的值插入到命令行
    /= 只是VIM执行一段表达式文本
    g& 在整个文件的范围重复上一次substitute命令
    & 重复上一次sub命令(忽略上一次的标志位)
    vimgrep 在工程范围内查找,并将返回的结果记录在quickfix列表中
    :copen 打开quickfix列表浏览匹配结果

    :set hidden 该设置项可以无需存盘就可以从某个被修改的文件中切换出去
    :cfdo 在整个工程的范围内执行sub命令
    :update 用于保存有过更改的文件
    ########################3### global命令 #############################3
    :[range] global[!] /{partern}/ [range2]{cmd} :global命令的形式
    默认情况下作用范围是整个文件
    {pattern}如果留空的话会自动使用当前的查找模式
    {cmd}如果不指定会默认使用:print
    global[!]表示反向匹配
    range2默认没有,使用前面的range,不过也可以单独设置

    ############################## ctags ##############################33
    <ctrl+]> 光标会从当前所在的关键字跳转到它的定义处
    <ctrl+t> 充当后退按钮
    g<ctrl+]> 多次匹配的时候会从标签匹配列表挑出可选项供我们选择
    :tselect 提示用户从标签匹配列表中选择一项进行跳转
    :tprev 跳转到上一处匹配的标签
    :tnext 跳转到下一处匹配的标签
    :tfirst 跳转到第一处匹配的标签
    :tlast 跳转到最后一处匹配的标签
    :tag(keyword) 跳转到匹配关键字的第一处标签
    :tjumo(keyword) 提示用户从匹配关键字的多次标签中指定一处进行跳转
    :tag 正向遍历标签历史
    :pop|<ctrl+t> 反向遍历标签历史


    ################################# quickfix ##########################
    :cnext 跳转到下一项
    :cprev 跳转到上一项
    :cfirst 跳转到第一项
    :clast 跳转到最后一项
    :cnfile 跳转到下一个文件第一项
    :cpfile 跳转到上一个文件的最后一项
    :cc N 挑战到第N项
    :copen 打开quickfix窗口
    :cclose 关闭quickfix窗口
    :cdo {cmd} 在quickfix列表中的每一行上执行{cmd}
    :cfdo {cmd} 在quickfix列表中的每一个文件上执行一次{cmd}
    :colder 回溯quickfix列表之前的某个版本 支持次数
    :cnewer 从旧的的quickfix列表回到比较新的列表 支持次数
    makeprg 改选项允许指定运行:make时调用的程序
    errorformat 改选项控制错误信息显示格式
    :compiler 激活一个编译器插件,它回设置‘makeprg’ ‘errorformat’选项


    ######################## grep vimgrep ####################
    :grep 在vim内部调用grep并生成quickfix列表进行查询
    grepprg 负责指定调用的shell程序
    grepformat 指定VIM如何解析来自:grep命令的输出结果


    ###########################3 自动补全 ###########################3‘
    <ctrl+n> 普通关键字
    <ctrl+x><ctrl+i> 当前缓冲区关键字
    <ctrl+x><ctrl+n> 包含文件关键字
    <ctrl+x><ctrl+]> 标签文件关键字
    <ctrl+x><ctrl+k> 字典查找
    <ctrl+x><ctrl+l> 整行补全
    <ctrl+x><ctrl+f> 文件名补全
    <ctrl+x><ctrl+o> 全能(omni)补全
    <ctrl+n> 使用来自补全列表的下一个匹配项
    <ctrl+p> 使用来自补全列表的上一个匹配项
    <Down> 使用来自补全列表的下一个匹配项
    <Up> 使用来自补全列表的上一个匹配项
    <ctrl+y> 确认使用当前选中的匹配项
    <ctrl+e> 还原早先输入的文本(从自动补全中exit)
    <ctrl+h> 从当前匹配中删除一个字符
    <ctrl+l> 从当前匹配中增加一个字符
    {char} 终止自动补全并插入字符串
    cd - 切换到之前的工作目录
    [s 在拼写错误间进行反向跳转
    ]s 在拼写错误间正向跳转
    z= 获取VIM提供的更正建议列表
    zg 把当前单词添加到拼写文件中
    zw 把当前单词从拼写文件中删除
    zug 撤销针对当前单词的zg和zw命令
    <ctrl+x>s vim从光标位置进行反向扫描,直到发现一处拼写错误,然后根据建议创建单词列表并将他们显示在弹出菜单中

    set setting! 反转当前设置项的状态
    set setting? 查看当前设置项的状态
    set setting& 将当前设置项的状态设为默认

  • 相关阅读:
    phpcms 栏目图片循环调用
    phpcms调栏目图片
    Java 面向对象 --单例模式
    Java 面向对象 --包装类
    Java 面向对象 --匿名内部类
    Java面向对象--instanceof关键字
    Java 面向对象 --Object类
    Java 面向对象 --多态性
    Java 面向对象 --接口
    Java 面向对象 --抽象类
  • 原文地址:https://www.cnblogs.com/chen1262567640/p/11108993.html
Copyright © 2011-2022 走看看