dotfiles

Cross platform dotfiles for linux, mac and windows

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
4 files changed, 73 insertions(+), 15 deletions(-)
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
+++++++++++++++++++++++++++++------
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