关于vim中“你完成我”快捷键的一个困惑

z9smfwbn  于 2023-01-26  发布在  其他
关注(0)|答案(2)|浏览(171)

all。我尝试使用youcompleteme来完成vim中的代码。一般来说,它工作得很好,除了当我需要在源文件之间跳转时。首先。我使用子命令

:YcmCompleter GoToDefinition

它可以找到定义。但是它看起来很冗长。然后我想根据YCM的指示将这个子命令Map到某个快捷键中:

nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>
nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>
nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>

我有点糊涂了。什么是快捷键?l还是gl?

cig3rfwq

cig3rfwq1#

当您使用<leader>创建Map时,<leader>将被“mapleader”变量中的内容替换(默认情况下为\)。
如果您的vimrc中有此内容:

let mapleader=","
nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>

其作用与以下相同:

nnoremap ,gl :YcmCompleter GoToDeclaration<CR>

因此,您可以通过按gl来运行YcmCompleter GoToDeclaration命令

rnmwe5a2

rnmwe5a22#

你可以键入\gl来转到定义。默认的<leader>是键\。所以如果你键入\gl,你就可以转到定义。
你可以试试另一个快捷键,Ctrl+O -〉你可以回到你来的地方。

相关问题