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

相关推荐
m0_694938012 小时前
Leetcode打卡:字符串及其反转中是否存在同一子字符串
linux·服务器·leetcode
看星星的派大星3 小时前
rk3588 android12 root
linux
飘飘燃雪3 小时前
Linux Modbus协议详解,代码示例
linux·运维·服务器·modbus
蜗牛hb3 小时前
Kali基础知识
linux·运维·服务器
一棵开花的树,枝芽无限靠近你4 小时前
【PPTist】表格功能
前端·笔记·学习·编辑器·ppt·pptist
乐闻x4 小时前
VSCode 插件开发实战(十四):创建交互式引导教程
ide·vscode·编辑器
恩爸编程4 小时前
深入浅出 Linux 操作系统
linux·运维·服务器·linux系统介绍·linux操作系统介绍·linux操作系统是什么·linux操作是什么
马船长5 小时前
RCE-PLUS (学习记录)
java·linux·前端
激进的猴哥5 小时前
day20-yum精讲
linux·运维·服务器
忆源5 小时前
Linux基础--1.1 什么是 Linux 操作系统
linux·运维·服务器