Anleitungen Neovim von Grund auf einrichten: Aus einem gewöhnlichen Terminal wird dein Code-Editor Geschrieben von Adam Muiz 01 Aug 2026 Aktualisiert: 06 Aug 2026 8 Min. gelesen Vor einigen Jahren war ich mit VS Code noch sehr vertraut. Öffnen Sie das Projekt, klicken Sie auf die Seitenleiste, installieren Sie die Erweiterung und alles funktioniert. Aber mit der Zeit hatte ich das Gefühl, dass mich etwas störte: Der Startvorgang wurde langsam langsamer, der Arbeitsspeicher wurde immer häufiger beansprucht und meine Hände wechselten zu oft zwischen Tastatur und Maus. Es fühlt sich an, als würde man mit einem guten Stift schreiben, nur dass man alle paar Minuten anhalten muss, um ihn zu spitzen. Dann habe ich Neovim ausprobiert. Als ich es zum ersten Mal öffnete, erschien nur ein schwarzer Bildschirm mit kleinem Text und seltsamen Benachrichtigungen. In der dritten Minute hätte ich fast aufgegeben. Aber nachdem man verstanden hat, dass Neovim kein gebrauchsfertiger Editor ist, sondern ein Framework, das zusammengestellt werden muss, ergibt alles einen Sinn. Dieser Artikel ist eine Aufzeichnung meiner Reise beim Aufbau von Neovim von Grund auf bis zu einer alltäglichen Stütze. Warum Neovim und nicht ein anderer Herausgeber? Neovim ist eine Abzweigung von Vim, die sich auf Erweiterbarkeit und moderne Integration konzentriert. Wie unterscheidet es sich vom klassischen Vim? Neovim verfügt über eine Lua-basierte Architektur, eine sauberere API und eine sehr aktive Plugin-Community. Aber was mir persönlich am meisten am Herzen liegt, sind Geschwindigkeit und Konstanz. Stellen Sie sich einen Schreibtisch vor. VS Code ist wie ein Schreibtisch mit vielen Schubladen, einer Lampe und einem integrierten Organizer. Benutze es einfach. Neovim ist wie ein leerer Tisch mit einer Grundausstattung an Werkzeugen. Sie entscheiden, was notwendig ist und was nicht. Das Ergebnis? Ein Schreibtisch, der zu Ihrer Arbeitsweise passt. Weitere Vorteile: Licht: Öffnen Sie große Dateien ohne zu stottern. Tastaturzentriert: Fast alles geht ohne Maus. Tragbar: Konfiguration gespeichert in ~/.config/nvim, einfach auf andere Server zu übertragen. Terminal-nativ: Geeignet für Headless- oder SSH-Server. Installation unter Linux Debian-basierte Distributionen haben normalerweise Neovim in den Repositories, aber die Version bleibt oft zurück. Für die neuesten Funktionen bevorzuge ich die Installation von .deb oder AppImage. Hier ist die Methode, die ich am häufigsten verwende: # Install dari repositori (versi lebih tua) sudo apt update && sudo apt install neovim # Atau download .deb terbaru dari GitHub release cd ~/Downloads wget https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.deb sudo dpkg -i nvim-linux64.deb # Verifikasi nvim --version Erstellen Sie nach der Installation ein Konfigurationsverzeichnis: mkdir -p ~/.config/nvim/lua/plugins mkdir -p ~/.config/nvim/lua/config Neovim liest die Hauptkonfiguration aus ~/.config/nvim/init.lua. Früher war es das Format init. vim, aber im Moment init. lua ist ein flexiblerer Standard. Erste Konfiguration: init.lua Bevor ich ein Plugin installiere, stelle ich normalerweise zuerst die grundlegenden Optionen ein. Diese Feile ist wie das Fundament eines Hauses: Wenn sie stabil ist, sind die darüber liegenden Anbauten stabiler. -- ~/.config/nvim/init.lua vim.opt.number = true -- Tampilkan nomor baris vim.opt.relativenumber = true -- Nomor relatif untuk navigasi cepat vim.opt.tabstop = 2 -- Lebar tab vim.opt.shiftwidth = 2 -- Indentasi otomatis vim.opt.expandtab = true -- Konversi tab jadi spasi vim.opt.smartindent = true -- Indentasi pintar vim.opt.wrap = false -- Jangan wrap panjang baris vim.opt.termguicolors = true -- Warna 24-bit vim.opt.clipboard = "unnamedplus" -- Integrasi clipboard sistem vim.g.mapleader = " " -- Leader key: spasi -- Load modul konfigurasi require("config.keymaps") require("config.options") Die letzten beiden Zeilen rufen eine separate Datei auf. Durch die Trennung von Konfigurationen lassen sich diese einfacher verwalten, wenn es viele Konfigurationen gibt. Plugin-Manager mit lazy.nvim Es gibt jedoch mehrere Plugin-Manager für Neovim faul. nvim ist aufgrund seiner Leistung und modernen Arbeitsweise mein Favorit. Plugins werden nur bei Bedarf geladen (Lazy Loading), sodass der Start schnell bleibt. Zuerst installieren faul. nvim: git clone --filter=blob:none https://github.com/folke/lazy.nvim.git \ --branch=stable ~/.local/share/nvim/lazy/lazy.nvim Dann erstellen Sie eine Datei ~/.config/nvim/init.lua um alle Plugins aus dem Ordner zu laden lua/plugins: local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup("plugins") Mit diesem Setup ist jede Lua-Datei enthalten ~/.config/nvim/lua/plugins wird als Plugin-Definition betrachtet. Ein unverzichtbares Plugin für Produktivität Hier sind die Plugins, die ich fast täglich verwende. Dies sind nicht die einzigen Optionen, aber die Kombination reicht aus, um Neovim wie einen modernen Editor wirken zu lassen. 1. Teleskop (Fuzzy Finder) -- lua/plugins/telescope.lua return { 'nvim-telescope/telescope.nvim', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() local builtin = require('telescope.builtin') vim.keymap.set('n', '<leader>ff', builtin.find_files, {}) vim.keymap.set('n', '<leader>fg', builtin.live_grep, {}) vim.keymap.set('n', '<leader>fb', builtin.buffers, {}) end } Mit Leertaste + ff, ich kann nach Dateien suchen. Leertaste + fg um im gesamten Projekt nach Text zu suchen. Es ersetzt die Explorer-Seitenleiste und das Suchfeld. 2. Treesitter (Smart Parsing) -- lua/plugins/treesitter.lua return { 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', config = function() require('nvim-treesitter.configs').setup { ensure_installed = { "lua", "python", "javascript", "html", "css" }, highlight = { enable = true }, indent = { enable = true }, } end } Treesitter macht die Syntaxhervorhebung genauer und hilft mit Funktionen wie automatischer Einrückung und Textobjekten. 3. LSP und Autovervollständigung -- lua/plugins/lsp.lua return { 'neovim/nvim-lspconfig', dependencies = { 'hrsh7th/nvim-cmp', 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', }, config = function() local lspconfig = require('lspconfig') local capabilities = require('cmp_nvim_lsp').default_capabilities() lspconfig.lua_ls.setup { capabilities = capabilities } lspconfig.pyright.setup { capabilities = capabilities } end } LSP bietet Funktionen wie Go-to-Definition, Diagnose und Hover-Dokumentation. nvim-cmp kümmert sich um die automatische Vervollständigung. 4. Ein Thema, das die Augen schont -- lua/plugins/theme.lua return { 'catppuccin/nvim', name = 'catppuccin', priority = 1000, config = function() vim.cmd.colorscheme 'catppuccin-mocha' end } Tastaturbelegung, die verhindert, dass sich Ihre Hände weit bewegen Einer der Gründe für den Wechsel zu Neovim war die Ergonomie. Ich möchte, dass die Hand in der Startreihe bleibt. Einige Keymaps, die ich verwende: -- lua/config/keymaps.lua vim.keymap.set('n', '<leader>w', ':w<CR>', { desc = 'Simpan file' }) vim.keymap.set('n', '<leader>q', ':q<CR>', { desc = 'Tutup buffer' }) vim.keymap.set('n', '<leader>h', '<C-w>h', { desc = 'Pindah ke split kiri' }) vim.keymap.set('n', '<leader>j', '<C-w>j', { desc = 'Pindah ke split bawah' }) vim.keymap.set('n', '<leader>k', '<C-w>k', { desc = 'Pindah ke split atas' }) vim.keymap.set('n', '<leader>l', '<C-w>l', { desc = 'Pindah ke split kanan' }) Für die Führungstaste verwende ich eine Leertaste, da diese mit dem Daumen gut zu erreichen ist. Es ist nicht erforderlich, das Handgelenk wie beim Schlagen einer Kombination zu drehen Strg + Umschalt + ... in einem herkömmlichen Editor. Übergang vom VS-Code: Tipps zum Überleben Die erste Woche nach dem Wechsel zu Neovim fühlte sich an, als würde man das Abtippen lernen. Ich bin oft frustriert, weil Dinge normalerweise mit einem Klick erledigt sind und ich mir die Verknüpfung merken muss. Aber es gibt einige Strategien, die mir helfen zu überleben: Migrieren Sie nicht alles auf einmal: Beginnen Sie mit einer Konfigurationsdatei oder einem kleinen Skript, nicht mit dem Hauptprojekt. Erlernen Sie nach und nach die Bearbeitungsfähigkeiten: Normalmodus, Einfügemodus, visueller Modus. Konzentrieren Sie sich zunächst auf die grundlegende Navigation. Erstellen Sie Verknüpfungsnotizen: Ich habe meine Lieblings-Keymap in meinen Notizen aufgeschrieben, bis meine Muskeln sich daran erinnerten. Verwenden vimtutor: Einfach im Terminal laufen, eine Woche lang 30 Minuten am Tag üben. Seien Sie kein Perfektionist: Die Konfiguration muss nicht vom ersten Tag an perfekt sein. Ich vereinfache mein Setup immer noch oft. Abschluss Neovim ist nicht die Antwort für jeden. Wenn Sie einen Editor benötigen, der ohne Konfiguration sofort läuft, ist VS Code oder IDE immer noch eine vernünftige Wahl. Wenn Sie jedoch einen Editor wünschen, der vollständig anpassbar ist, schnell im Terminal funktioniert und das manuelle Umschalten zwischen Tastatur und Maus reduziert, ist Neovim einen Versuch wert. Für mich wurde der Prozess des Zusammenbaus von Neovim tatsächlich Teil des Lernens. Jedes installierte Plugin, jede hinzugefügte Keymap ist eine Entscheidung darüber, wie ich arbeiten möchte. Am Ende habe ich nicht nur einen neuen Editor gewonnen, sondern auch ein tieferes Verständnis für die Tools, die ich täglich verwende. Wenn Sie Neovim ausprobiert haben, welches ist Ihr Lieblings-Plugin? Oder sind Sie noch unsicher, ob es um einen Umzug geht? Schreiben Sie in die Kommentarspalte.