diff --git a/home/.config/nvim/general.vim b/home/.config/nvim/general.vim new file mode 100644 index 0000000..877b3db --- /dev/null +++ b/home/.config/nvim/general.vim @@ -0,0 +1,41 @@ +" set leader key +let g:mapleader = "\" + +syntax enable " Enables syntax highlighing +set hidden " Required to keep multiple buffers open multiple buffers +set nowrap " Display long lines as just one line +set encoding=utf-8 " The encoding displayed +set pumheight=10 " Makes popup menu smaller +set fileencoding=utf-8 " The encoding written to file +set ruler " Show the cursor position all the time +set cmdheight=2 " More space for displaying messages +set iskeyword+=- " treat dash separated words as a word text object" +set mouse=a " Enable your mouse +set splitbelow " Horizontal splits will automatically be below +set splitright " Vertical splits will automatically be to the right +set t_Co=256 " Support 256 colors +set conceallevel=0 " So that I can see `` in markdown files +set tabstop=2 " Insert 2 spaces for a tab +set shiftwidth=2 " Change the number of space characters inserted for indentation +set smarttab " Makes tabbing smarter will realize you have 2 vs 4 +set expandtab " Converts tabs to spaces +set smartindent " Makes indenting smart +set autoindent " Good auto indent +set laststatus=0 " Always display the status line +set number " Line numbers +set cursorline " Enable highlighting of the current line +set background=dark " tell vim what the background color looks like +set showtabline=2 " Always show tabs +set noshowmode " We don't need to see things like -- INSERT -- anymore +set nobackup " This is recommended by coc +set nowritebackup " This is recommended by coc +set updatetime=300 " Faster completion +set timeoutlen=500 " By default timeoutlen is 1000 ms +set formatoptions-=cro " Stop newline continution of comments +set clipboard=unnamedplus " Copy paste between vim and everything else +"set autochdir " Your working directory will always be the same as your working directory + +au! BufWritePost $MYVIMRC source % " auto source when writing to init.vm alternatively you can run :source $MYVIMRC + +" You can't stop me +cmap w!! w !sudo tee % diff --git a/home/.config/nvim/init.vim b/home/.config/nvim/init.vim new file mode 100644 index 0000000..7f76f82 --- /dev/null +++ b/home/.config/nvim/init.vim @@ -0,0 +1,12 @@ +source $HOME/.config/nvim/general.vim +source $HOME/.config/nvim/keys.vim + +call plug#begin('~/.config/nvim/plugged') + + " General + Plug 'preservim/nerdtree' + + " Crystallang + Plug 'vim-crystal/vim-crystal' + +call plug#end() diff --git a/home/.config/nvim/keys.vim b/home/.config/nvim/keys.vim new file mode 100644 index 0000000..48f0bb5 --- /dev/null +++ b/home/.config/nvim/keys.vim @@ -0,0 +1,50 @@ +" Better nav for omnicomplete +inoremap ("\") +inoremap ("\") + +" Use alt + hjkl to resize windows +nnoremap :resize -2 +nnoremap :resize +2 +nnoremap :vertical resize -2 +nnoremap :vertical resize +2 + +" I hate escape more than anything else +inoremap jk +inoremap kj + +" Easy CAPS +inoremap viwUi +nnoremap viwU + +" TAB in general mode will move to text buffer +nnoremap :bnext +" SHIFT-TAB will go back +nnoremap :bprevious + +" Alternate way to save +nnoremap :w +" Alternate way to quit +nnoremap :wq! +" Use control-c instead of escape +nnoremap +" : completion. +inoremap pumvisible() ? "\" : "\" + +" Better tabbing +vnoremap < >gv + +" Better window navigation +nnoremap h +nnoremap j +nnoremap k +nnoremap l + +nnoremap o o^Da +nnoremap O O^Da + +" Nerdtree +nnoremap n :NERDTreeFocus +nnoremap :NERDTree +nnoremap :NERDTreeToggle +nnoremap :NERDTreeFind