ref(nix): dropped vim legacy support

This commit is contained in:
Léana 江 2024-01-19 21:25:47 +01:00 committed by Léana 江
parent 8310cb9794
commit c9e9e4a4de
4 changed files with 21 additions and 2837 deletions

View file

@ -18,6 +18,7 @@
./btop
./neovim
./vim
];
programs = {
@ -45,7 +46,6 @@
# Editors
tmux
vim
gcc
];
}

View file

@ -0,0 +1,18 @@
{pkgs, ...}: {
programs = {
vim = {
enable = true;
defaultEditor = true;
extraConfig = builtins.readFile ./vimrc;
plugins = with pkgs.vimPlugins;[
vim-sleuth
vim-surround
vim-fugitive
vim-commentary
undotree
tabular
vim-wakatime
];
};
};
}

106
nix/home/common/vim/vimrc Normal file
View file

@ -0,0 +1,106 @@
set belloff=all
set hlsearch
set incsearch
set number
set relativenumber
set cursorline
set tabstop=4
set shiftwidth=4
set noexpandtab
set nowrap
set linebreak
set breakindent
set noswapfile
set nobackup
set undofile
set termguicolors
syntax on
set ignorecase
set smartcase
set autoindent
set smartindent
set scrolloff=3
set colorcolumn=80
"""""""""""
" Keymaps "
"""""""""""
let mapleader = " "
vnoremap J :m '>+1<CR>gv=gv
vnoremap K :m '<-2<CR>gv=gv
" Centered motions
nnoremap <C-d> <C-d>zz
nnoremap <C-u> <C-u>zz
nnoremap n nzzzv
nnoremap N Nzzzv
nnoremap J mzJ`z
" Better clipboard
nnoremap <Leader>d "_d
nnoremap <Leader>c "_dc
nnoremap <Leader>p "_dP
nnoremap <Leader>y "+y
xnoremap <Leader>d "_d
xnoremap <Leader>c "_dc
xnoremap <Leader>p "_dP
xnoremap <Leader>y "+y
vnoremap <Leader>d "_d
vnoremap <Leader>c "_dc
vnoremap <Leader>p "_dP
vnoremap <Leader>y "+y
" Linewrap jk
nnoremap j gj
nnoremap k gk
nnoremap <Down> g<Down>
nnoremap <Up> g<Up>
nnoremap <Leader>pv :Explore<CR> " Project View
nnoremap <Leader>nf :enew<CR> " New File
nnoremap <Leader>so :so %<CR> " Source buffer
cnoremap #capl \(.\{-}\) " helpers in regex
cnoremap #capm \(.*\)
nnoremap <Leader>+x :!chmod +x %<CR> " Permission
nnoremap <Leader>-x :!chmod -x %<CR>
nnoremap <Leader>w :setlocal invwrap<CR> " linewrap
nnoremap Q <nop>
"""""""""""""""""""
" Plugin mappings "
"""""""""""""""""""
" Fugitive
nmap <leader><space> :Git<CR>5<Down>
autocmd FileType fugitive nmap <buffer> <leader><space> :q<CR>
nmap <leader>gb :Git blame<CR>
autocmd FileType fugitiveblame nmap <buffer> <leader>gb :q<CR>
" Undotree
nmap <leader>u :UndotreeToggle<CR>:UndotreeFocus<CR>
autocmd FileType undotree nmap <buffer> <leader>u :q<CR>
" Tabular
nmap <leader>ta Tabularize /=<CR>
nmap <leader>tc Tabularize /:<CR>
nmap <leader>tC Tabularize trailing_c_comments<CR>
"""""""""""""""
" Colorscheme "
"""""""""""""""
" TODO: package paramount myself !
" colorscheme paramount