Vim几种跳转方式

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博客

相关推荐
程序员三明治1 分钟前
Python编辑器的安装及配置(Pycharm、Jupyter的安装)从0带你配置,小土堆视频
python·pycharm·编辑器
ONLYOFFICE9 分钟前
【技术教程】如何将文档编辑器集成至用PHP编写的Web应用程序中
编辑器·php·onlyoffice
desssq21 分钟前
ubuntu 18.04 泰山派编译报错
linux·运维·ubuntu
Lzc77424 分钟前
Linux的多线程
linux·linux的多线程
清风笑烟语25 分钟前
Ubuntu 24.04 搭建k8s 1.33.4
linux·ubuntu·kubernetes
Dovis(誓平步青云)1 小时前
《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
linux·运维·服务器
好名字更能让你们记住我1 小时前
MYSQL数据库初阶 之 MYSQL用户管理
linux·数据库·sql·mysql·adb·数据库开发·数据库架构
半桔2 小时前
【网络编程】TCP 服务器并发编程:多进程、线程池与守护进程实践
linux·服务器·网络·c++·tcp/ip
维尔切2 小时前
Shell 脚本编程:函数
linux·运维·自动化
穷人小水滴2 小时前
胖喵必快 (pmbs): btrfs 自动快照工具 (每分钟快照)
linux·rust