move all expressions to nix/; include modularized home-manager config
This commit is contained in:
parent
d76a7f963b
commit
13bd5e9000
65 changed files with 1726 additions and 511 deletions
246
nix/home-manager/programs/neovim/vimrc
Normal file
246
nix/home-manager/programs/neovim/vimrc
Normal file
|
@ -0,0 +1,246 @@
|
|||
set nocompatible
|
||||
set mouse=
|
||||
|
||||
" Enable Elite mode, No ARRRROWWS!!!!
|
||||
let g:elite_mode=1
|
||||
if get(g:, 'elite_mode')
|
||||
nnoremap <Up> :resize +2<CR>
|
||||
nnoremap <Down> :resize -2<CR>
|
||||
nnoremap <Left> :vertical resize +2<CR>
|
||||
nnoremap <Right> :vertical resize -2<CR>
|
||||
endif
|
||||
|
||||
nnoremap <expr>K getline('.')[col('.')-1]==' ' ? "r<CR>" : "i<CR><Esc>"
|
||||
|
||||
" Enable highlighting of the current line
|
||||
set cursorline
|
||||
|
||||
" leader
|
||||
let mapleader = ','
|
||||
let maplocalleader = ','
|
||||
|
||||
" save on ctrl-s
|
||||
nnoremap <c-s> :w<CR>
|
||||
inoremap <c-s> <Esc>:w<CR>
|
||||
|
||||
set hidden
|
||||
syntax on
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set number
|
||||
|
||||
" mappings to stop insert mode
|
||||
imap jjj <ESC>
|
||||
imap kkk <ESC>
|
||||
imap lll <ESC>
|
||||
imap hhh <ESC>
|
||||
set scroll=11
|
||||
|
||||
" new mappings
|
||||
noremap <C-j> <C-f>
|
||||
noremap <C-k> <C-u>
|
||||
|
||||
noremap <C-n> :tabn<CR>
|
||||
noremap <C-p> :tabp<CR>
|
||||
let g:ctrlp_map = '<tab>'
|
||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||
\ 'file': '\v\.(exe|so|dll)$$',
|
||||
\ }
|
||||
|
||||
"let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' }
|
||||
"let g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'
|
||||
|
||||
" allways show status line
|
||||
set ls=2
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set softtabstop=4
|
||||
set expandtab
|
||||
"set textwidth=80
|
||||
|
||||
set backspace=indent,eol,start
|
||||
|
||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||
\ 'file': '\v\.(exe|so|dll)$$',
|
||||
\ }
|
||||
" }
|
||||
|
||||
" spelling {{{
|
||||
au BufRead,BufNewFile *.txt,*.tex,*.md,*.markdown setlocal spell spelllang=en_us,de_de
|
||||
" }}}
|
||||
|
||||
" sync default register to clipboard {
|
||||
if has('unnamedplus')
|
||||
set clipboard=unnamedplus
|
||||
else
|
||||
set clipboard=unnamed
|
||||
endif
|
||||
" }
|
||||
|
||||
" colored brackets {
|
||||
let g:rbpt_colorpairs = [
|
||||
\ ['brown', 'RoyalBlue3'],
|
||||
\ ['Darkblue', 'SeaGreen3'],
|
||||
\ ['darkgray', 'DarkOrchid3'],
|
||||
\ ['darkgreen', 'firebrick3'],
|
||||
\ ['darkcyan', 'RoyalBlue3'],
|
||||
\ ['darkred', 'SeaGreen3'],
|
||||
\ ['darkmagenta', 'DarkOrchid3'],
|
||||
\ ['brown', 'firebrick3'],
|
||||
\ ['gray', 'RoyalBlue3'],
|
||||
\ ['black', 'SeaGreen3'],
|
||||
\ ['darkmagenta', 'DarkOrchid3'],
|
||||
\ ['Darkblue', 'firebrick3'],
|
||||
\ ['darkgreen', 'RoyalBlue3'],
|
||||
\ ['darkcyan', 'SeaGreen3'],
|
||||
\ ['darkred', 'DarkOrchid3'],
|
||||
\ ['red', 'firebrick3'],
|
||||
\ ]
|
||||
let g:rbpt_max = 16
|
||||
let g:rbpt_loadcmd_toggle = 0
|
||||
|
||||
au VimEnter * RainbowParenthesesToggle
|
||||
au Syntax * RainbowParenthesesLoadRound
|
||||
au Syntax * RainbowParenthesesLoadSquare
|
||||
au Syntax * RainbowParenthesesLoadBraces
|
||||
" }
|
||||
|
||||
set t_ut=
|
||||
colorscheme PaperColor
|
||||
|
||||
" Python {{{
|
||||
augroup ft_python
|
||||
au!
|
||||
au FileType python setlocal omnifunc=pythoncomplete#Complete
|
||||
au FileType python setlocal define=^\s*\\(def\\\\|class\\)
|
||||
augroup END
|
||||
" }}}
|
||||
|
||||
" YAML {{{
|
||||
augroup ft_yaml
|
||||
au!
|
||||
setlocal autoindent sw=2 et tabstop=2 shiftwidth=2 softtabstop=2
|
||||
augroup END
|
||||
" }}}
|
||||
|
||||
" markdown {
|
||||
augroup filetypedetect
|
||||
" gitit page files
|
||||
au BufRead,BufNewFile *.page set filetype=markdown
|
||||
augroup END
|
||||
|
||||
|
||||
" Cycle between the valid list item markers *, - and + in the TOC
|
||||
let g:vmt_cycle_list_item_markers = 1
|
||||
|
||||
" } markdown
|
||||
|
||||
let g:indent_guides_enable_on_vim_startup = 1
|
||||
|
||||
|
||||
"bazel
|
||||
augroup filetypedetect
|
||||
au BufRead,BufNewFile *.bazel set filetype=bzl
|
||||
augroup END
|
||||
|
||||
"Justfile
|
||||
augroup filetypedetect
|
||||
au BufRead,BufNewFile Justfile set filetype=make
|
||||
augroup END
|
||||
|
||||
|
||||
augroup VCenterCursor
|
||||
au!
|
||||
au BufEnter,WinEnter,WinNew,VimResized *,*.*
|
||||
\ let &scrolloff=winheight(win_getid())/2
|
||||
augroup END
|
||||
|
||||
" " deoplete {
|
||||
" let g:deoplete#enable_at_startup = 1
|
||||
" let g:deoplete#num_processes = 1
|
||||
" let g:deoplete#enable_smart_case = 1
|
||||
"
|
||||
" if !exists('g:deoplete#omni#input_patterns')
|
||||
" let g:deoplete#omni#input_patterns = {}
|
||||
" endif
|
||||
" let g:deoplete#omni#input_patterns.tex = g:vimtex#re#deoplete
|
||||
" " } deoplete
|
||||
|
||||
" enable ncm2 for all buffers
|
||||
autocmd BufEnter * call ncm2#enable_for_buffer()
|
||||
set completeopt=noinsert,menuone,noselect
|
||||
|
||||
" LanguageClient {
|
||||
set hidden
|
||||
|
||||
let g:LanguageClient_serverCommands = {
|
||||
\ 'rust': ['rustup', 'run', 'stable', 'rls'],
|
||||
\ 'javascript.jsx': ['tcp://127.0.0.1:2089'],
|
||||
\ }
|
||||
" \ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'],
|
||||
" \ 'python': ['/usr/local/bin/pyls'],
|
||||
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
|
||||
" Or map each action separately
|
||||
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
|
||||
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
|
||||
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
|
||||
" }
|
||||
|
||||
let g:vimtex_view_method = 'zathura'
|
||||
let g:vimtex_complete_enabled = 1
|
||||
let g:vimtex_complete_close_braces = 1
|
||||
let g:vimtex_complete_recursive_bib = 1
|
||||
let g:vimtex_indent_enabled = 1
|
||||
let g:vimtex_indent_bib_enabled = 1
|
||||
let g:vimtex_fold_enabled = 1
|
||||
let g:vimtex_fold_comments = 1
|
||||
let g:vimtex_fold_preamble = 1
|
||||
let g:vimtex_compiler_latexmk = {
|
||||
\ 'options' : [
|
||||
\ '-shell-escape',
|
||||
\ '-pdf',
|
||||
\ '-verbose',
|
||||
\ '-file-line-error',
|
||||
\ '-synctex=1',
|
||||
\ '-interaction=nonstopmode',
|
||||
\ ],
|
||||
\}
|
||||
let g:vimtex_quickfix_latexlog = {
|
||||
\ 'default' : 1,
|
||||
\ 'general' : 1,
|
||||
\ 'references' : 1,
|
||||
\ 'overfull' : 0,
|
||||
\ 'underfull' : 0,
|
||||
\ 'font' : 0,
|
||||
\ 'packages' : {
|
||||
\ 'default' : 1,
|
||||
\ 'natbib' : 1,
|
||||
\ 'biblatex' : 1,
|
||||
\ 'babel' : 1,
|
||||
\ 'hyperref' : 1,
|
||||
\ 'scrreprt' : 1,
|
||||
\ 'fixltx2e' : 1,
|
||||
\ 'titlesec' : 1,
|
||||
\ },
|
||||
\}
|
||||
|
||||
function! ViewerCallback() dict
|
||||
call self.forward_search(self.out())
|
||||
endfunction
|
||||
let g:vimtex_view_zathura_hook_callback = 'ViewerCallback'
|
||||
let g:vimtex_view_general_callback = 'ViewerCallback'
|
||||
let g:vimtex_compiler_progname = '${pkgs.neovim-remote}/bin/nvr'
|
||||
" } latex
|
||||
|
||||
" terminal {
|
||||
tnoremap <Esc> <C-\><C-n>
|
||||
" } terminal
|
||||
|
||||
" allow per-project vimrc
|
||||
" TODO: only source if it exists
|
||||
" source .vimrc
|
Loading…
Add table
Add a link
Reference in a new issue