zoukankan      html  css  js  c++  java
  • 拾遗:vim 快捷键设置

    ~/.vimrc

    零、批量注释与反注释

    • :sp / :vsp       横向 / 纵向拆分窗口
    • :e            打开新文件
    • zc:拆叠代码 / zo:展开代码
      • set foldmethod=marker "代码拆叠模式:zf10G(从当前行拆叠到第10行)、10zf+(从当前行位置向下拆叠10行)、10zf-(从当前行向上拆叠10行)、zf%(折叠到对应的配对括号处,大括号、中括号、小括号等)、zd(删除拆叠)

    注释:

    1. ctrl + v 进入中视化模式,选中要注释的行
    2. shift + i 进入 insert 模式,输入注释标识符,如 "//"
    3. 按 ESC

    反注释:

    1. ctrl + v 进入中视化模式,选中要反注释的行
    2. shift + i 进入 insert 模式,删除注释标识符
    3. 按 ESC

    一、vim 系统快捷键

    • <C-O>  跳回上一个位置
    • <C-I>  跳到下一个位置

    二、vim 自定义快捷键

    map 类别:

    • 用于普通模式: 输入命令时。
    • 用于可视模式: 可视区域高亮并输入命令时。
    • 用于操作符等待模式: 操作符等待中 ("d","y","c" 等等之后)。
    • 用于插入模式: 也用于替换模式。
    • 用于命令行模式: 输入 ":" 或 "/" 命令时。

    • Normal Mode  也就是最一般的普通模式,默认进入vim之后,处于这种模式。
    • Visual Mode  一般译作可视模式,在这种模式下选定一些字符、行、多列;在普通模式下,可以按v进入。 
    • Insert Mode  插入模式,其实就是指处在编辑输入的状态。普通模式下,可以按i进入。 
    • Select Mode  选择模式。用鼠标拖选区域的时候,就进入了选择模式。和可视模式不同的是,在这个模式下,选择完了高亮区域后,敲任何按键就直接输入并替换选择的文本了。和windows下的编辑器选定编辑的效果一致。普通模式下,可以按gh进入。 
    • Command-Line  命令行模式,普通模式下按冒号(:)进入Command-Line模式,可以输入各种命令。

    Map 前缀:

    • nore  表示非递归。递归的映射:如果键a被映射成了b,c又被映射成了a,如果映射是递归的,那么c就被映射成了b。
    • n  表示在普通模式下生效
    • v  表示在可视模式下生效
    • i  表示在插入模式下生效
    • c  表示在命令行模式下生效

    普通模式映射:

    • map  命令格式::map {lhs} {rhs}  其含义是,在:map作用的模式中把键系列 {lhs} 映射为 {rhs},{rhs}可进行映射扫描,也就是可递归映射。
    • noremap  :noremap和:map命令相对,作用模式和命令格式都相同,只不过不允许再对{rhs}进行映射扫描,也就是{lhs}定义后的映射就是{rhs}的键序列,不会再对{rhs}键序列重新解释扫描。
    • unmap  :unmap是对应取消:map绑定的{lhs},作用模式相同,命令格式 :unmap {lhs}。
    • mapclear  :mapclear时对应取消所有:map绑定的。

    仅用于普通模式:

    • :nmap是:map的普通模式板,也就是说其绑定的键只作用于普通模式。
    • :nnorempa和:nmap的关系和:noremap和:map的关系一样,只是:nmap的非递归版
    • :nunmap和:nmap的关系和:unmap和:map的关系一样,取消:nmap的绑定。
    • :nmapclear是对应取消所有:map绑定。

    键表:

    • <k0> - <k9> 小键盘 0 到 9
    • <S-...> Shift+键
    • <C-...> Control+键
    • <M-...> Alt+键 或 meta+键
    • <A-...> 同 <M-...>
    • <Esc> Escape 键
    • <Up> 光标上移键
    • <Space> 插入空格
    • <Tab> 插入Tab
    • <CR> 等于<Enter>

    <Leader>和mapleader变量:

    mapleader变量对所有map映射命令起效,它的作用是将参数<leader>替换成mapleader变量的值,比如:
      :map <Leader>A oanother line<Esc>
    如果mapleader变量没有设置,则用默认的反斜杠代替,因此这个映射等效于:
      :map A oanother line<Esc>
    意思时输入A键时,在下一行输入another line并返回到普通模式。
    如果设置了mapleader变量,比如:
      let mapleader = ","
    那么就等效于:
      :map ,A oanother line<Esc>

  • 相关阅读:
    左偏树
    论在Windows下远程连接Ubuntu
    ZOJ 3711 Give Me Your Hand
    SGU 495. Kids and Prizes
    POJ 2151 Check the difficulty of problems
    CodeForces 148D. Bag of mice
    HDU 3631 Shortest Path
    HDU 1869 六度分离
    HDU 2544 最短路
    HDU 3584 Cube
  • 原文地址:https://www.cnblogs.com/hadex/p/6560747.html
Copyright © 2011-2022 走看看