From 060a8f28fa1fc648bdf66afb31a5d1efac868837 Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 28 Jul 2023 22:24:15 +0200 Subject: makefu: move out to own repo, add vacation-note --- makefu/2configs/editor/neovim/default.nix | 61 ---- makefu/2configs/editor/neovim/vimrc | 469 ------------------------------ makefu/2configs/editor/vim.nix | 21 -- makefu/2configs/editor/vimrc | 117 -------- 4 files changed, 668 deletions(-) delete mode 100644 makefu/2configs/editor/neovim/default.nix delete mode 100644 makefu/2configs/editor/neovim/vimrc delete mode 100644 makefu/2configs/editor/vim.nix delete mode 100644 makefu/2configs/editor/vimrc (limited to 'makefu/2configs/editor') diff --git a/makefu/2configs/editor/neovim/default.nix b/makefu/2configs/editor/neovim/default.nix deleted file mode 100644 index a6fc1abc1..000000000 --- a/makefu/2configs/editor/neovim/default.nix +++ /dev/null @@ -1,61 +0,0 @@ -{pkgs, config, ...}: -{ - fonts.fonts = [ pkgs.font-awesome_5 ]; - # Neovim dependencies - home-manager.users.makefu = { - home.packages = with pkgs; [ - ctags # dependencie - jq # For fixing json files - xxd # .bin files will be displayed with xxd - shellcheck # Shell linting - # ansible-lint # Ansible linting - unzip # To vim into unzipped files - # nodePackages.jsonlint # json linting - #ccls # C/C++ language server - #clang-tools # C++ fixer - cargo - - # Go support - #go - #gotools - #gocode - ]; - - home.file.".config/pycodestyle".text= '' - [pycodestyle] - max-line-length = 125 - ''; - programs.neovim = { - enable = true; - withPython3 = true; - # withNodeJs = true; - extraPython3Packages = (ps: with ps; [ - # python-language-server - # pyls-mypy - black libxml2 - ]); - extraConfig = builtins.readFile ./vimrc; - plugins = with pkgs.vimPlugins;[ - undotree - vim-addon-nix - - nerdtree # file manager - commentary # comment stuff out based on language - fugitive # full git integration - vim-airline-themes # lean & mean status/tabline - vim-airline # status bar - gitgutter # git diff in the gutter (sign column) - vim-trailing-whitespace # trailing whitspaces in red - tagbar # F3 function overview - ReplaceWithRegister # For better copying/replacing - polyglot # Language pack - vim-indent-guides # for displaying indent levels - deoplete-nvim # general autocompletion - deoplete-go - ale - molokai # color scheme - ]; - }; - }; -} - diff --git a/makefu/2configs/editor/neovim/vimrc b/makefu/2configs/editor/neovim/vimrc deleted file mode 100644 index 2a0a59f01..000000000 --- a/makefu/2configs/editor/neovim/vimrc +++ /dev/null @@ -1,469 +0,0 @@ -"***************************************************************************** -"" Functions -"***************************************************************************** - -function! GetBufferList() - redir =>buflist - silent! ls! - redir END - return buflist -endfunction - -function! ToggleList(bufname, pfx) - let buflist = GetBufferList() - for bufnum in map(filter(split(buflist, '\n'), 'v:val =~ "'.a:bufname.'"'), 'str2nr(matchstr(v:val, "\\d\\+"))') - if bufwinnr(bufnum) != -1 - exec(a:pfx.'close') - return - endif - endfor - if a:pfx == 'l' && len(getloclist(0)) == 0 - echohl ErrorMsg - echo "Location List is Empty." - return - endif - let winnr = winnr() - exec(a:pfx.'open') - if winnr() != winnr - wincmd p - endif -endfunction - - -"***************************************************************************** -"" Basic Setup -"*****************************************************************************" -" General -let no_buffers_menu=1 -syntax on -set ruler -set number -set mousemodel=popup -set t_Co=256 -set guioptions=egmrti -set gfn=Monospace\ 10 - -" TODO: Testing if this works against automatically setting paste mode -" Issue: https://github.com/neovim/neovim/issues/7994 -au InsertLeave * set nopaste - - -set undofile -"maximum number of changes that can be undone -set undolevels=1000000 -"maximum number lines to save for undo on a buffer reload -set undoreload=10000000 - -set backupdir=~/.vim/backup -set directory=~/.vim/tmp -set undodir =~/.vim/undo - -" create Backup/tmp/undo dirs -set backupdir=~/.vim/backup -set directory=~/.vim/tmp - -function! InitBackupDir() - let l:parent = $HOME . '/.vim/' - let l:backup = l:parent . 'backup/' - let l:tmpdir = l:parent . 'tmp/' - let l:undodir= l:parent . 'undo/' - - - if !isdirectory(l:parent) - call mkdir(l:parent) - endif - if !isdirectory(l:backup) - call mkdir(l:backup) - endif - if !isdirectory(l:tmpdir) - call mkdir(l:tmpdir) - endif - if !isdirectory(l:undodir) - call mkdir(l:undodir) - endif -endfunction -call InitBackupDir() - -augroup Binary - " edit binaries in xxd-output, xxd is part of vim - au! - au BufReadPre *.bin let &bin=1 - au BufReadPost *.bin if &bin | %!xxd - au BufReadPost *.bin set ft=xxd | endif - au BufWritePre *.bin if &bin | %!xxd -r - au BufWritePre *.bin endif - au BufWritePost *.bin if &bin | %!xxd - au BufWritePost *.bin set nomod | endif -augroup END - -" Encoding -set encoding=utf-8 -set fileencoding=utf-8 -set fileencodings=utf-8 -set bomb -set binary - -" Fix backspace indent -set backspace=indent,eol,start - -" Tabs. May be overriten by autocmd rules -set tabstop=4 -set softtabstop=0 -set shiftwidth=4 -set expandtab - -" Map leader to , -let mapleader=',' - -" Required for operations modifying multiple buffers like rename. -set hidden - -" Searching -set hlsearch -set incsearch -set ignorecase -set smartcase - -" Directories for swp files -set nobackup -set noswapfile - -set fileformats=unix,dos,mac - -" File overview -set wildmode=list:longest,list:full -set wildignore+=*.o,*.obj,.git,*.rbc,*.pyc,__pycache__ - -" Shell to emulate -if exists('$SHELL') - set shell=$SHELL -else - set shell=/bin/bash -endif - -" Set color scheme -colorscheme molokai - -"Show always Status bar -set laststatus=2 - -" Use modeline overrides -set modeline -set modelines=10 - -" Set terminal title -set title -set titleold="Terminal" -set titlestring=%F - -" search will center on the line it's found in. -nnoremap n nzzzv -nnoremap N Nzzzv - - - -"***************************************************************************** -"" Abbreviations -"***************************************************************************** -" no one is really happy until you have this shortcuts -cnoreabbrev W! w! -cnoreabbrev Q! q! -cnoreabbrev Qall! qall! -cnoreabbrev Wq wq -cnoreabbrev Wa wa -cnoreabbrev wQ wq -cnoreabbrev WQ wq -cnoreabbrev W w -cnoreabbrev Q q -cnoreabbrev Qall qall - -" NERDTree configuration -let g:NERDTreeChDirMode=2 -let g:NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '\.db$', '\.sqlite$', '__pycache__'] -let g:NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$'] -let g:NERDTreeShowBookmarks=1 -let g:nerdtree_tabs_focus_on_files=1 -let g:NERDTreeMapOpenInTabSilent = '' -let g:NERDTreeWinSize = 50 -set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite -nnoremap :NERDTreeFind -nnoremap :NERDTreeToggle - - -" open terminal emulation -nnoremap sh :terminal:startinsert - -"***************************************************************************** -"" Autocmd Rules -"***************************************************************************** -"" The PC is fast enough, do syntax highlight syncing from start unless 200 lines -augroup vimrc-sync-fromstart - autocmd! - autocmd BufEnter * :syntax sync maxlines=200 -augroup END - -" Nasm filetype -augroup nasm - autocmd! - autocmd BufRead,BufNewFile *.nasm set ft=nasm -augroup END - -" Binary filetype -augroup Binary - au! - au BufReadPre *.bin,*.exe,*.elf let &bin=1 - au BufReadPost *.bin,*.exe,*.elf if &bin | %!xxd - au BufReadPost *.bin,*.exe,*.elf set ft=xxd | endif - au BufWritePre *.bin,*.exe,*.elf if &bin | %!xxd -r - au BufWritePre *.bin,*.exe,*.elf endif - au BufWritePost *.bin,*.exe,*.elf if &bin | %!xxd - au BufWritePost *.bin,*.exe,*.elf set nomod | endif -augroup END - -" Binary filetype -augroup fasm - au! - au BufReadPost *.fasm set ft=fasm -augroup END - -augroup deoplete-update - autocmd! - autocmd VimEnter * UpdateRemotePlugin -augroup END - - - -"" Remember cursor position -augroup vimrc-remember-cursor-position - autocmd! - autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif -augroup END - -"" txt -" augroup vimrc-wrapping -" autocmd! -" autocmd BufRead,BufNewFile *.txt call s:setupWrapping() -" augroup END - -"" make/cmake -augroup vimrc-make-cmake - autocmd! - autocmd FileType make setlocal noexpandtab - autocmd BufNewFile,BufRead CMakeLists.txt setlocal filetype=cmake -augroup END - -set autoread - -"***************************************************************************** -"" Mappings -"***************************************************************************** - -" Split -noremap h :split -noremap v :vsplit - -" Git -noremap ga :Gwrite -noremap gc :Gcommit -noremap gsh :Gpush -noremap gll :Gpull -noremap gs :Gstatus -noremap gb :Gblame -noremap gd :Gvdiff -noremap gr :Gremove - -" Tabs -nnoremap gt -nnoremap gT -nnoremap :tabnew - -" Set working directory -nnoremap . :lcd %:p:h - -" Opens an edit command with the path of the currently edited file filled in -noremap e :e =expand("%:p:h") . "/" - -" Opens a tab edit command with the path of the currently edited file filled -noremap te :tabe =expand("%:p:h") . "/" - -" Tagbar -nmap :TagbarToggle -let g:tagbar_autofocus = 1 - -" Copy/Paste/Cut -set clipboard^=unnamed,unnamedplus - -noremap YY "+y -noremap p "+gP -noremap XX "+x - -" Enable mouse for vim -set mouse=a - -" Buffer nav -noremap z :bp -noremap q :bp -noremap x :bn -noremap w :bn - -" Close buffer -noremap c :bd - -" Clean search (highlight) -nnoremap :noh - -" Switching windows -noremap j -noremap k -noremap l -noremap h - -" Vmap for maintain Visual Mode after shifting > and < -vmap < >gv - -" Move visual block -vnoremap J :m '>+1gv=gv -vnoremap K :m '<-2gv=gv - -" Open current line on GitHub -nnoremap o :.Gbrowse - - -" Save on strg+s if not in paste mode -nmap :w -vmap gv -imap - -" Quit on strg+q in normal mode -nnoremap :q - -" Strg+d to replace word under cursor -nnoremap :%s/\<\>//g - -" Strg+f ro find word under cursor -nnoremap :/ - -" Remove unneccessary spaces -nnoremap :let _s=@/ :%s/\s\+$//e :let @/=_s :nohl :unlet _s - -" undotree -nnoremap :UndotreeToggle - -" Reindent whole file with F6 -map mzgg=G`z - -nnoremap :set invpaste paste? -set pastetoggle= -set showmode - -" save on focus lost -au FocusLost * :wa - -" Toggle location list -nmap :call ToggleList("Quickfix List", 'c') - -" Replacing text in visual mode doesn't copy it anymore -xmap p ReplaceWithRegisterVisual -xmap ReplaceWithRegisterVisual - -"" Opens an edit command with the path of the currently edited file filled in -noremap e :e =expand("%:p:h") . "/" - -" Use tab for navigatin in autocompletion window -inoremap pumvisible() ? "\" : "\" -inoremap pumvisible() ? "\" : "\" - -" ALE mappings -nmap i (ale_hover) -nmap d (ale_go_to_definition_in_tab) -nmap rf (ale_find_references) -nmap (ale_fix) - -"***************************************************************************** -"" Plugin settings -"***************************************************************************** - -" vim-airline -set statusline+=%{fugitive#statusline()} -let g:airline_theme = 'powerlineish' -let g:airline#extensions#syntastic#enabled = 1 -let g:airline#extensions#branch#enabled = 1 -let g:airline#extensions#tabline#enabled = 1 -let g:airline#extensions#tagbar#enabled = 1 -let g:airline_skip_empty_sections = 1 -let g:airline#extensions#ale#enabled = 1 - -" show indent lines -let g:indent_guides_enable_on_vim_startup = 1 -let g:indent_guides_auto_colors = 0 -hi IndentGuidesOdd ctermbg=235 -hi IndentGuidesEven ctermbg=235 -let g:indent_guides_guide_size = 1 -let g:indent_guides_start_level = 2 - -" Enable autocompletion -let g:deoplete#enable_at_startup = 1 -set completeopt=noinsert,menuone,noselect -let g:deoplete#sources = {} -let g:deoplete#sources._ = ['ale', 'file', 'omni', 'buffer'] - -" Ale no preview on hover -let g:ale_close_preview_on_insert = 0 -let g:ale_cursor_detail = 0 - -" Ale skip if file size over 2G -let g:ale_maximum_file_size = "2147483648" -let g:ale_set_quickfix = 1 - -" Ale language server -let g:ale_linters = { - \ 'python': ['pyls'], - \ 'cpp': ['ccls'], - \ 'c': ['gcc'], - \ 'xml': ['xmllint'], - \ 'rust': ['cargo'], - \ 'go': ['gofmt'], - \ } - -" ALE fixers -let g:ale_fixers = { '*': ['remove_trailing_lines', 'trim_whitespace'] } -let g:ale_fixers.python = ['black'] -let g:ale_fixers.go = ['gofmt'] -let g:ale_fixers.c = ['clang-format'] -let g:ale_fixers.cpp = ['clang-format'] -let g:ale_fixers.json = ['jq'] -let g:ale_fixers.xml = ['xmllint'] - -let g:ale_completion_enabled = 1 -let g:ale_sign_error = '⤫' -let g:ale_sign_warning = '⚠' -let g:ale_lint_on_insert_leave = 1 - -"***************************************************************************** -"" Shortcuts overview -"***************************************************************************** -" Shortcuts overview -" F1 --> Filetree find -" F2 --> Filetree toggle -" F3 --> Function overview -" F4 --> Toggle error bar - -" F5 --> undotree -" F6 --> Reindent whole file -" F7 --> Format and lint file -" F8 --> Remove trailing whitespaces -" F9 --> toggle paste -" ,i --> Information about function -" ,d --> Jump to definition -" ,r --> Rename in all occurences -" ,rf --> Find references of function/variable -" ,e --> Change current file -" ,te --> Open file in new tab -" u --> Undo -" strg+f --> Find current selected word -" strg+d --> Replace current selected word -" strg+s --> Save file -" strg+q --> Close current file -" space+, --> Stop highlighting words after search - diff --git a/makefu/2configs/editor/vim.nix b/makefu/2configs/editor/vim.nix deleted file mode 100644 index 305f26a04..000000000 --- a/makefu/2configs/editor/vim.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, pkgs, ... }: - -{ - - environment.systemPackages = [ - ((pkgs.vim_configurable).customize { - name = "vim"; - vimrcConfig.customRC = builtins.readFile ./vimrc; - vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { start = [ - "undotree" - "YouCompleteMe" - #"UltiSnips" - # vim-nix handles indentation better but does not perform sanity - "vim-nix" - "vim-addon-nix" - "vim-better-whitespace" - ]; - }; - }) - ]; -} diff --git a/makefu/2configs/editor/vimrc b/makefu/2configs/editor/vimrc deleted file mode 100644 index d270effa2..000000000 --- a/makefu/2configs/editor/vimrc +++ /dev/null @@ -1,117 +0,0 @@ -set nocompatible -syntax on -set list -set listchars=tab:▸\ -"set list listchars=tab:>-,trail:.,extends:> - -filetype off -filetype plugin indent on - -colorscheme desert -set background=dark - -set number -set relativenumber -set mouse=a -set ignorecase -set incsearch -set wildignore=*.o,*.obj,*.bak,*.exe,*.os -set textwidth=79 -set shiftwidth=2 -set expandtab -set softtabstop=2 -set shiftround -set smarttab -set tabstop=2 -set et -set autoindent -set backspace=indent,eol,start - - -inoremap -nnoremap -vnoremap - -nnoremap :UndotreeToggle -set undodir =~/.vim/undo -set undofile -"maximum number of changes that can be undone -set undolevels=1000000 -"maximum number lines to save for undo on a buffer reload -set undoreload=10000000 - -nnoremap :set invpaste paste? -set pastetoggle= -set showmode - -set showmatch -set matchtime=3 -set hlsearch - -autocmd ColorScheme * highlight ExtraWhitespace ctermbg=red guibg=red - -let g:better_whitespace_enabled=1 -let g:strip_whitespace_on_save=1 - - -" save on focus lost -au FocusLost * :wa - -autocmd BufRead *.json set filetype=json -au BufNewFile,BufRead *.mustache set syntax=mustache - -cnoremap SudoWrite w !sudo tee > /dev/null % - -" create Backup/tmp/undo dirs -set backupdir=~/.vim/backup -set directory=~/.vim/tmp - -function! InitBackupDir() - let l:parent = $HOME . '/.vim/' - let l:backup = l:parent . 'backup/' - let l:tmpdir = l:parent . 'tmp/' - let l:undodir= l:parent . 'undo/' - - - if !isdirectory(l:parent) - call mkdir(l:parent) - endif - if !isdirectory(l:backup) - call mkdir(l:backup) - endif - if !isdirectory(l:tmpdir) - call mkdir(l:tmpdir) - endif - if !isdirectory(l:undodir) - call mkdir(l:undodir) - endif -endfunction -call InitBackupDir() - -augroup Binary - " edit binaries in xxd-output, xxd is part of vim - au! - au BufReadPre *.bin let &bin=1 - au BufReadPost *.bin if &bin | %!xxd - au BufReadPost *.bin set ft=xxd | endif - au BufWritePre *.bin if &bin | %!xxd -r - au BufWritePre *.bin endif - au BufWritePost *.bin if &bin | %!xxd - au BufWritePost *.bin set nomod | endif -augroup END - - -" youcompleteme -let g:ycm_collect_identifiers_from_tags_files = 1 " Let YCM read tags from Ctags file -let g:ycm_use_ultisnips_completer = 1 " Default 1, just ensure -let g:ycm_seed_identifiers_with_syntax = 1 " Completion for programming language's keyword -let g:ycm_complete_in_comments = 1 " Completion in comments -let g:ycm_complete_in_strings = 1 " Completion in string - -" utilsnips -let g:UltiSnipsExpandTrigger = "" -let g:UltiSnipsJumpForwardTrigger = "" -let g:UltiSnipsJumpBackwardTrigger = "" -let g:UltiSnipsListSnippets = "" "List possible snippets based on current file - -hi MatchParen cterm=none ctermbg=green ctermfg=blue -- cgit v1.2.3