Last active
September 4, 2022 16:54
-
-
Save Jadens-arc/03233a90e91efd7e9daeb480e6e00fe7 to your computer and use it in GitHub Desktop.
NeoVim Configuration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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=2 " number of columns occupied by a tab | |
set softtabstop=2 " see multiple spaces as tabstops so <BS> does the right thing | |
set expandtab " converts tabs to white space | |
set shiftwidth=2 " width for autoindents | |
set autoindent " indent a new line the same amount as the line just typed | |
set number " add line numbers | |
set relativenumber | |
set wildmode=longest,list " get bash-like tab completions | |
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 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. | |
set so=999 " Always center cursor | |
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 'bluz71/vim-moonfly-colors' | |
Plug 'neoclide/coc.nvim', {'branch': 'release'} | |
Plug 'nanotech/jellybeans.vim' | |
Plug 'vim-scripts/AutoComplPop' | |
call plug#end() | |
" color schemes | |
if (has("termguicolors")) | |
"set termguicolors | |
endif | |
syntax enable | |
" colorscheme evening | |
colorscheme jellybeans | |
set splitright | |
set splitbelow | |
" move line or visually selected block - alt+j/k | |
inoremap <A-j> <Esc>:m .+1<CR>==gi | |
inoremap <A-k> <Esc>:m .-2<CR>==gi | |
vnoremap <A-j> :m '>+1<CR>gv=gv | |
vnoremap <A-k> :m '<-2<CR>gv=gv" move split panes to left/bottom/top/right | |
nnoremap <A-h> <C-W>H | |
nnoremap <A-j> <C-W>J | |
nnoremap <A-k> <C-W>K | |
nnoremap <A-l> <C-W>L" move between panes to left/bottom/top/right | |
nnoremap <C-h> <C-w>h | |
nnoremap <C-j> <C-w>j | |
nnoremap <C-k> <C-w>k | |
nnoremap <C-l> <C-w>l | |
nnoremap <up> <nop> | |
nnoremap <down> <nop> | |
nnoremap <left> <nop> | |
nnoremap <right> <nop> | |
inoremap <up> <nop> | |
inoremap <down> <nop> | |
inoremap <left> <nop> | |
inoremap <right> <nop> | |
" | |
" Press i to enter insert mode, and ii to exit insert mode. | |
:inoremap ii <Esc> | |
:inoremap jk <Esc> | |
:inoremap kj <Esc> | |
:vnoremap jk <Esc> | |
:vnoremap kj <Esc> | |
inoremap " ""<left> | |
inoremap ' ''<left> | |
inoremap ( ()<left> | |
inoremap [ []<left> | |
inoremap { {}<left> | |
inoremap {<CR> {<CR>}<ESC>O | |
inoremap {;<CR> {<CR>};<ESC>O | |
" open file in a text by placing text and gf | |
nnoremap gf :vert winc f<cr>" copies filepath to clipboard by pressing yf | |
:nnoremap <silent> yf :let @+=expand('%:p')<CR> | |
" copies pwd to clipboard: command yd | |
:nnoremap <silent> yd :let @+=expand('%:p:h')<CR>" Vim jump to the last position when reopening a file | |
if has("autocmd") | |
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | |
\| exe "normal! g'\"" | endif | |
endif | |
nnoremap <leader>n :NERDTreeFocus<CR> | |
nnoremap <C-n> :NERDTree<CR> | |
nnoremap <C-t> :NERDTreeToggle<CR> | |
nnoremap <C-f> :NERDTreeFind<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment