Привязки клавиш, которые я установил для NERDTree и телескопа, не работают после того, как LSP начал работать с использованием Neovim

#lua #neovim

Вопрос:

У меня проблема с моей конфигурацией в NeoVim. После того, как мне удалось заставить LSP (с помощью lspconfig) работать, я заметил, что ключи, которые я реализовал для NERDTree, и другое расширение (Телескоп) не работали. Однако, когда я выполняю функции из Nerdtree, это работает. Таким образом, проблема может заключаться в некоторой неправильной настройке привязок клавиш.

Конфигурация, которую я установил для lspconfig, такова:

  lua lt;lt; EOF local nvim_lsp = require('lspconfig')  -- Use an on_attach function to only map the following keys -- after the language server attaches to the current buffer local on_attach = function(client, bufnr)  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end   -- Enable completion triggered by lt;c-xgt;lt;c-ogt;  buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')   -- Mappings.  local opts = { noremap=true, silent=true }   -- See `:help vim.lsp.*` for documentation on any of the below functions  buf_set_keymap('n', 'gD', 'lt;cmdgt;lua vim.lsp.buf.declaration()lt;CRgt;', opts)  buf_set_keymap('n', 'gd', 'lt;cmdgt;lua vim.lsp.buf.definition()lt;CRgt;', opts)  buf_set_keymap('n', 'K', 'lt;cmdgt;lua vim.lsp.buf.hover()lt;CRgt;', opts)  buf_set_keymap('n', 'gi', 'lt;cmdgt;lua vim.lsp.buf.implementation()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;C-kgt;', 'lt;cmdgt;lua vim.lsp.buf.signature_help()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;wa', 'lt;cmdgt;lua vim.lsp.buf.add_workspace_folder()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;wr', 'lt;cmdgt;lua vim.lsp.buf.remove_workspace_folder()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;wl', 'lt;cmdgt;lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;D', 'lt;cmdgt;lua vim.lsp.buf.type_definition()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;rn', 'lt;cmdgt;lua vim.lsp.buf.rename()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;ca', 'lt;cmdgt;lua vim.lsp.buf.code_action()lt;CRgt;', opts)  buf_set_keymap('n', 'gr', 'lt;cmdgt;lua vim.lsp.buf.references()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;e', 'lt;cmdgt;lua vim.lsp.diagnostic.show_line_diagnostics()lt;CRgt;', opts)  buf_set_keymap('n', '[d', 'lt;cmdgt;lua vim.lsp.diagnostic.goto_prev()lt;CRgt;', opts)  buf_set_keymap('n', ']d', 'lt;cmdgt;lua vim.lsp.diagnostic.goto_next()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;q', 'lt;cmdgt;lua vim.lsp.diagnostic.set_loclist()lt;CRgt;', opts)  buf_set_keymap('n', 'lt;leadergt;F', 'lt;cmdgt;lua vim.lsp.buf.formatting()lt;CRgt;', opts) end  -- Use a loop to conveniently call 'setup' on multiple servers and -- map buffer local keybindings when the language server attaches local servers = { 'pyright', 'rust_analyzer', 'tsserver', 'eslint' } for _, lsp in ipairs(servers) do  nvim_lsp[lsp].setup {  on_attach = on_attach,  flags = {  debounce_text_changes = 150,  }  }  end  EOF  

Привязки клавиш, которые я установил для NERDTree, следующие:

 map lt;leadergt;t :call NERDTreeToggle()lt;CRgt;  

После настройки некоторых настроек у меня не возникло ни малейшего представления о том, что, возможно, происходит. Любая помощь была бы полезна.

Спасибо

Ответ №1:

Вы пробовали проверить свои привязки ключей? Я бы попробовал следующее:

:map

Когда вы удаляете lspconfig, NERDTree все еще работает?