diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index f7ac39a..ec000cb 100755 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,77 +1,90 @@ -set nocompatible " disable compatibility to old-time vi -set showmatch " show matching -set ignorecase " case insensitive -set mouse=v " middle-click paste with -set hlsearch " highlight search -set incsearch " incremental search -set tabstop=4 " number of columns occupied by a tab -set softtabstop=4 " see multiple spaces as tabstops so does the right thing -set expandtab " converts tabs to white space -set shiftwidth=4 " width for autoindents -set autoindent " indent a new line the same amount as the line just typed -set number " add line numbers -set wildmode=longest,list " get bash-like tab completions -set cc=80 " set an 80 column border for good coding style -filetype plugin indent on "allow auto-indenting depending on file type -syntax on " syntax highlighting -set mouse=a " enable mouse click -set clipboard=unnamedplus " using system clipboard -filetype plugin on -set cursorline " highlight current cursorline -set ttyfast " Speed up scrolling in Vim -" set spell " enable spell check (may need to download language package) -" set noswapfile " disable creating swap file -" set backupdir=~/.cache/vim " Directory to store backup files. +" General Settings +set nocompatible " Disable compatibility to old-time vi +set showmatch " Show matching brackets +set ignorecase " Case insensitive searching +set mouse=a " Enable mouse support +set clipboard=unnamedplus " Use system clipboard +set number " Show line numbers +set relativenumber " Show relative line numbers +set cursorline " Highlight current line +set ttyfast " Speed up scrolling in Vim +set lazyredraw " Don't redraw while executing macros -call plug#begin(“~/.vim/plugged”) - “ Plugin Section - Plug 'dracula/vim' - Plug 'ryanoasis/vim-devicons' - Plug 'SirVer/ultisnips' - Plug 'honza/vim-snippets' - Plug 'scrooloose/nerdtree' - Plug 'preservim/nerdcommenter' - Plug 'mhinz/vim-startify' - Plug 'neoclide/coc.nvim', {'branch': 'release'} -call plug#end() +" Search Settings +set hlsearch " Highlight search results +set incsearch " Incremental search + +" Indentation Settings +set tabstop=4 " Number of columns occupied by a tab +set softtabstop=4 " See multiple spaces as tabstops +set expandtab " Converts tabs to white space +set shiftwidth=4 " Width for autoindents +set autoindent " Indent a new line the same amount as the line just typed + +" Appearance +set wildmode=longest,list " Get bash-like tab completions +set cc=80 " Set an 80 column border for good coding style +set splitright " Open new splits to the right +set splitbelow " Open new splits below +" Syntax and Filetype +filetype plugin indent on " Enable filetype-specific plugins and indentation +syntax on " Enable syntax highlighting -“ color schemes - if (has(“termguicolors”)) - set termguicolors - endif - syntax enable - “ colorscheme evening -colorscheme dracula" open new split panes to right and below -set splitright -set splitbelow +" Plugin Management +call plug#begin('~/.vim/plugged') +Plug 'dracula/vim' +Plug 'ryanoasis/vim-devicons' +Plug 'SirVer/ultisnips' +Plug 'honza/vim-snippets' +Plug 'scrooloose/nerdtree' +Plug 'preservim/nerdcommenter' +Plug 'mhinz/vim-startify' +Plug 'neoclide/coc.nvim', {'branch': 'release'} +call plug#end() + +" Color Schemes +if (has('termguicolors')) + set termguicolors +endif +colorscheme dracula -" move line or visually selected block - alt+j/k +" Mappings +" Move lines or visually selected blocks inoremap :m .+1==gi inoremap :m .-2==gi vnoremap :m '>+1gv=gv -vnoremap :m '<-2gv=gv" move split panes to left/bottom/top/right - nnoremap H - nnoremap J - nnoremap K - nnoremap L" move between panes to left/bottom/top/right - nnoremap h - nnoremap j - nnoremap k - nnoremap l +vnoremap :m '<-2gv=gv + +" Move split panes +nnoremap H +nnoremap J +nnoremap K +nnoremap L + +" Move between panes +nnoremap h +nnoremap j +nnoremap k +nnoremap l + +" Custom mappings +inoremap ii +inoremap jk +inoremap kj +vnoremap jk +vnoremap kj + +" Open file in a vertical split +nnoremap gf :vert winc f + +" Copy filepath to clipboard +nnoremap yf :let @+=expand('%:p') -" Press i to enter insert mode, and ii to exit insert mode. -:inoremap ii -:inoremap jk -:inoremap kj -:vnoremap jk -:vnoremap kj +" Copy pwd to clipboard +nnoremap yd :let @+=expand('%:p:h') -" open file in a text by placing text and gf -nnoremap gf :vert winc f" copies filepath to clipboard by pressing yf -:nnoremap yf :let @+=expand('%:p') -" copies pwd to clipboard: command yd -:nnoremap yd :let @+=expand('%:p:h')" Vim jump to the last position when reopening a file +" Jump to the last position when reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") \| exe "normal! g'\"" | endif