Die Autovervollständigung für NeoVim ist wirklich super, wenn man sie braucht. Aber wenn nicht, dann nervt es, wenn man bei fast jedem Tastenanschlag einen Vorschlag bekommt. Vor allem dann, wenn man im Insert-Modus nur mal eben ein Zeichen hinzufügen will.

Deshalb habe ich in meine Konfiguration die Möglichkeit hinzugefügt, diese Funktion pro Buffer abzuschalten und wieder einzuschalten.

Man kann das sicher schöner machen, z. B. als Toggle, aber ich bin ja faul und mir reicht das so erstmal aus.

In die Datei keymaps.lua kommt hinein:

vim.keymap.set("n", "<leader>nc0", function()
  require("cmp").setup.buffer({ enabled = false })
end, { desc = "Disable Autocompletion" })
vim.keymap.set("n", "<leader>nc1", function()
  require("cmp").setup.buffer({ enabled = true })
end, { desc = "Enable Autocompletion" })

Dann führt man die Datei entweder mit :source aus oder startet NeoVim neu und es gibt bei <leader>nc die beiden Auswahlmöglichkeiten:

Screenshot vom NeoVim UI, in dem gerade das Plugin which-key aktiviert wurde.

Damit da “completion” steht und nicht nur “c -> +prefix”, muss man die Konfiguration des Plugins which-key anpassen:

return {
  "folke/which-key.nvim",
  opts = {
    defaults = {
      ["<leader>n"] = { name = "+natenom" },
      ["<leader>nc"] = { name = "+completion" },
    },
  },
}

Das kommt in die Datei whichkey.lua innerhalb von plugins/.

Ich schalte das meist beim Schreiben von Blogbeiträgen aus. In Einzelfällen kann man die Autovervollständigung trotzdem mit Ctrl + <space> einmalig anzeigen lassen.