zoukankan      html  css  js  c++  java
  • [Vim] Vim 常用基本操作

    1. 导航

      1.1. 查看行号

        :set number  显示行号

        :set number!  隐藏行号

        :.=  在底部显示当前行号

        :=  在底部显示总行号

     

      1.2. 移动光标

        0 或 ^                  移动光标到当前行首

        $           移动光标到当前行尾

        w          移动到下个单词开头

        b           移动到上个单词开头

        :0 1G 或 gg       移动到首行

        :n 或 nG       移动到第 n 行

        :$ 或 G        移动到最后一行

        ''         回到开始搜索时所在行

         ``             回到上一次光标所在位置

        ctrl + u         向上翻滚半页

        ctrl + d       向下翻滚半页

        ctrl + b         向上翻滚整页

        ctrl + f          向下翻滚整页

        ctrl + n         关键词补完向下滚动

        ctrl + p         关键词补完向上滚动

     

    2. 复制粘贴

      2.1. 根据行号选择多行复制

        :1,10t20   复制第 1 到 10 行的内容,粘贴到第 20 行后面。

        :1,10t.      复制第 1 到 10 行的内容,粘贴到当前行后面。

        :1,10y      复制第 1 到 10 行的内容到剪切板。

     

      2.2. 复制单行或连续多行

        yy      复制当前行

        Nyy    复制当前行及其后续 N-1 行。

        p        在当前行粘贴剪切板中的内容。

        yw     复制单个单词

        yl       复制光标覆盖字符

        yNw   复制 N 个单词

        Nyl     向右复制 N 个字符(含光标覆盖字符)

        Nyh    向左复制 N 个字符(不含光标覆盖字符)

        Np      粘贴 N 次已复制内容

        y$       从光标所在位置复制到行尾

        y^      从光标所在位置复制到行首(不含光标)

     

    3. 搜索

      3.1. 查询字符串

        /string  向前查找字符串 string。

        ?string  向后查找字符串 string。

        n          按照当前顺序查找下一个。

        N          按照相反顺序查找下一个。

        *          查找光标覆盖单词

     

    4. 编辑

      4.1. 撤销和恢复

        u               撤销操作

        <ctrl> + r  恢复操作

     

      4.2. 插入文本

        i  光标前插入

        I  当前行首插入

        a  光标后插入

        A  当前行尾插入

        o  当前下一行插入

        O  当前上一行插入

     

      4.3. 编辑文本

        r                替换光标所覆盖的单个字符

        R               连续替换光标所覆盖的单个字符

        cw             替换光标后一个单词

        cNw           替换光标后 个单词

        C 或 cc       清空当前行

        Ncc 或 cNc  清空当前 

     

      4.4. 删除文本

        x         删除光标覆盖的单个字符

        Nx         删除光标后 N 个字符

        dw        删除光标后一个单词

        dNw        删除光标后 N 个单词

        D         删除本行光标后面内容

        dd         删除当前行

        Ndd 或 dNd     删除当前后 N 行

        :X,Yd              删除第 X 行到 Y 行

        :X,$d              删除第 X 行到最后一行

     

    5. 分屏

      5.1. 命令行启动

        vi -O file1 file2 ...  启动垂直分屏

        vi -o file1 file2 ...  启动水平分屏

     

      5.2. 关闭分屏

        <ctrl> q :q :hide   关闭当前分屏

        <ctrl> c                    关闭非最后一屏

        <ctrl> + w + o:only               关闭其他分屏

     

      5.3. 新建分屏

        <ctrl> s      上下分屏显示当前已打开文件

        <ctrl> v      左右分屏显示当前已打开文件

        :sp file :split file       在上方分屏打开新文件

        :vsp file:vsplit file       在左方分屏打开新文件

        :new file         在上方分屏打开新文件,如果未给定文件名则打开空白分屏

        :e file            在当前分屏打开新文件

          :Ex                                  开启当前工作目录

        :Sex                                在上方分屏打开工作目录

     

      5.4. 切换分屏

        <ctrl> + w + h       光标移动到左方分屏

        <ctrl> + + j      光标移动到下方分屏

        <ctrl> + + k              光标移动到上方分屏

        <ctrl> + + l               光标移动到右方分屏

        <ctrl> + + w             光标移动到下一个分屏

     

      5.5. 移动分屏

        <ctrl> + + H        分屏移动到左边

        <ctrl> + + J      分屏移动到下边

        <ctrl> + + K             分屏移动到上边

        <ctrl> + + L             分屏移动到右边

        

      5.6. 调整分屏尺寸

        <ctrl> + + =             将所有分屏调整为等高

        <ctrl> + + N+           当前分屏高度增加 N 行

        <ctrl> + w + N-     当前分屏高度减少 N 行

        <ctrl> + + N>           当前分屏宽度增加 N 列

        <ctrl> + + N<           当前分屏宽度减少 N 列

        :resN           当前分屏高度调整为 N 行

        :res+N                           当前分屏高度增加 N 行

        :res-N                            当前分屏高度减少 N 行

        :vertical resN        当前分屏宽度调整为 N 列

        :vertical res+N      当前分屏宽度增加 N 列

        :vertical res-N       当前分屏宽度减少 N 列

     

      5.7. 查看缓冲

        :b N       打开当前窗口中的第 N 个缓冲文件

        :ls        查看当前窗口的缓冲文件列表

        

    6. 多标签

      6.1. 命令行启动

        vi -p file1 file2 ...  多标签编辑 file1, file2 ...

      6.2. 切换标签

        gt:tabn     切换到右侧标签

        gT:tabp   切换到左侧标签

        :tabr       切换到第一个标签

        :tablast       切换到最后一个标签

        :tabm N     将当前标签移动到第 N 个位置

      6.3. 开关查看标签

        :tabnew file :tabe file   在新标签编辑文件

        :tabc               关闭当前标签   

        :tabo                       关闭其他标签

          :tabs              查看所有打开的标签

     

    7. 与 Shell 交互

      7.1. 执行命令

        :! command        在 Vim 中执行 shell 命令

      7.2. 切换

        :sh:shell<ctrl> + z     挂起 vi 进程

        fg<ctrl> + d        返回 vi 进程

    8. 锁定滚动

       8.1. 锁定终端屏幕滚动

        <ctrl> + s  锁定屏幕滚动

      8.2. 解锁终端屏幕滚动

        <ctrl> + q 解锁屏幕滚动

    参考:Vim tips and tricks

  • 相关阅读:
    个人作业——软件评测
    软件工程第五次作业——结对编程的实现
    软件工程第三次作业
    软件工程第一次作业
    两个矩形面积交
    二维并查集
    Java 作业 1
    练习题
    线性表

  • 原文地址:https://www.cnblogs.com/ifantastic/p/3770886.html
Copyright © 2011-2022 走看看