• Linux之文本编辑器Vim

一:# vim [options] [/path/to/somefile]

1:模式转换:

  • 编辑模式 --> 输入模式:

    i: insert, 实现在当前光标所在处字符前面转换为输入模式;

    a: append, 实现在当前光标所在处字符后面转换为输入模式;

    o: 实现在当前光标所在行的下方新建一个空白行并转换为输入模式;

    I: 在当前光标所在行的行首转为输入模式;

    A: 在当前光标所在行的行尾转为输入模式;

    O: 在当前光标所在行的上方新建一行,并转为输入模式;

    输入模式 --> 编辑模式:

    按下Esc键;

    编辑模式 --> 末行模式:

          输入:

    末行模式 --> 编辑模式:

    按Esc, Esc:

2:光标跳转:

  • 字符间跳转:

    h: 左

    l: 右

    j: 下

    k: 上

    #h: 向左侧跳#个字符;

    单词间跳转:

    w: 后一个单词的词首

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

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

    句子间跳转:

    ): 下一句;

    (: 前一句;

    段落间跳转:

    }: 下一段;

    {: 前一段;

    行间跳转:

    1G,或 gg:跳转到第一行

    G:   跳转到最后一行

    #G:  跳转到第#行

    行内跳转:

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

    $: 绝对行尾

    0: 绝对行首

3:关闭文件:

  • 在末行模式下:

    :w 保存

    :q 退出

    :! 强制

    :wq 保存并退出

    : q! 强制退出

    : x  相当于 wq

    在编辑模式下:

    ZZ:保存退出;

二:打开文件:

1:vim +# /path/to/file 加数字表示打开文件后光标直接在多少行

  • 打开多个文件:

    next 切换到下一个文件的窗口

    last 切换到最后一个文件的窗口

    first 切换到第一个文件的窗口

    prev 切换到前一个文件的窗口:

2:vim [options] /path/to/file

  • -O: 垂直分割窗口

    -o:水平分割窗口

        按 ctrl和w键  松开后按上下左右键在垂直分割窗口和水平分割窗口中的各个文件的小窗口之间跳转:

           输入qall退出所有文件的窗口

    同一文档窗口分割:

    Ctrl+w,s: 水平分割

    Ctrl+w,v: 垂直分割

    Ctrl+w,箭头

3:编辑命令:

  • x: 删除单个字符

    #x: 删除光标所在位置到第#个字符

    d: 删除命令

    dw:删除光标所在位置到本个单词完,光标移动到下个单词第一个字母

    de:删除光标所在位置到本个单词完,光标移动到下个单词词首

           db 删除光标所在位置到本个单词完,但不包括光标所在位置的字符

    d^ 删除光标所在位置到行首的所有字符,不包括光标所在位置

    d$: 删除光标所在位置到行首的所有字符,还包括光标所在位置

    dd: 删除光标所在行;

    #dd: 删除光标所在行及向下#行;

    在末行模式下使用d命令

    界定起始地址,结束地址

    $: 最后一行;

    .: 当前光标所在行;

    %: 全文

    .,+3   表示从当前行到下面数三行,一共四行

    编辑操作可撤消:

    u: vim默认会最近50次的操作,u命令可逐一撤消此前的编辑操作;

    撤消此前的撤消:Ctrl+r:

4:在命令模式中

  • 复制操作:y  

    如果复制的是整行:

       p: 在当前光标所在行的下方粘贴;

       P:在当前光标所在行的上方粘贴

    如果不是整行:

    p: 在当前光标所在处字符的后方粘贴;

    P:在当前光标所在处字符的前方粘贴;

    粘贴操作:p

    复制的是整行:

    p: 在当前光标所在行的下方粘贴;

    P:在当前光标所在行的上方粘贴

       复制的不是整行:

    p: 在当前光标所在处字符的后方粘贴;

     P:在当前光标所在处字符的前方粘贴;

    编辑命令

    c:删除有些内容,转换至输入模式

三:翻屏:

  • Ctrl+f: 向文件尾部翻一屏;

    Ctrl+b: 向文件首部翻一屏;

    Ctrl+d: 向文件尾部翻半屏;

    Ctrl+u:向文件首部翻半屏;

    文本搜索:

    /keyword: 从当前光标所在处向文件尾部查找

    ?keyword:从当前光标所在处向文件首部查找

    n: 下一个,跟查找命令相同的方向

    N:前一个,跟查找命令相反的方向

    vim可视化模式

    visual模式

    v: 选中光标划过的字符

    V:选中光标划过的行,整行选取

    Esc, Esc:回到编辑模式

四:窗口属性定义:

1:显示行号:

  • set number, set nu

        取消显示:

                  set nonumber, set nonu

    自动缩进

    set autoindent, set ai

    关闭自动缩进

                  set noai

    不区分字符大小写

    set ignorecase, set ic

    区分字符大小写

                  set noic

    获取帮助:

    Set

    显示匹配的括号:

    set showmatch, set sm

    不显示匹配的括号

                  set nosm

    语法着色:

    syntax on

    关闭语法着色:

                 syntax off

    搜索高亮显示

    set hlsearch

    关闭高亮显示

                 set nohlserach

2:vim的配置文件:

  • 全局:/etc/vimrc

    个人:~/.vimrc:

3:查找替换:

  • :地址定界s/查找模式/替换成的内容/gi

    :地址定界s@查找模式@替换成的内容@gi

    global      全文替换

    ignorecase  忽略大小写