diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2021-11-04 21:34:20 +0100 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2021-11-04 21:34:20 +0100 |
| commit | ba01aa4f0f2a1822df4cc77194d2668dfdaa7780 (patch) | |
| tree | c28ffb6b9fef266e5ae3f93e6a753109f1123549 /config/nvim/lua/mappings.lua | |
| parent | 7cf5d533426f4b0df346760340c27454bcd5de0c (diff) | |
| download | dotfiles-ba01aa4f0f2a1822df4cc77194d2668dfdaa7780.tar.gz dotfiles-ba01aa4f0f2a1822df4cc77194d2668dfdaa7780.tar.bz2 dotfiles-ba01aa4f0f2a1822df4cc77194d2668dfdaa7780.zip | |
Added neovim draft config in lua
Diffstat (limited to 'config/nvim/lua/mappings.lua')
| -rw-r--r-- | config/nvim/lua/mappings.lua | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/config/nvim/lua/mappings.lua b/config/nvim/lua/mappings.lua new file mode 100644 index 0000000..b609fbd --- /dev/null +++ b/config/nvim/lua/mappings.lua @@ -0,0 +1,182 @@ +local map = vim.api.nvim_set_keymap + +-- split navigation +map('n', '<C-j>', '<C-w><C-j', {}) +map('n', '<C-k>', '<C-w><C-k', {}) +map('n', '<C-l>', '<C-w><C-l', {}) +map('n', '<C-h>', '<C-w><C-h', {}) +map('n', '<leader>s=', '<C-W>=' {}) + +-- common +-- -- 'Y' yank to the end of the line +-- noremap Y y$ +-- -- kj to exit insert mode +map('i', 'kj', '<ESC>', {}) +-- -- remove visual mode keybinding +-- noremap Q <nop> +-- -- search with very magic +-- nnoremap / /\v +-- nnoremap ? ?\v +-- -- move line up and down +-- nnoremap _ ddkP +-- nnoremap + ddp +-- -- long move up/down +-- nnoremap ( 10k +-- nnoremap ) 10j +-- -- tag nagigation +-- nnoremap <leader>] <C-]> +-- nnoremap <leader>t <C-t> +-- -- common change until +-- nnoremap cu ct_ +-- nnoremap cp ct) +-- nnoremap c, ct, +-- +-- -- buffer navigation +-- nnoremap <leader>bn :bn<CR> +-- nnoremap <leader>bp :bp<CR> +-- nnoremap <leader><TAB> :b#<CR> +-- nnoremap <leader>bl :ls<CR> +-- +-- nnoremap <leader>sc :source $MYVIMRC<cr> -- source vimrc +-- +-- -- c +-- -- create c function body from prototype +-- nnoremap gcf A<BS><CR>{<CR><CR>}<ESC>j +-- +-- -- initialise a school header file +-- function PutHeaderBoilerPlate() +-- let l:filename = join(split(toupper(expand('%:t')), '\.'), '_') +-- -- echom l:filename +-- call append(12, '#ifndef ' . l:filename) +-- call append(13, '# define ' . l:filename) +-- call append(15, '#endif') +-- endfunction +-- nnoremap gch :Stdheader<CR>:call PutHeaderBoilerPlate()<CR> +-- +-- -- put semicolon at the end of line +-- nnoremap <leader>; mqA;<ESC>`q +-- +-- -- cpp +-- -- Put Coplien Form boilerplate class +-- function PutCoplienFormFunc(name) +-- let l:default_constructor = a:name . '();\n' +-- let l:copy_constructor = a:name . '(const ' . a:name . '& other);\n' +-- let l:copy_operator = a:name . '& operator=(const ' . a:name . '& other);\n' +-- let l:destructor = '~' . a:name . '();\n' +-- +-- execute 'normal iclass ' . a:name . '\n{\npublic:\n' . l:default_constructor . l:copy_constructor . l:copy_operator . l:destructor . '\nprivate:\n};\n' +-- execute 'normal <2{' +-- endfunction +-- -- Put Coplien Form boilerplate according to filename +-- command! PutCoplienFormFile call PutCoplienFormFunc(split(expand('%:t'), '\.')[0]) +-- command! -nargs=1 PutCoplienForm call PutCoplienFormFunc(--<args>") +-- +-- -- quickfix window toggle +-- nnoremap <leader>q :call QuickfixToggle()<CR> +-- nnoremap <leader>n :cnext <CR> +-- nnoremap <leader>p :cprevious <CR> +-- let g:quickfix_is_open = 0 +-- function! QuickfixToggle() +-- if g:quickfix_is_open +-- cclose +-- let g:quickfix_is_open = 0 +-- else +-- copen +-- let g:quickfix_is_open = 1 +-- endif +-- endfunction +-- +-- function! CountScopeLines() +-- normal! mq +-- execute '/^}' +-- let l:end_brace = line('.') +-- execute '?^{' +-- let l:start_brace = line('.') +-- normal! k +-- let l:scope_len = l:end_brace - l:start_brace - 1 +-- let l:scope_name = substitute(getline('.'), '\t', ' ', 'g') +-- echom l:scope_len . ' lines in |' . l:scope_name . '|' +-- normal! `q +-- endfunction +-- command! CountScopeLines call CountScopeLines() +-- +-- -- make +-- nnoremap <leader>m :make all <CR> +-- +-- augroup vimrc +-- autocmd! +-- augroup END +-- +-- -- hook +-- -- remove trailing white space on save +-- autocmd vimrc BufWritePre * %s/\s\+$//e +-- -- dirty hack to disable this feature on markdown (autocmd! wouldn't work) +-- autocmd vimrc BufReadPre *.md autocmd! BufWritePre +-- +-- -- filetype +-- -- real tab in c file for school projects +-- let g:c_syntax_for_h = 1 -- filetype=c in header files instead of filetype=cpp +-- +-- augroup vimrc_files +-- autocmd! +-- -- school c +-- autocmd Filetype c setlocal noexpandtab +-- autocmd Filetype c setlocal comments=s:/**,m:**,e:*/,s:/*,m:**,e:*/ +-- -- std::cout << ... << std::endl; shortcut +-- autocmd Filetype cpp nnoremap <leader>cout istd::cout << << std::endl;<ESC>2F<hi +-- autocmd Filetype vim setlocal foldmethod=marker -- vim fold method to marker +-- autocmd FileType haskell set formatprg=stylish-haskell +-- autocmd FileType lisp,html,css,htmldjango setlocal shiftwidth=2 +-- augroup END +-- +-- --""""""""""" +-- -- pluggins " +-- --""""""""""" +-- +-- -- directory to ignore when searching in file tree +-- vim.opt.wildignore=*/doc/*,*/tmp/*,*.o,*.so,*.a,*.swp,*.zip,*/node_modules/*,*/vendor/*,.bundle/*,bin/*,.git/*,*.pyc +-- +-- -- ctrlp +-- -- ctrlp ignore all stuff in the .gitignore +-- -- let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard'] +-- -- let g:ctrlp_working_path_mode = 'rw' +-- -- let g:ctrlp_mruf_case_sensitive = 0 +-- -- +-- -- nnoremap <leader>p :CtrlPTag<CR> +-- +-- -- fzf.vim +-- nnoremap <C-p> :GFiles --exclude-standard --others --cached<CR> +-- nnoremap <leader>p :Tags<CR> +-- +-- -- quick-scope +-- -- let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] +-- +-- -- man-plugin +-- -- runtime! ftplugin/man.vim +-- -- let g:ft_man_open_mode = 'vert' " open in a vertical split +-- -- let g:ft_man_no_sect_fallback = 2 " if page specified fallback to page 2 (syscall pages) +-- -- autocmd Filetype man unmap <buffer> q: hmmmm?? +-- +-- -- eazy-align +-- xmap ga <Plug>(EasyAlign) +-- nmap ga <Plug>(EasyAlign) +-- +-- vnoremap <leader>c y:call system(--xclip -selection clipboard", getreg("\""))<CR> +-- nnoremap <leader>v :call setreg(--\"", system("xclip -selection clipboard -o"))<CR>p +-- +-- let g:c_formatter_42_format_on_save = 0 +-- +-- let g:gutentags_ctags_exclude = ['doc/*', 'docs/*', 'Makefile', '.mypy_cache', '.pytest_cache', '.tox', 'build/*', 'dist/*'] +-- -- let g:gutentags_ctags_exclude_wildignore = 1 +-- +-- let g:goyo_height = 90 +-- let g:goyo_width = 100 +-- +-- vim.opt.viminfo+=n$XDG_CACHE_HOME/vim/viminfo +-- +-- let g:python_highlight_all = 1 +-- +-- nnoremap <leader>l :SidewaysRight<CR> +-- nnoremap <leader>h :SidewaysLeft<CR> +-- nnoremap <leader>w :ArgWrap<CR> +-- nnoremap <leader>ss :setlocal spell!<CR> |
