" ---------------------------------------- " Appearance and Colorscheme: Catppuccin " ---------------------------------------- set termguicolors " Enable true color support colorscheme catppuccin_mocha " Use the mocha variant (dark theme) " Optional: Lightline support (if installed) let g:lightline = { 'colorscheme': 'catppuccin_mocha' } " ---------------------------------------- " Smart indentation for C development " ---------------------------------------- filetype plugin indent on syntax enable set autoindent " Copy indentation from previous line set cindent " Use C-style indentation set cinoptions=:0,l1,t0,g0 " Linux style: brace on new line, minimal alignment set noexpandtab " Use real tab characters (not spaces) set shiftwidth=8 " Indent by 8 columns set softtabstop=8 " Insert/delete 8 spaces with tab/backspace set tabstop=8 " A tab character is 8 columns wide " ---------------------------------------- " Formatting on save with clang-format " (requires clang-format installed) " ---------------------------------------- let g:clang_format#style_options = { \ 'BasedOnStyle': 'LLVM', \ 'IndentWidth': 8, \ 'TabWidth': 8, \ 'UseTab': 'Always', \ 'BreakBeforeBraces': 'Linux', \ 'AllowShortIfStatementsOnASingleLine': 'false', \ 'AllowShortLoopsOnASingleLine': 'false', \ 'AllowShortFunctionsOnASingleLine': 'InlineOnly', \ 'ColumnLimit': 80, \ 'AlignConsecutiveDeclarations': 'false', \ 'AlignConsecutiveAssignments': 'false', \ 'AlignEscapedNewlines': 'Left', \ 'AlignOperands': 'false', \ 'IndentCaseLabels': 'false', \ 'SpaceBeforeParens': 'ControlStatements' \ } autocmd BufWritePre *.c,*.h silent! execute '%!clang-format' "autocmd BufWritePre *.c,*.h call system('clang-format -i ' . shellescape(@%)) " ---------------------------------------- " General UI settings " ---------------------------------------- set number " Show line numbers set cursorline " Highlight current line set ruler " Show cursor position set wildmenu " Enhanced command-line completion set nowrap " Don't wrap long lines set mouse=a " Enable mouse support