GoToDefinition 拆分, 而不是在修改后替换缓冲, 但是在其他地方打开

作者: Svalorzen创建于 2024年2月26日更新于 2024年2月28日

发行序曲

** 请完成这些步骤并检查这些框(将 " x " 放进去)。 在提交问题之前:**

  • 我读和理解了YCM的[协 [接 文档。
  • 我读懂了YCM的[CODE OF CONDUCT]文档。
  • 我读和理解了YCM的[README][读我],特别是 [经常被问到的问题][发克]部分。 **
  • 我已经搜索了YCM的 问题追踪器 找到类似我的问题 却找不到答案 -1146号
  • 与第3838号有关
  • [x]**我知道这是一个开源项目,由志愿者和 我得到的任何帮助 都是他们自由时间的无私和真诚 一、导 言 知道我没有权利得到任何东西,并且会礼貌和礼貌。 **
  • [x],我知道我的问题可能关闭 如果它变得明显,我没有 实际执行所有这些步骤。 **

谢谢你坚持这个过程! 它能确保你的问题得到解决 你们和我们的时间都不必要地被浪费。

发布细节

我喜欢手动使用:YcmConfletter GoTo' 命令,同时在新标签中直接打开产生的文件/行时,也保留一个键边来使用它们。 正如第1146号文件所提到,可以通过设置g:ycm goto buffer command'到`same-buffer',并创建以下键盘来实现:

nnolemap f:tab split QQ Ycm 完成器 Go To Definition <CR> 页面存档备份,存于互联网档案馆

现在,我注意到的是,不时这会导致分裂。 在再次阅读了“ g: ycm goto buffer command” 的页后,我现在意识到原因:

如果此选项设置为“ 相同缓冲” , 但当前缓冲不能是 。
切换( 当缓冲被修改并设置了“ 无隐藏” 选项时), 然后结果
将分期打开。

的确,如果我的起始缓冲器被修改,我的自定义地图将打开一个新的分页,然后拨打“YcmCompletter GoToDefinition”,看到缓冲器被修改,并产生新的分页.

然而,这完全没有必要,因为已经存在一个打开的窗口(我留在原始分页中的窗口),其中包含相同的被修改的缓冲器,因此如果在同一缓冲器内跳出,则不可能丢失变化. 为此,我建议,如果YCM能够证明目前的缓冲器虽然被修改,但已经在别处打开,那么无论当前窗口的缓冲器状态如何,"同缓冲"政策都能被充分尊重.

内容来源: ycm-core/YouCompleteMe