Skip to content

Instantly share code, notes, and snippets.

@Spirit-act
Created November 2, 2021 15:26
Show Gist options
  • Save Spirit-act/100945f3f2bf89fb7f1197fde7c37d8d to your computer and use it in GitHub Desktop.
Save Spirit-act/100945f3f2bf89fb7f1197fde7c37d8d to your computer and use it in GitHub Desktop.
new .vimrc
scriptencoding utf-8
set encoding=utf-8
set number relativenumber
set mouse=r
set clipboard=unnamed
"-------Tabs no spaces---------
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab
"---- Plugins ----
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'itchyny/lightline.vim'
Plug 'joshdick/onedark.vim'
Plug 'ryanoasis/vim-devicons'
Plug 'tpope/vim-commentary'
Plug 'pearofducks/ansible-vim', { 'do': './UltiSnips/generate.sh' }
call plug#end()
"----Design---
set background=dark
colorscheme onedark
"colorscheme industry
set cursorline
set showmatch
set scrolloff=10
set sidescrolloff=10
syntax on
"-----Line Design-----
set listchars=eol:$,tab:🠐🠒,trail:~,extends:>,precedes:<,space:·
set list
"----Stop Error Bell"
set noerrorbells
"-----Search-----
set incsearch
set autoread
set smartcase
set hlsearch
set ignorecase
nmap <leader>q :nohlsearch<CR>
"----Folding----
set foldmethod=indent
set foldlevel=99
set foldminlines=5
set foldcolumn=0
function CopyMode()
if &number == 1
set list! nonumber norelativenumber
else
set list number relativenumber
endif
endfunction
nmap <F3> :call CopyMode()<CR>
"---- behavior for yml files ----
autocmd FileType yaml setlocal shiftwidth=2 softtabstop=2 expandtab
" coc
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gD <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
"---- NerdTree ----
"shortcuts
nmap <leader>n :NERDTreeFocus<CR>
nmap <C-t> :NERDTreeToggle<CR>
let NERDTreeMapOpenInTab='t'
let NERDTreeMapOpenSplit='h'
let NERDTreeMapOpenVSplit='v'
"open on start
"autocmd StdinReadPre * let s:std_in=1
" close on exit
"autocmd VimEnter * NERDTree | if argc() > 0 || exists("s:std_in") | wincmd p | endif
" Exit Vim if NERDTree is the only window remaining in the only tab.
autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
" If another buffer tries to replace NERDTree, put it in the other window, and bring back NERDTree.
autocmd BufEnter * if bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 | let buf=bufnr() | buffer# | execute "normal! \<C-W>w" | execute 'buffer'.buf | endif
"---- COC ----
" Prettier
nmap <leader>I <Plug>(coc-format-selected)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment