Vim几种跳转方式

news/2024/7/21 14:27:36 标签: vim, 编辑器, linux

 

ps: 以下时我常用的一些跳转指令,用于参考和复习记忆。还有一些后续会更新。
文件内跳转

    移动光标
        普通模式下左h,右l,上k,下j。(可以使用数字+hlkj,实现跳跃式移动)。

    字符间跳转
        跳转到当前字符的前面:普通模式下i。
        跳转到当前字符的后面:不同模式下a。

    字符串间跳转
        向右跳:普通模式下跳转到串首w,普通模式下跳转到串尾e。
        向左跳:普通模式下跳转到串首b,普通模式下跳转到串尾be(这个似乎没有专门的指令)。
        高亮文件内的某字符串所有出现处,并在高亮处跳转:先将光标移动值至目标字符串处按*。
            高亮匹配结果中往下跳:n。
            高亮匹配结果中往上跳:N。
            关闭高亮:noh。

    行内跳转
        跳转到行末:普通模式下键入$光标移至行末,普通模式下键入A光标移至行末且进入插入模式。
        跳转到行首:普通模式下键入0(^会忽略行首的空格,跳到第一个非空格字符处,0则跳到第一列)光标移至行首,普通模式下键入I光标移至行首且进入插入模式。
        跳转到行内某个字符(比如字符a):往后跳f + a,往前跳F + a。另外还有t键,往后跳到某字符前面t + a,往前跳到某字符后面T + a。

    行间跳转
        跳转到文件的首行:普通模式下gg。
        跳转到文件的尾行:普通模式下G。
        普通模式下跳转到指定行:100gg或者100G。
        命令模式下跳转到指定行: :100。
        ps:以上两种形式都能跳转到文件的指定行(第100行)。
        跳转到文件的50%:50%。
        在可视行(可视行指Vim看起来是单独的一行,实际是某一行内容太多而换行显示,可视行不会累加行号。相对的就是实际行,实际行累加行号)间跳转:往上gk,往下gj。

    符号间跳转
        函数体间的跳转(注:只能跳到函数体开头,即{处)。
            跳到上一个函数体:[[。
            调到下一个函数体:]]。
        匹配字符{}、[]、()间的跳转:%。

    屏幕移动(翻页)
        保持光标位置不变(不变是相对的,当光标所在行超出光标可活动行范围时,光标保持在最上/最下可活动行)移动屏幕:向上翻页ctrl + y,向下翻页ctrl + e。
        滚动半屏:向上滚动半屏ctrl + u,向下滚动半屏ctrl + d。
        滚动一屏:向上滚动一屏ctrl + b,向下滚动一屏ctrl + f。

    文件间跳转

        Buffer缓存文件间跳转
            跳转到下一个Buffer文件::bn。
            跳转到上一个Buffer文件::bp。

        .h和.c文件间的跳转(此内容依赖于插件vim-scripts/a.vim
            .h和.c文件切换::A。
            跳转到光标所在的问紧啊::IH,这个指令用来跳转到#include后面的文件很有用。

    针对光标的跳转

        光标历史位置往前(旧)调ctrl i。

        光标历史位置往后(新)调ctrl o。

        特殊位置标记的跳转(注意:以下这些跳转动作都只能在文件内,不支持跨文件跳转)
            跳转到上次修改的地方:``.`。
            跳转到上次进入插入模式的地方:``^`。
            给文件某位置(这里的位置是你添加标记时的光标位置)添加标记后跳转。添加标记:m a~z,这里的a~z既能是大写也能是小写,是区分大小写的。跳转到某标记位置:a~z, 这个标记要是已经添加过的。
            删除某个标记::delmarks a~z,删除全部标记::delmarks!。

    有关语法的跳转(前提时ctags已经生成了标签)
        跳转到定义处:ctrl ]。
        跳转到声明处:[然后ctrl i。
————————————————
版权声明:本文为CSDN博主「大娱乐家cpy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42475711/article/details/99646284

Vim几种跳转方式_gvim 相对行号跳转_大娱乐家cpy的博客-CSDN博客


http://www.niftyadmin.cn/n/4967064.html

相关文章

第十七课:利用 Setup Factory 制作 Qt 软件安装包

功能描述:详细介绍如何利用 Setup Factory 制作 Qt 软件安装包,从 Setup Factory 软件下载、安装,到如何利用 Setup Factory 制作软件安装包,手把手教你将 Qt 应用程序制作成具有安装向导的安装包。 一、Setup Factory 简介 Setu…

LA@向量组间的表示关系

文章目录 2个向量组间的表示关系向量组的相互表出向量组用另一个向量组表示👺线性表示的系数矩阵矩阵乘法与线性表出列向量组线性表示行向量组线性表示 向量组等价👺向量组等价的性质推论 等价矩阵与向量组等价的关系行等价矩阵的行向量组等价列等价矩阵…

C#设计模式六大原则之--迪米特法则

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

echarts 的dataZoom滑块两端文字被遮挡

问题: 期望: 解决方案: 1:调整宽度(4版本的没有width属性) 2. 参考:echarts图标设置dataZoom拖拽时间轴时自动调整两侧文字的位置_datazoom 位置_乌栖曲的博客-CSDN博客 设置文字的定位 cons…

centos7搭建apache作为文件站后,其他人无法访问解决办法

在公司内网的一个虚拟机上搭建了httpsd服务,准备作为内部小伙伴们的文件站,但是搭建好之后发现别的小伙伴是无法访问我机器的。 于是寻找一下原因,排查步骤如下: 1.netstat -lnp 和 ps aux 先看下端口和 服务情况 发现均正常 2.…

同一个服务器发布两个前端(网站)

一开始怎么设置都是505,后来把网站文件的位置换到原已经发布成功的网站位置,就成功了。考虑应该是权限问题 server {listen 80;server_name localhost;# https配置参考 start#listen 443 ssl;# 证书直接存放 /docker/nginx/cert/ 目录下即…

opencv-答题卡识别判卷

#导入工具包 import numpy as np import argparse import imutils import cv2# 设置参数 ap argparse.ArgumentParser() ap.add_argument("-i", "--image", requiredTrue,help"path to the input image") args vars(ap.parse_args())# 正确答案…

【官方中文文档】Mybatis-Spring #入门

入门 本章将会以简略的步骤告诉你如何安装和配置 MyBatis-Spring,并构建一个简单的具备事务管理功能的数据访问应用程序。 安装 要使用 MyBatis-Spring 模块,只需要在类路径下包含 mybatis-spring-${project.version}.jar 文件和相关依赖即可。 如果…