-- Explorer-Konfiguration (Neo-tree) require('neo-tree').setup({ close_if_last_window = false, popup_border_style = "rounded", enable_git_status = true, enable_diagnostics = true, sources = { "filesystem", "buffers", "git_status", }, source_selector = { winbar = true, content_layout = "center", tabs_layout = "equal", }, filesystem = { filtered_items = { visible = true, hide_dotfiles = false, hide_gitignored = false, }, follow_current_file = { enabled = true, }, use_libuv_file_watcher = true, }, window = { position = "right", width = 35, mapping_options = { noremap = true, nowait = true, }, }, git_status = { symbols = { added = "✚", modified = "", deleted = "✖", renamed = "➜", untracked = "★", ignored = "◌", unstaged = "✗", staged = "✓", conflict = "", }, }, }) -- Harpoon (Schnellwechsel zwischen Dateien) local mark = require("harpoon.mark") local ui = require("harpoon.ui") vim.keymap.set("n", "a", mark.add_file, { desc = "Datei zu Harpoon hinzufügen" }) vim.keymap.set("n", "h", ui.toggle_quick_menu, { desc = "Harpoon-Menü anzeigen" }) -- Schnellzugriff auf die ersten 4 Dateien vim.keymap.set("n", "1", function() ui.nav_file(1) end, { desc = "Harpoon Datei 1" }) vim.keymap.set("n", "2", function() ui.nav_file(2) end, { desc = "Harpoon Datei 2" }) vim.keymap.set("n", "3", function() ui.nav_file(3) end, { desc = "Harpoon Datei 3" }) vim.keymap.set("n", "4", function() ui.nav_file(4) end, { desc = "Harpoon Datei 4" }) -- Tastenkombinationen für Neo-tree vim.keymap.set("n", "e", ":Neotree toggle right", { silent = true, desc = "Explorer öffnen" }) -- Git Signs require('gitsigns').setup({ signs = { add = { text = '+' }, change = { text = '~' }, delete = { text = '_' }, topdelete = { text = '‾' }, changedelete = { text = '~' }, untracked = { text = '┆' }, }, signcolumn = true, on_attach = function(bufnr) local gs = package.loaded.gitsigns -- Navigation zwischen Änderungen vim.keymap.set('n', ']c', function() if vim.wo.diff then return ']c' end vim.schedule(function() gs.next_hunk() end) return '' end, { expr = true, buffer = bufnr }) vim.keymap.set('n', '[c', function() if vim.wo.diff then return '[c' end vim.schedule(function() gs.prev_hunk() end) return '' end, { expr = true, buffer = bufnr }) end })