vim-neovim

将这些操作变为肌肉记忆。
可以将常用操作写进配置文件文件中。

  1. vim 对应的配置文件 ~.vimrc
  2. neovim 对应的配置文件 ~.config/nvim/init.vim
  • Open files

    vi a.txt b.txt -O   :窗口打开两个文件
  • Command Mode

    :           :进入Command Mode
    e!          :重新加载文件,撤销这次修改
    set nu      :加上行号   .vimrc
    syntax on   :语法高亮   .vimrc
    help s      :查看s的文档
    ls          :列出打开的文件(所有的buffer)
    b a.txt     :跳到a.txt
    e b.txt     :打开b.txt 加入另一个buffer
    vs          :当前文件分一个窗口显示
    vs a.txt    :分窗口打开a.txt
    ZZ          :关闭这个窗口,但不退出对应的buffer
    
    ctrl w w            :光标移动到下一个文件
    
    ctrl w =            :所有窗口等宽度
    ctrl w |            :最大化当前窗口
    ctrl w p            :回到上一个窗口
  • Insert Mode

    ctrl u  :删除当前行 从行首到当前位置的内容
    ctrl h  :删除当前位置前一个字符
    ctrl w  :删除当前单词 从单词首到当前位置内容
  • Visual Mode

    Visual Mode的一般操作步骤:进入Visual Mode,后选择所需内容,对所选内容进行操作

    v   :从Normal Mode进入Visual Mode
    V   :从Normal Mode进入Visual Mode 并且选中当前行
  • Visual block mode

    ctrl v  :进入visual block 模式 
    
    多行注释:
            1. 进入visual block Mode,选中所需要猪似的所有行
            2. 按大写i,在输出注释符//,按esc,全行注释
    取消多行注释:
            1. 进入visual block Mode,选中所需要删除的行和列
            2. 按d删除
  • Normal Mode (即Read Mode,是进入Vim的默认模式,Esc返回Normal Mode)

    a   :从当前位置的下一个位置 进入Insert Mode
    i   :从当前位置开始 进入Insert Mode
    
    I   :从当前行行首开始 进入Insert Mode
    A   :从当前行行尾开始 进入Insert Mode
    
    o   :从下一行的行首 进入Insert Mode
    O   :从上一行的行首 进入Insert Mode
    
    gg      :跳到整个文件的首行
    25gg    :跳到25行行首
    G       :跳到整个文件的尾行
    
    H/M/L   :移动到窗口的高/中/低位置
    
    ctrl u  :向上翻页
    ctrl f  :向下翻页
    
    zz  :当前行放到窗口的中间
    
    w/b      :以单词为单位移动 向后移动/向前移动
    h/j/k/l  :以字符为单位移动 左/下/上/右
    
    0   :移到行首
    $   :移到行尾
    
    y   :复制
    yiw :复制这个词
    yy  :复制这一行
    p   :粘贴到下一行
    P   :大p粘到上一行
    dd  :删除这一行
    diw :删除这个词
    
    u   :撤销这一步
    ZZ  :保存并退出
    
    ctrl s/ctrl q   :锁vim窗口/解锁窗口
  • Combo operations

    ciw     :进入insert mode 更改这个单词 i表示“in”
    viw     :选中这个单词
    caw     :改变这个单词
    viw->y->viw->p  :拷贝一个单词从这里拷贝到那里        
    
    vi(     :选中括号中内容
    ci"     :改变这一行中“”中内容 
    ci[     :改变这一行中[]中内容
    vi"     :选中这一行中“”中内容
    yi)     :选择()中所有内容
    da[     :删除[]中所有内容
    
    dt"     :删除从此到“的内容 t表示“to”
    di<
    :% s/XXX/YYY/g     :用YYY替换XXX   
    :32,65d            :delete from line 32 to line 65,  
    
    v, $, y :从此处复制到行尾
    v, $, p :从此处粘贴到行尾 
    
    ggvG    :全选
  • 从外部拷贝内容进vim,3步走:

    :set paste
    粘贴操作
    :set nopaste  //自动缩进才会起作用
  • 命令中的字母含义

    gg,G        : top, bottom
    d,c,y,v     : delete, change, copy, visually select
    w,s,p,t     : words, sentences, paragraphs, tags(HTML)
    a,i,t,f,F   : all, in, till, find formard, find Backward
  • Code 补全

    ctrl n + ctrl p     :自动补全词
  • 查询且高亮

    :set incsearch  :一边查一边高亮     
    :set hlsearch   :查询结果高亮      
    /JUNHUI         :(normal mode下)查询字符“JUNHUI”,n定位到下一个,N定位到上一个。 
  • 有用插件

    • NERDTree:显示目录的插件。

      使用方法:cd到project目录->进入nvim->Command Mode输入:NERDTree,即可显示当前project的文件和文件夹。

      可以使用<Leader>快捷键避免繁复输入NERDTree。类似的设置要写入配置文件。