initial
This commit is contained in:
commit
8c98e8bd14
10 changed files with 633 additions and 0 deletions
113
packages/neovim.nix
Normal file
113
packages/neovim.nix
Normal file
|
@ -0,0 +1,113 @@
|
|||
with import <nixos-unstable> {};
|
||||
|
||||
neovim.override {
|
||||
configure = {
|
||||
customRC = ''
|
||||
set hidden
|
||||
|
||||
" langserver
|
||||
let g:LanguageClient_serverCommands = {
|
||||
\ 'go': ['gopls'],
|
||||
\ 'python': ['pyls'],
|
||||
\ 'rust': ['rust-analyzer'],
|
||||
\ }
|
||||
|
||||
" basic builtin
|
||||
set background=dark
|
||||
set shiftwidth=4
|
||||
set softtabstop=4
|
||||
set tabstop=4
|
||||
set expandtab
|
||||
set ttyfast
|
||||
set lazyredraw
|
||||
set regexpengine=1
|
||||
set synmaxcol=500
|
||||
set relativenumber
|
||||
set number
|
||||
set relativenumber
|
||||
set mouse=a
|
||||
set shortmess+=c
|
||||
|
||||
" better search
|
||||
set incsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set gdefault
|
||||
|
||||
" autocomplete
|
||||
autocmd BufEnter * call ncm2#enable_for_buffer()
|
||||
inoremap <c-c> <ESC>
|
||||
inoremap <expr> <CR> (pumvisible() ? "\<c-y>\<cr>" : "\<CR>")
|
||||
set completeopt=noinsert,menuone,noselect
|
||||
let g:LanguageClient_completionPreferTextEdit = 1
|
||||
let g:LanguageClient_diagnosticsSignsMax = 0
|
||||
|
||||
" securemodelines
|
||||
let g:secure_modelines_allowed_items = [
|
||||
\ "textwidth", "tw",
|
||||
\ "softtabstop", "sts",
|
||||
\ "tabstop", "ts",
|
||||
\ "shiftwidth", "sw",
|
||||
\ "expandtab", "et", "noexpandtab", "noet",
|
||||
\ "filetype", "ft",
|
||||
\ "foldmethod", "fdm",
|
||||
\ "readonly", "ro", "noreadonly", "noro",
|
||||
\ "rightleft", "rl", "norightleft", "norl",
|
||||
\ "colorcolumn"
|
||||
\ ]
|
||||
|
||||
" leader
|
||||
let mapleader = " "
|
||||
nnoremap <silent> <leader> :WhichKey '<Space>'<CR>
|
||||
noremap <leader><space> :Commands<cr>
|
||||
noremap <leader><tab> :b#<cr>
|
||||
let g:which_key_map = {}
|
||||
|
||||
let g:which_key_map.f = { 'name': '+files' }
|
||||
noremap <leader>ff :FZF<cr>
|
||||
noremap <leader>fc :saveas
|
||||
|
||||
let g:which_key_map.y = { 'name': '+yank' }
|
||||
noremap <leader>yp :read !wl-paste<cr>
|
||||
noremap <leader>yy :read !wl-paste<cr>
|
||||
noremap <leader>ya :w !wl-copy<cr><cr>
|
||||
|
||||
let g:which_key_map.b = { 'name': '+buffers' }
|
||||
noremap <leader>bb :Buffers<cr>
|
||||
noremap <leader>bh :History<cr>
|
||||
noremap <leader>bd :bd<cr>
|
||||
noremap <leader>bn :bn<cr>
|
||||
noremap <leader>bp :bp<cr>
|
||||
|
||||
let g:which_key_map.b = { 'name': '+lang' }
|
||||
noremap <leader>mc :call LanguageClient#textDocument_references()<cr>
|
||||
noremap <leader>mf :call LanguageClient#textDocument_formatting()<cr>
|
||||
noremap <leader>mgg :call LanguageClient#textDocument_definition()<cr>
|
||||
noremap <leader>mh :call LanguageClient#textDocument_documentHighlight()<cr>
|
||||
noremap <leader>mm :call LanguageClient#textDocument_hover()<cr>
|
||||
noremap <leader>mr :call LanguageClient#textDocument_rename()<cr>
|
||||
noremap <leader>ms :call LanguageClient#workspace_symbol()<cr>
|
||||
|
||||
" lang specifics
|
||||
let g:rustfmt_autosave = 1
|
||||
let g:rustfmt_emit_files = 1
|
||||
let g:rustfmt_fail_silently = 0
|
||||
'';
|
||||
packages.myNvim = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
airline
|
||||
easymotion
|
||||
editorconfig-vim
|
||||
fugitive
|
||||
fzf
|
||||
LanguageClient-neovim
|
||||
ncm2
|
||||
surround
|
||||
syntastic
|
||||
vim-addon-nix
|
||||
vim-highlightedyank
|
||||
vim-which-key
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
30
packages/vim.nix
Normal file
30
packages/vim.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
with import <nixpkgs> {};
|
||||
|
||||
vim_configurable.customize {
|
||||
name = "vim";
|
||||
vimrcConfig.customRC = ''
|
||||
set hidden
|
||||
|
||||
" langserver
|
||||
let g:LanguageClient_serverCommands = {
|
||||
\ 'rust': ['rust-analyzer'],
|
||||
\ 'python': ['pyls'],
|
||||
\ }
|
||||
|
||||
let g:deoplete#enable_at_startup = 1
|
||||
|
||||
'';
|
||||
|
||||
vimrcConfig.packages.myVim = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
airline
|
||||
easymotion
|
||||
fugitive
|
||||
fzf
|
||||
LanguageClient-neovim
|
||||
surround
|
||||
syntastic
|
||||
vim-mucomplete
|
||||
];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue