当您与光标下的当前单词/行有关时,漂亮的上下文菜单非常有用。它还可以提醒你,当你忘记你的键盘图:

Alt Text

设置

在ui扩展插件quickui的帮助下,它可以简单地定义为:

Plug ‘skywind3000/vim-quickui’

" define your context menu as a list of (text, command) pairs let g:context_menu_k = [ \ ["&Help Keyword\t\ch", ’echo expand("")’ ], \ ["&Signature\t\cs", ’echo 101’], \ [’-’], \ [“Find in &File\t\cx”, ’exec “/” . expand("")’ ], \ [“Find in &Project\t\cp”, ’exec “vimgrep " . expand("”) . “*”’ ], \ [“Find in &Defintion\t\cd”, ‘YcmCompleter GotoDefinition’ ], \ [“Search &References\t\cr”, ‘YcmCompleter GoToReferences’], \ [’-’], \ ["&Documentation\t\cm", ’exec “PyDoc " . expand("”)’], \ ]

" map ‘K’ to display the context menu nnoremap K :call quickui#tools#clever_context(‘k’, g:context_menu_k, {})

Enter fullscreen mode Exit fullscreen mode

然后,当您按下时,它会显示在光标周围:K

上下文菜单是组织 LSP 命令的好地方。

使用

  • 通过/或箭头键导航项目。j``````k
  • 接受通过或鼠标左键单击的项目。Enter``````Space
  • 按退出。ESC
  • 热键可以由 a . .&

边框和颜色也是可定制的,请查看 quickui文档以了解更多。

插件专用上下文

上下文菜单还可用于增强插件体验,您可以在插件缓冲区设置一些缓冲区本地密钥图:

let g:context_menu_git = [ \ ["&Stage (add)\ts", ’exec “normal s”’ ], \ ["&Unstage (reset)\tu", ’exec “normal u”’ ], \ ["&Toggle stage/unstage\t-", ’exec “normal -”’ ], \ [“Unstage &Everything\tU”, ’exec “normal U”’ ], \ [“D&iscard change\tX”, ’exec “normal X”’ ], \ ["–"], \ [“Inline &Diff\t=”, ’exec “normal =”’ ], \ [“Diff S&plit\tdd”, ’exec “normal dd”’ ], \ [“Diff &Horizontal\tdh”, ’exec “normal dh”’ ], \ [“Diff &Vertical\tdv”, ’exec “normal dv”’ ], \ ["–"], \ ["&Open File\t", ’exec “normal <cr>”’ ], \ [“Open in New Split\to”, ’exec “normal o”’ ], \ [“Open in New Vsplit\tgO”, ’exec “normal gO”’ ], \ [“Open in New Tab\tO”, ’exec “normal O”’ ], \ [“Open in &Preview\tp”, ’exec “normal p”’ ], \ ["–"], \ ["&Commit\tcc", ’exec “normal cc”’ ], \ ]

function! s:setup_fugitive() nnoremap K :call quickui#tools#clever_context(‘g’, g:context_menu_git, {}) endfunc

augroup MenuEvents au! au FileType fugitive call s:setup_fugitive() augroup END

Enter fullscreen mode Exit fullscreen mode

当您使用逃犯时,您可以按下显示逃犯菜单:K

Alt Text

没有必要记住这些很少使用的逃犯关键图, 只是完全足够了。K

您还可以为defx.nvim设置上下文菜单:

Alt Text

这使得 defx 更加人性化。