Vim编辑文件时按Ctrl+]无法跳转标签,如何无需保存即可跳转?
Vim 未保存文件时跳转标签的解决方案
方法1:开启hidden选项(推荐全局配置)
这是最一劳永逸的方案,开启后允许Vim在内存中保留未保存的缓冲区,切换文件时不需要强制保存:
- 临时生效(仅当前Vim进程有效):在命令模式输入
:set hidden回车即可 - 永久生效:把
set hidden写入你的Vim配置文件(普通Vim对应~/.vimrc,Neovim对应~/.config/nvim/init.vim)
开启后按Ctrl+]就可以直接跳转,未保存的修改会留在内存中,随时可以切回原文件保存,不会丢失。
方法2:分屏跳转标签
不想修改全局配置的话,可以用分屏的方式打开标签定义,不会触发未保存文件的切换限制:
- 水平分屏跳转:按下
Ctrl+W ],会在新的水平窗口展示目标标签定义,原编辑窗口的未保存内容不受影响 - 垂直分屏跳转:可手动执行命令
:vs | tag <cword>回车,会在垂直分屏窗口打开标签定义,也可以自行映射为常用快捷键。
方法3:用预览窗口查看标签
只需要临时查看定义不需要跳转过去修改的话,用预览窗口更方便:
- 按下
Ctrl+W },会在底部弹出预览窗口展示目标标签定义 - 看完按
Ctrl+W z即可关闭预览窗口,全程不会移动你当前的编辑光标,也不会触发未保存提示。
方法4:单次强制跳转
只需要某次特殊场景强制跳转的话,不需要修改任何配置,手动执行带感叹号的tag命令即可:
在命令模式输入 :tag! <cword> 回车,就会强制跳转到目标标签位置,忽略未保存提示。
注意:以上所有方法都不会丢失你当前文件的未保存修改,修改内容会一直保留在Vim内存中,直到你主动保存或者关闭Vim进程,退出Vim时如果有未保存的缓冲区,Vim仍然会弹出提示,避免内容丢失。
内容的提问来源于stack exchange,提问作者Ayush
相关产品推荐
相关产品推荐

