nix: Editor config
Should have started there I guess.
This commit is contained in:
parent
3d9dc4a4bf
commit
7f71eec03c
|
@ -1,11 +0,0 @@
|
|||
- name: Upgrade Neovim plugins
|
||||
command: "nvim +PlugUpgrade +PlugUpdate +PlugInstall +qall!"
|
||||
listen: nvim plugins changed
|
||||
environment:
|
||||
VIMINIT: "source {{ ansible_user_dir }}/.config/nvim/plugininstall.vim"
|
||||
|
||||
- name: Upgrade Vim plugins
|
||||
command: "vim +PlugUpgrade +PlugUpdate +PlugInstall +qall!"
|
||||
listen: vim plugins changed
|
||||
environment:
|
||||
VIMINIT: "source {{ ansible_user_dir }}/.config/vim/plugininstall.vim"
|
|
@ -1,101 +0,0 @@
|
|||
" From https://www.hillelwayne.com/post/intermediate-vim/
|
||||
|
||||
set encoding=utf-8
|
||||
set title
|
||||
|
||||
set number
|
||||
set ruler
|
||||
set wrap
|
||||
|
||||
set scrolloff=10
|
||||
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set gdefault
|
||||
if has('nvim')
|
||||
set inccommand=nosplit " Shows you in realtime what changes your ex command should make.
|
||||
endif
|
||||
|
||||
set incsearch
|
||||
|
||||
set hlsearch
|
||||
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
|
||||
set visualbell
|
||||
set noerrorbells
|
||||
|
||||
set backspace=indent,eol,start
|
||||
|
||||
set hidden
|
||||
set updatetime=250
|
||||
set lazyredraw " Do not redraw screen in the middle of a macro. Makes them complete faster.
|
||||
|
||||
set cursorcolumn
|
||||
|
||||
set splitbelow
|
||||
|
||||
" Turn off relativenumber only for insert mode.
|
||||
if has('nvim')
|
||||
set relativenumber
|
||||
augroup every
|
||||
autocmd!
|
||||
au InsertEnter * set norelativenumber
|
||||
au InsertLeave * set relativenumber
|
||||
augroup END
|
||||
endif
|
||||
|
||||
" Keep undo history across sessions by storing it in a file
|
||||
if has('persistent_undo')
|
||||
let myUndoDir = expand(vimDir . '/undodir')
|
||||
" Create dirs
|
||||
call system('mkdir ' . myUndoDir)
|
||||
let &undodir = myUndoDir
|
||||
set undofile
|
||||
endif
|
||||
|
||||
syntax enable
|
||||
|
||||
" From http://stackoverflow.com/a/5004785/2766106
|
||||
set list
|
||||
set listchars=tab:╾╌,trail:·,extends:↦,precedes:↤,nbsp:_
|
||||
set showbreak=↪
|
||||
|
||||
filetype on
|
||||
filetype plugin on
|
||||
filetype indent on
|
||||
|
||||
set wildmode=longest:full,full
|
||||
set wildmenu
|
||||
set showcmd
|
||||
|
||||
" Completion
|
||||
|
||||
" Avoid showing message extra message when using completion
|
||||
set shortmess+=c
|
||||
|
||||
" Close the file explorer once you select a file
|
||||
let g:netrw_fastbrowse = 0
|
||||
|
||||
" Allow saving of files as sudo when I forgot to start vim using sudo.
|
||||
" From https://stackoverflow.com/a/7078429
|
||||
cmap w!! w !sudo tee > /dev/null %
|
||||
|
||||
imap jk <Esc>
|
||||
vmap <Enter> <Esc>
|
||||
|
||||
nmap <Enter> o<Esc>
|
||||
nmap <C-H> :bp<CR>
|
||||
nmap <C-L> :bn<CR>
|
||||
nmap <C-K> kkkkkkkkkkkkkkkkkkkkk
|
||||
nmap <C-J> jjjjjjjjjjjjjjjjjjjjj
|
||||
|
||||
" \s to replace globally the word under the cursor
|
||||
nnoremap <Leader>s :%s/\<<C-r><C-w>\>/
|
||||
|
||||
" add extensions to syntax
|
||||
au BufNewFile,BufRead *.jinja set filetype=jinja2
|
||||
|
||||
command Reload source $MYVIMRC
|
|
@ -1,18 +1,3 @@
|
|||
set nocompatible
|
||||
filetype on
|
||||
|
||||
" SET PATHS
|
||||
|
||||
set runtimepath+=~/.config/{{ variant }}
|
||||
let vimDir = '$HOME/.cache/{{ variant }}'
|
||||
call system('mkdir ' . vimDir)
|
||||
let &runtimepath.=','.vimDir
|
||||
set viminfo+=n~/.cache/{{ variant }}/viminfo
|
||||
|
||||
" EDITOR CONFIGURATION
|
||||
|
||||
{% include 'editor.j2' %}
|
||||
|
||||
" PLUGINS CONFIGURATION
|
||||
|
||||
{% include 'pluginconfig.j2' %}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
# FIXME Still want this despite using nixvim
|
||||
gpg = {
|
||||
enable = true;
|
||||
homedir = "${config.xdg.dataHome}/gnupg";
|
||||
homedir = "${config.xdg.stateHome}/gnupg";
|
||||
settings = {
|
||||
# Remove fluff
|
||||
no-greeting = true;
|
||||
|
|
|
@ -34,6 +34,40 @@ in
|
|||
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
options = {
|
||||
# From https://www.hillelwayne.com/post/intermediate-vim/
|
||||
title = true;
|
||||
number = true;
|
||||
relativenumber = true;
|
||||
scrolloff = 10;
|
||||
lazyredraw = true; # Do not redraw screen in the middle of a macro. Makes them complete faster.
|
||||
cursorcolumn = true;
|
||||
|
||||
ignorecase = true;
|
||||
smartcase = true;
|
||||
gdefault = true;
|
||||
|
||||
tabstop = 4;
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
|
||||
splitbelow = true;
|
||||
visualbell = true;
|
||||
|
||||
updatetime = 250;
|
||||
undofile = true;
|
||||
|
||||
# From http://stackoverflow.com/a/5004785/2766106
|
||||
list = true;
|
||||
listchars = "tab:╾╌,trail:·,extends:↦,precedes:↤,nbsp:_";
|
||||
showbreak = "↪";
|
||||
|
||||
wildmode = "longest:full,full";
|
||||
wildmenu = true;
|
||||
};
|
||||
globals = {
|
||||
netrw_fastbrowse = 0; # Close the file explorer once you select a file
|
||||
};
|
||||
colorschemes.base16 = {
|
||||
# FIXME Dynamic... or use stylix
|
||||
enable = true;
|
||||
|
@ -249,6 +283,15 @@ in
|
|||
./vim/nvim-ts-rainbow.lua
|
||||
];
|
||||
extraConfigVim = ''
|
||||
" GENERAL
|
||||
|
||||
" Avoid showing message extra message when using completion
|
||||
set shortmess+=c
|
||||
|
||||
command Reload source $MYVIMRC
|
||||
|
||||
" PLUGINS
|
||||
|
||||
" vim-gutentags
|
||||
let g:gutentags_cache_dir = expand('~/.cache/nvim/tags')
|
||||
|
||||
|
@ -273,12 +316,44 @@ in
|
|||
|
||||
'';
|
||||
autoCmd = [
|
||||
# Turn off relativenumber only for insert mode
|
||||
{ event = "InsertEnter *"; command = "set norelativenumber"; }
|
||||
{ event = "InsertLeave *"; command = "set relativenumber"; }
|
||||
|
||||
# Additional extensions
|
||||
{ event = "BufNewFile,BufRead"; pattern = "*.jinja"; command = "set filetype=jinja2"; } # TODO Probably GH-specific?
|
||||
|
||||
# vim-easy-align: Align Markdown tables
|
||||
{ event = "FileType markdown"; command = "vmap <Bar> :EasyAlign*<Bar><Enter>"; }
|
||||
];
|
||||
|
||||
userCommands = {
|
||||
# Reload = { command = "source $MYVIRMC"; };
|
||||
# TODO Is not working, options is set to nil even though it shouldn't
|
||||
};
|
||||
|
||||
# 23.11: Use keymaps, seems better
|
||||
maps = {
|
||||
# GENERAL
|
||||
|
||||
# Allow saving of files as sudo when I forgot to start vim using sudo.
|
||||
# From https://stackoverflow.com/a/7078429
|
||||
command."w!!" = { action = "w !sudo tee > /dev/null %"; };
|
||||
|
||||
insert."jk" = { action = "<Esc>"; };
|
||||
visual."<Enter>" = { action = "<Esc>"; };
|
||||
normal."<Enter>" = { action = "o<Esc>"; };
|
||||
|
||||
# normal."<C-H>" = { action = ":bp<CR>"; };
|
||||
# normal."<C-L>" = { action = ":bn<CR>"; };
|
||||
normal."<C-K>" = { action = "kkkkkkkkkkkkkkkkkkkkk"; };
|
||||
normal."<C-J>" = { action = "jjjjjjjjjjjjjjjjjjjjj"; };
|
||||
|
||||
# \s to replace globally the word under the cursor
|
||||
normal."<Leader>s" = { action = ":%s/\\<<C-r><C-w>\\>/"; };
|
||||
|
||||
# PLUGINS
|
||||
|
||||
# barbar
|
||||
normal."<C-H>" = { action = "<Cmd>BufferPrevious<CR>"; silent = true; };
|
||||
normal."<C-L>" = { action = "<Cmd>BufferNext<CR>"; silent = true; };
|
||||
|
|
Loading…
Reference in a new issue