feat: Sync complete config - Fish, Ghostty, Neovim Scratch

- Add missing Fish configs (direnv, ssh function)
- Add Tokyo Night theme for Ghostty
- Complete Neovim scratch config sync
- Rewrite install.sh for new structure
- Add comprehensive README.md
This commit is contained in:
2025-10-13 10:00:52 +02:00
parent 5a7a2fdf9f
commit 8230492c3a
60 changed files with 1893 additions and 4382 deletions

View File

@@ -0,0 +1,50 @@
-- ============================================================================
-- Keymaps - Tastenkombinationen
-- ============================================================================
local keymap = vim.keymap.set
-- ESC clear search highlighting
keymap('n', '<Esc>', '<cmd>nohlsearch<CR>', { desc = 'Clear search highlighting' })
-- Better window navigation
keymap('n', '<C-h>', '<C-w>h', { desc = 'Navigate to left window' })
keymap('n', '<C-j>', '<C-w>j', { desc = 'Navigate to bottom window' })
keymap('n', '<C-k>', '<C-w>k', { desc = 'Navigate to top window' })
keymap('n', '<C-l>', '<C-w>l', { desc = 'Navigate to right window' })
-- Resize windows
keymap('n', '<C-Up>', ':resize +2<CR>', { desc = 'Increase window height' })
keymap('n', '<C-Down>', ':resize -2<CR>', { desc = 'Decrease window height' })
keymap('n', '<C-Left>', ':vertical resize -2<CR>', { desc = 'Decrease window width' })
keymap('n', '<C-Right>', ':vertical resize +2<CR>', { desc = 'Increase window width' })
-- Buffer navigation
keymap('n', '<S-h>', '<cmd>bprevious<CR>', { desc = 'Previous buffer' })
keymap('n', '<S-l>', '<cmd>bnext<CR>', { desc = 'Next buffer' })
keymap('n', '<leader>bd', '<cmd>bdelete<CR>', { desc = 'Delete buffer' })
-- Better indenting (bleibt in visual mode)
keymap('v', '<', '<gv', { desc = 'Indent left' })
keymap('v', '>', '>gv', { desc = 'Indent right' })
-- Move lines up/down
keymap('n', '<A-j>', ':m .+1<CR>==', { desc = 'Move line down' })
keymap('n', '<A-k>', ':m .-2<CR>==', { desc = 'Move line up' })
keymap('v', '<A-j>', ":m '>+1<CR>gv=gv", { desc = 'Move selection down' })
keymap('v', '<A-k>', ":m '<-2<CR>gv=gv", { desc = 'Move selection up' })
-- Go error handling (dein Shortcut!)
keymap('n', '<leader>ee', 'oif err != nil {<CR>}<Esc>Oreturn err<Esc>', { desc = 'Go error handling' })
-- Quick save
keymap('n', '<leader>w', '<cmd>w<CR>', { desc = 'Save file' })
-- Diagnostic keymaps (LSP errors)
keymap('n', '[d', vim.diagnostic.goto_prev, { desc = 'Previous diagnostic' })
keymap('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })
keymap('n', '<leader>cd', vim.diagnostic.open_float, { desc = 'Show diagnostic' })
keymap('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Diagnostic list' })
-- Terminal
keymap('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })

View File

@@ -0,0 +1,45 @@
-- ============================================================================
-- Lazy.nvim - Plugin Manager Setup
-- ============================================================================
-- lazy.nvim automatisch installieren wenn nicht vorhanden
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)
-- Plugins laden
require('lazy').setup({
-- Import alle Plugin-Specs aus lua/plugins/
{ import = 'plugins' },
}, {
-- Lazy.nvim UI Konfiguration
ui = {
border = 'rounded',
},
-- Performance
performance = {
rtp = {
disabled_plugins = {
'gzip',
'tarPlugin',
'tohtml',
'tutor',
'zipPlugin',
},
},
},
-- Check for updates aber nicht nerven
checker = {
enabled = true,
notify = false,
},
})

View File

@@ -0,0 +1,61 @@
-- ============================================================================
-- Neovim Options - Grundlegende Einstellungen
-- ============================================================================
local opt = vim.opt
-- Zeilennummern
opt.number = true
opt.relativenumber = false -- Absolute Nummern für QA-Arbeit
-- Maus
opt.mouse = 'a'
-- Clipboard (System Clipboard nutzen)
opt.clipboard = 'unnamedplus'
-- Tabs & Indentation
opt.tabstop = 2
opt.shiftwidth = 2
opt.expandtab = true
opt.autoindent = true
opt.breakindent = true
-- Suche
opt.ignorecase = true
opt.smartcase = true
opt.hlsearch = true
opt.incsearch = true
-- Aussehen
opt.termguicolors = true
opt.signcolumn = 'yes'
opt.cursorline = true
opt.scrolloff = 10
opt.sidescrolloff = 8
-- Split windows
opt.splitright = true
opt.splitbelow = true
-- Undo & Backup
opt.undofile = true
opt.backup = false
opt.swapfile = false
-- Performance
opt.updatetime = 250
opt.timeoutlen = 300
-- Whitespace characters
opt.list = true
opt.listchars = { tab = '» ', trail = '·', nbsp = '' }
-- Command line
opt.showmode = false -- Statusline zeigt mode schon
-- Completion
opt.completeopt = 'menu,menuone,noselect'
-- Fold (erstmal aus)
opt.foldenable = false