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:
50
.config/nvim/lua/core/keymaps.lua
Normal file
50
.config/nvim/lua/core/keymaps.lua
Normal 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' })
|
||||
45
.config/nvim/lua/core/lazy.lua
Normal file
45
.config/nvim/lua/core/lazy.lua
Normal 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,
|
||||
},
|
||||
})
|
||||
61
.config/nvim/lua/core/options.lua
Normal file
61
.config/nvim/lua/core/options.lua
Normal 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
|
||||
Reference in New Issue
Block a user