dotfiles

Cross platform dotfiles for linux, mac and windows
git clone git@getsh.org:dotfiles.git
Log | Files | Refs

commit 5dbe8a5776be9bd6f2464d8c82251c1938e99e80
parent 681eb42196747b3a3f58e4681b5c615d0fb61724
Author: Bharatvaj <bharatvaj@yahoo.com>
Date:   Fri,  5 Nov 2021 17:37:49 +0530

Removing annoying search highlight after search

Turn off backup for swap files

Enable auto save for files

Enable cursor line

Use :find instead of :Files from fzf

Diffstat:
M.config/vim/keybindings/keybindings.vim | 15+++++++++++++++
M.config/vim/keybindings/markdown.vim | 8++++++++
M.config/vim/plugin/plugin.vim | 30+++++++++++++++++++++---------
M.config/vim/vimrc | 35+++++++++++++++++++++++++++++------
4 files changed, 73 insertions(+), 15 deletions(-)

diff --git a/.config/vim/keybindings/keybindings.vim b/.config/vim/keybindings/keybindings.vim @@ -1,6 +1,21 @@ " General keybindings nnoremap <leader>t :tabnew<cr> nnoremap <leader>p :Rg<cr> +nnoremap <leader>f :find + +" Buffer Navigation +nnoremap <C-J> <C-W><C-J> +nnoremap <C-K> <C-W><C-K> +nnoremap <C-L> <C-W><C-L> +nnoremap <C-H> <C-W><C-H> + +" Buffer Creation +nnoremap <Leader>v :vsplit<enter> +nnoremap <Leader>s :split<enter> + +" Quick save and write +nnoremap <leader>w :w<cr> +nnoremap <leader>q :q<cr> " Plugin keybindings source $XDG_CONFIG_HOME/vim/keybindings/vimspector.vim diff --git a/.config/vim/keybindings/markdown.vim b/.config/vim/keybindings/markdown.vim @@ -2,3 +2,11 @@ autocmd FileType markdown set cursorline " Hide and format markdown elements like **bold** autocmd FileType markdown set conceallevel=2 + +function QuickUnderline(n) + if a:n == 1 + normal! yypv$r= + else + normal! yypv$r- + endif +endfunction diff --git a/.config/vim/plugin/plugin.vim b/.config/vim/plugin/plugin.vim @@ -8,21 +8,33 @@ function DownloadPlug() endfunction call plug#begin($XDG_DATA_HOME."/vim/plugged") - Plug 'tpope/vim-commentary' - Plug 'tpope/vim-surround' - Plug 'tpope/vim-fugitive' - Plug 'ap/vim-css-color' - Plug 'itchyny/lightline.vim' - Plug 'wellle/context.vim' - Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } - Plug 'junegunn/fzf.vim' + Plug 'tpope/vim-commentary' + Plug 'tpope/vim-surround' + Plug 'tpope/vim-fugitive' + Plug 'tpope/vim-repeat' + Plug 'tommcdo/vim-ninja-feet' + Plug 'ap/vim-css-color' + Plug 'itchyny/lightline.vim' + Plug 'wellle/context.vim' + Plug 'easymotion/vim-easymotion' + Plug 'SirVer/ultisnips' + Plug 'sainnhe/gruvbox-material' + Plug 'ntpeters/vim-better-whitespace' + Plug 'lpinilla/vim-codepainter' + Plug '907th/vim-auto-save' + Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } + Plug 'junegunn/fzf.vim' source $XDG_CONFIG_HOME/vim/plugin/development.vim call plug#end() +" Enable auto save only if backups are disabled +if exists("nowb") + let g:auto_save = 1 +endif + " Plugin Keybindings " fzf nmap <leader>F :GFiles<cr> -nmap <leader>f :Files<cr> nnoremap <leader>cc :ChecklistToggleCheckbox<cr> diff --git a/.config/vim/vimrc b/.config/vim/vimrc @@ -16,8 +16,7 @@ set undodir=$XDG_CACHE_HOME/vim/undo | call mkdir(&undodir, 'p') if !has('nvim') | set viminfofile=$XDG_CACHE_HOME/vim/viminfo | endif -" General - +" Line number "Adapted from https://jeffkreeftmeijer.com/vim-number/ :set number :augroup numbertoggle @@ -26,14 +25,23 @@ if !has('nvim') | set viminfofile=$XDG_CACHE_HOME/vim/viminfo | endif : autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif :augroup END +" General set mouse=a +set cursorline syntax on set exrc +" Turn backup off +set nobackup +set nowb +set noswapfile " Map leader to space nnoremap <SPACE> <Nop> let mapleader = " " +" Enable hidden buffers +set hidden + " Disable auto fixing end of line " Useful when opening binary files set nofixendofline @@ -44,22 +52,37 @@ set shortmess=Iat " Search set hlsearch set incsearch - -" Anti-tab +" Disable highlight after a search +augroup vimrc-incsearch-highlight + autocmd! + autocmd CmdlineEnter /,\? :set hlsearch + autocmd CmdlineLeave /,\? :set nohlsearch +augroup END + +" Pro tab filetype plugin indent on set tabstop=4 set shiftwidth=4 -set expandtab " Netrw customization let g:netrw_banner = 0 -" Hard vim +" Harder vim +" Disable arrow keys for key in ['<Up>', '<Down>', '<Left>', '<Right>'] exec 'noremap' key '<Nop>' exec 'inoremap' key '<Nop>' exec 'cnoremap' key '<Nop>' endfor +" Disable h and l +for key in ['h', 'l'] + exec 'noremap' key '<Nop>' +endfor + +" Visual Tweaks +" Remove the ugly splits separator +set fillchars=vert:\│ +hi VertSplit term=NONE cterm=NONE gui=NONE " Plugins source $XDG_CONFIG_HOME/vim/plugin/plugin.vim