• vim使用详解


    1 插入类命令
    i               // 在当前字符前插入
    I               // 在当前行首插入
    a               // 在当前字符后写入
    A              // 在当前行尾写入 
    o               // 在当前行下面新增一行
    O              // 在当前行上面新增一行
    r               // 替换当前字符,替换之后立即退出编辑模式变成命令模式
    R              // 从当前字符开始替换,知道按ESC才退出编辑模式变成命令模式
    ESC          // 退出编辑模式,进入命令模式
    2 移动类命令
    h              // 左移
    j               // 下移
    k              // 上移
    l               // 右移
    0              // 移动到本行第一个字符
    $              // 移动到本行的最后一个字符
    G              // 移动到最后一行
    gg            // 移动到第一行
    ctrl + f      // 向下翻一页
    ctrl + b     // 向上翻一页
    H              // 移动到屏幕最上方那一行的第一个字符
    M             // 移动到屏幕中间那一行的第一个字符
    L               // 移动到屏幕最下方那一行的第一个字符
    3 搜索替换类命令
    /word       // 向后搜索word
    n               // 继续向后搜索下一个
    N              // 继续向前搜索下一个
    :%s/w1/w2/g       // 全文档把搜索w1替换为w2,如果不加g,则只替换每行的第一个匹配
    :1,10s/w1/w2/g    // 在1~10行内搜索w1替换为w2
    :8,$s/w1/w2/gc    // 从第八行到最后一行搜索w1替换为w2,并且请求确认
    4 删除复制粘贴类命令
    x               // 删除当前字符
    nx             // 向后删除n个字符
    dd            // 删除当前行
    ndd          // 从当前行开始,删除n行,包括当前行
    dgg          // 删除当前行到开始行
    dG            // 删除当前行到结束行
    d$            // 删除当前字符到行尾
    d0            // 删除到行首,但不删除当前字符
    yy             // 复制当前行
    nyy           // 从当前行向下复制n行
    ygg          // 复制当前行直到第一行
    yG            // 复制当前行直到最后一行
    y0             // 复制到行首,但是不包括当前字符
    y$             // 从当前字符复制到行尾
    p               // 在下一行粘贴,如果不是复制了整行,则是在当前字符后面粘贴
    P               // 大写P,在上一行粘贴,如果不是复制了整行,则在当前字符前面粘贴
    u               // 还原前一个动作,历史向后退
    ctrl + r      // 重做上一个动作,历史向前进
    .                // 重复前一个动作
    5 存储退出类命令
    :w              // 将编辑的内容写入
    :w!           // 当为只读时,强制写入,但不一定能成功
    :q               // 退出vim
    :q!            // 强制退出vim而不保存数据
    :wq             // 写入,然后退出
    :wq!            // 强制写入,然后退出
    :w  newfile  // 另存为文件,但是仍旧在编辑当前文件,和ms  word不同
    :n1,n2 w  newfile  // 把n1到n2另存到newfile,但仍编辑当前文件
    :r   filename // 读入filename中内容,添加到当前行下面
    :! cmd        // 暂时离开vim界面,执行cmd命令,退出命令之后仍然回到vim
    :r ! cmd      // 把cmd执行的输出,写到当前行下面
    :set nu          // 显示行号
    :set nonu     // 不显示行号
    6 选择类命令
    v                   // 字符选择,会把光标所经过的字符反白选择
    V                   // 行选择,会把光标经过的行反白选择
    ctrl + v          // 选择一个长方形的区域
    y                    // 复制选择的区域
    d                   // 删除选择的区域
    r                    // 把选中区域全部字符替换为某个字符
    I                     // 前面插入整列
    A                    // 后面插入整列
    7 多文档编辑
    vim支持同时编辑多个文档,方便文档见内容互相拷贝。vim编辑多个文档,相当于在内存中,也存在多个文档。在编辑多个文档时,多个文档之间的某些vim命令是共享的,例如在文档1执行了搜索,在文档2中可以执行n继续搜索。在文档1中yy在文档2中可以p。在文档1中执行了退出命令,则两个文档都退出了。
    :n                  // 编辑下一个文档,需要先保存当前编辑文档
    :N                  // 编辑前一个文档
    :files              // 列出当前vim打开的所有文档  
    8 多窗口编辑
    对于同一个文档,如果拆分成多个窗口,则在内存中只有一份文档,两个窗口只是显示部分不同而已,对应的是内存中同样的文档,在任何一个窗口中写入数据,另一个窗口也会显示。
    对于不同的文档,两个窗口则分别显示了内存中不同的缓存区域。但是两个文档之间的某些vim命令是共享的,例如搜索,复制等等。但是w和q命令并不共享。
    sp                  // 把当前文档分为两个窗口来显示
    sp  newfile    // 新增一个窗口显示另一个文档
    ctrl + w + j    // 移动到下面的窗口
    ctrl + w + k   // 移动到上面的窗口
    9 vim设置
    在家目录中,自动生成  .viminfo文件,用来保存操作历史,以便在下次打开文档的时候,能快速重现文档的最后状态。
    对所有用户都生效的vim设置放置在/etc/vimrc中,一般不做修改。
    个性化的设置,可以放在 ~/.vimrc中。 vim在启动时,首先会执行 /etc/vimrc中的配置命令,然后执行 ~/.vimrc中的配置命令。
    10 字符编码
    编码,即把有含义的文字和符号转换成数据来表示。
    解码,即把数据解释为有含义的文字和符号。
     
    ~/.vimrc中可以设置规则:
    set  encoding=utf-8                      // 设置vim的内部编码规则是utf-8,即内存中存放的数据是按照utf-8编码规则转换而来的
    set  fileencodings=utf-8,gb2312  // 设置vim怎样理解文件的编码规则
     
    在使用vim打开文件后,如果想查看文件的编码规则,可以使用
      :set  fileencoding 
    如果想更改文件的编码规则,则可以使用
     :set  fileencoding=XXX
    w保存文件后,文件的编码格式就改变了(慎重使用)。
    也可以使用iconv命令,转换文件的编码规则。
  • 相关阅读:
    暑假周进度总结(一)
    第十七周进度总结
    大二下学期软件工程概论总结
    第十六周进度总结
    程序员修炼之道读书笔记(三)
    程序员修炼之道读书笔记(二)
    《程序员修炼之道》读书笔记(一)
    第十五周进度总结
    python之路--day6---文件处理
    python之路--day6--字符编码
  • 原文地址:https://www.cnblogs.com/barrychiao/p/3446865.html
Copyright © 2020-2023  润新知