zoukankan      html  css  js  c++  java
  • 爱上vim之快捷键使用技巧与个性化配置

    四种模式

    模式间的切换

    Normal模式下按 v 进入Visual模式,按 v, Esc, y, d 退出回到Normal模式。

    Normal模式下按 : 进入Command模式,按 Esc 退出回到Normal模式。

    Normal模式下按 i, I, a, A, o, O 进入Insert模式,按 Esc 退出回到Normal模式。

    任意其它模式下按 Esc 进入Normal模式。

    常用快捷键

    Insert模式

    Visual模式

    可以移动光标,选中区域进行操作:

    光标选中区域后按 y 复制,移动到目标位置后再按 p 粘贴

    光标选中区域后按 x 删除

    Normal模式

     y^ 从行首到光标所在位置之前的字符复制(不包含光标)

     y$ 从光标所在位置到行尾的字符复制(包含光标)

     yy 复制光标所在行的字符

     nyy 复制光标所在行向下的n行字符(包括本行)

     p 在光标所在行的下一行添加新行,粘贴复制的内容

     P 在光标所在行的上一行添加新行,粘贴复制的内容

     x 删除光标所在位置的单个字符

     dw 删除光标所在位置的整个单词(包括该单词后的空格)

     d^ 从行首到光标所在位置之前的字符删除(包含光标到行尾的字符保留)

     d$ 从光标所在位置(包含)到行尾的字符删除(行首到光标前的字符保留)

     dd 删除光标所在行一整行的字符(即该行消失)

     ndd 删除光标所在行向下的n行字符(包括本行)

     u 撤销前一步的操作

     CTRL + u 反撤销

     CTRL + v 可视块操作(常用于行的批量操作,例如一次性删除连续多行的开头注释符号“//”,可Normal模式下按 CTRL + v ,光标一直向下选中每一行的开头“//”,再按 x 即可一次性完成删除)

    翻页

     CTRL + u 向前翻半页

     CTRL + d 向后翻半页

     CTRL + b 向前翻一页

     CTRL + f 向后翻一页

    移动光标

     - 将光标移动到上一行第一个字符

     + 将光标移动到下一行的第一个字符

     Shift + ^ 将光标移动到本行的行首(在Command模式下,直接输入数字0,效果也是直接到行首)

     Shift + $  将光标移动到本行的行尾

     } 移动到下一个Block(Bock就是以空行分割的区域)

     { 移动到上一个Block

     w 移动到下一个word

    G的用法

     G 是用来将光标移动到某一行的快捷键。

     GG 将光标移动到文件最后一行第一个字符处

     gg 将光标移动到文件第一行第一个字符处

     nG 将光标移动到第n行的第一个字符处

     ngg 跟 nG 功能相同

     d + nG 删掉光标所在行向下一直到第n行的字符(包括本行与第n行)

     d + ngg 跟 d + nG 功能相同

     y + nG 复制光标所在行向下一直到第n行的字符(包括本行与第n行)

     y + ngg 跟 y + nG 功能相同

     dgg 从文件第一行一直删到光标所在位置之前(不包括光标)

     dGG 从光标所在位置一直删到文件最后一行(包括光标和最后一行)

    Command模式

    Normal模式下按冒号进入Command模式,之后可以输入以下命令:

     w 保存文件

     q 退出文件

     q! 强制退出

     wq 保存并退出

     wq! 保存并强制退出

     args 显示文件名称,切换文件

     e foo.txt 打开foo.txt文件

     saveas ~/foo.txt 另存为~/foo.txt文件

     split 切分窗口, vsplit 

     set n 设置行号

     $ 的效果和 GG 的一样,光标直接跳到最后一行开头

     n 的效果也和 nG 一样,光标直接跳到第n行开头

     搜索

     :/keyword  向下搜索,如果到底了,vim会自动从头开始

     :?keyword  向上搜索,如果到头了,vim会自动从底部开始

    搜索之后,按

     n 到下一处搜索匹配的位置

     N 到上一处搜索匹配的位置

    针对光标停留处的特定单词,可以使用快捷键进行向上和向下的搜索,而且是vim的全词搜索:

     Shift + 8 即*键,直接对光标停留处的单词进行向下搜索

     Shift + 3 即#键,直接对光标停留处的单词进行向上搜索

     :set hlsearch 搜索词高亮显示设置

     :nohl 取消搜索词高亮显示,用快捷键搜索的高亮也用此命令取消

    其它技巧

    文件保存后(连按两次 Esc ),vim会自动做静态语法检测。

     Shift + ZZ 保存并退出文件。

     :x 也是保存并退出。

    挂起与唤回

    当时用vim编程时,时常需要切换回控制台运行测试代码,比较麻烦。这时可以使用 CTRL + z 将vim调至后台挂起,界面自动跳回控制台,会有文字提示vim被挂起(进程编号即对应的运行中的vim),当控制台操作完成后(例如编译运行看结果),再按 fg 即可唤起之前被挂起的vim至前台,继续编辑。

    在vim界面,保存文件后,也可直接按 F5 快速切换回控制台,再按回车可直接编译运行程序(不必再自己操作编译过程)。

    vimtutor

    vim的使用手册,所有功能和操作可在此学习查询。

    man手册

    在vim中,可以按 Shift + k 快速跳转到光标所在位置函数在man手册中对应的说明使用文档,可查看函数的介绍与使用,按 q 退出返回。

    你也可以直接在控制台输入 man + 函数名 查看对应函数的man手册说明文档,可加 -k 选项进行函数的关键字查找(会返回名字或定义中包含关键字的所有函数列表),或 -f 选项,返回绝对匹配名字的函数列表。

    tldr(too long don't read)

    如果嫌man太长看起来费劲,可以选择安装 sudo apt install tldr (ubuntu18.04以上版本)。tldr相对man来说要精简不少,但是只支持命令,不支持C库函数。

    个性化vim配置

    详见github ma6174主页,上面整合了众多优秀的vim插件,可根据自己的需求进行个性化配置。

    Min是清明的茗
  • 相关阅读:
    jsp eclipse 创建jsp项目
    SQL Server 身份验证 登陆
    HUD 5086 Revenge of Segment Tree(递推)
    HDU 1700 Points on Cycle (几何 向量旋转)
    RocketMQ broker jvm 监控
    RocketMQ runbroker.sh 分析JVM启动参数
    问题:虚拟机老生代垃圾回收频繁出现
    空白行 ,空白
    eclipse find 两位数
    生成字母+数字6位字符串
  • 原文地址:https://www.cnblogs.com/MinPage/p/13879486.html
Copyright © 2011-2022 走看看