vi:Visual Interface----------------------全屏编辑器、模式化编辑器

vim:VI iMprove

vim模式:

编辑模式(命令模式)

输入模式

末行模式

模式转换:

编辑→输入 输入→编辑←末行 编辑→末行

    i:光标前输入

    a:光标后输入

    o/O:新建行输入

    I:行首输入

    A:行尾输入

    

            Esc

    

             :

VIM快捷键:

打开文件:默认为编辑模式 关闭文件末行模式下

# vim FILENWME

    +n:打开文件,并定位于第n行

    +:打开文件,定位至最后一行

    +/PATTERN:打开文件,定位至第一次被模式匹配到的行的行首

:q:退出

:w:保存

:wq!:强制退出

移动光标(编辑模式下)

逐字符移动:

    h:左

    l:右

    j:下

    k:上

    #h/l/j/k:移动#个字符

以单词为单位移动:

    w:移至下一个单词的词首

    e:跳至当前或下一个单词的词尾

    b:跳至当前或前一个单词的词首

    #w/e/b:移动#个单词

行内跳转:

    0:绝对行首(包括空白字符)

    ^:行首的第一个非空白字符

    $:绝对行尾

行间跳转:

    #G:跳转至第#行

    G:最后一行

    末行模式下,直接给出行号即可跳转

翻屏:

              Ctrl+f:向下翻一屏          Ctrl+b:向上翻一屏

              Ctrl+d:向下翻半屏          Ctrl+u:向上翻半屏

删除单个字符

    x:删除光标所在处的单个字符

    #x:删除光标所在处及向后共#个字符

删除命令:d(复制命令:y------------------用法同d

  d命令跟跳转命令组合使用

    #d跳转符:#dw、#db

    dd:删除当前光标所在行(剪切)

    #dd:删除包括当前光标所在行在内的#行(剪切)

  末行模式下:

    :startADD,endADDd

    .:表示当前行

    $:最后一行

    +#:向下的#行

粘贴命令:p

    P:如果删除或复制内容为整行,则粘贴至光标所在行的上方;反之,则粘贴至光标所在字符的前面

    p:如果删除或复制内容为整行,则粘贴至光标所在行的下方;反之,则粘贴至光标所在字符的后面

修改:先删除内容,再转换为输入模式           c:用法同d命令

替换:

    r:光标指定字符,#r+要替换为的字符(#代表将其及后#个字符都替换)

    R:进入替换模式

撤销u编辑操作:undo

    u:撤销前一次的编辑操作,连续u可连续撤销(上限50)

    #u:直接撤销最近#次编辑操作

撤销最近一次撤销操作:Ctrl+r

重复前一次编辑操作: .

可视化模式:(选中目标,执行操作)

v:按字符选取

V:按矩形选取

查找:         /PATTERN、?PATTERN、n、N

查找并替换:在末行模式下使用s命令

    :ADDR1,ADDR2s/PATTERN1/PATTERN2/g

打开多个文件 跟shell交互

    # vim FILE1 FILE2 FILE3 ...

        :NEXT:切换至下一个文件

        :prev:切换至前一个文件

        :last:切换至最后一个文件

        :first:切换至第一个文件

    :qa:全部退出

    

    :! COMMAND

分屏显示一个文件 分窗口显示多个文件

    Ctrl+w,s:水平拆分窗口

    Ctrl+w,v:垂直拆分窗口

    Ctrl+w,ARROW:在窗口间切换光标

    :qa:关闭所有窗口退出

    vim -o:水平分割显示

    vim -O:垂直分割显示

将当前文件的部分内容另存为另外一个文件

末行模式下使用w命令:

    :w

    :ADDR1,ADDR2w /apth/to/somewhere

将另外一个文件的内容填充在当前文件当中

   :r /path/to/somefile

设置:

显示或取消显示行号 显示忽略或区分字符大小写

    :set nu    number

    :set nonu

    :set ic    ignorecase

    :set noic

设定自动缩进 查找到的文本高亮显示或取消

    :set ai    autoindent

    :set noai

    :set hlsearch

    :set nohlsearch

语法高亮 配置文件

    :syntax on

    :syntax off

    /etc/vimrc:对所有用户生效

    ~/.vimrc:仅对当前用户生效

vimtutor:vim课程