Skip to content

Instantly share code, notes, and snippets.

@ourway
Created April 21, 2021 21:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ourway/42811f4e00f45fc931a3718453be54a0 to your computer and use it in GitHub Desktop.
Save ourway/42811f4e00f45fc931a3718453be54a0 to your computer and use it in GitHub Desktop.
" Helps force plugins to load correctly when it is turned back on below
filetype off
" Plugs
call plug#begin('~/.vim/plugged')
Plug 'elixir-editors/vim-elixir'
Plug 'mhinz/vim-mix-format'
Plug 'maralla/completor.vim'
Plug 'davidhalter/jedi-vim'
Plug 'SirVer/ultisnips'
Plug 'rust-lang/rust.vim'
Plug 'bfrg/vim-cpp-modern'
Plug 'honza/vim-snippets'
Plug 'beautify-web/js-beautify'
Plug 'mattn/webapi-vim'
Plug 'rhysd/vim-clang-format'
Plug 'towolf/vim-helm'
Plug 'stephpy/vim-yaml'
Plug 'evanleck/vim-svelte'
Plug 'preservim/nerdtree'
Plug 'mxw/vim-jsx'
Plug 'pangloss/vim-javascript'
Plug 'vim-erlang/vim-erlang-compiler'
Plug 'vim-erlang/vim-erlang-omnicomplete'
Plug 'vim-erlang/vim-erlang-runtime'
Plug 'vim-erlang/vim-erlang-skeletons'
Plug 'vim-erlang/erlang-motions.vim'
Plug 'lifepillar/vim-gruvbox8'
"Plug 'ycm-core/YouCompleteMe'
Plug 'fatih/vim-go'
"Plug 'neoclide/coc.nvim', {'branch': 'release'}
"Plug 'ervandew/supertab'
"Plug 'skywind3000/asyncrun.vim'
"Plug 'nvie/vim-flake8'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
"Plug 'pangloss/vim-javascript'
"Plug 'leafgarland/typescript-vim'
"Plug 'MaxMEllon/vim-jsx-pretty'
"Plug 'chriskempson/base16-vim'
"Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
"Plug 'deoplete-plugins/deoplete-jedi'
"Plug 'vim-python/python-syntax'
Plug 'psf/black', { 'tag': '20.8b1' }
"Plug 'tpope/vim-sensible'
"Plug 'prettier/vim-prettier', { 'do': 'yarn install' }
call plug#end()
" sets
set shell=/bin/zsh
set tabstop=8
set softtabstop=4
set noet
set shiftwidth=4
filetype indent on
set modeline
set nocompatible
set hidden
set ttyfast
set lazyredraw " don't redraw everytime
set synmaxcol=99 " avoid slow rendering for long lines
"set relativenumber
"set number
set noswapfile
set exrc
"set secure
set noerrorbells
"set clipboard+=unnamedplus
set wildmode=longest:full,full
set timeout
set ttimeout
set timeoutlen=500
set ttimeoutlen=50
set autoindent
set fileformat=unix
set listchars=eol:¬,tab:▷\ ,
set indentkeys=o,O
set shiftround
set showbreak=
set backupcopy=yes
set breakindent
set autoread
"set display=lastline,uhex
set backspace=indent,eol,start
set virtualedit=onemore
"set fillchars=vert:\ ,fold:-,diff:· " Spaces are enough for vertical split separators.
"set diffopt=filler,foldcolumn:0,vertical " Show lines where missing, no need for a foldcolumn during diff, split vertically by default
set updatetime=1000
autocmd CursorHoldI * call feedkeys("\<C-G>u", "nt")
nnoremap j gj
nnoremap k gk
if has('persistent_undo') "check if your vim version supports
set undodir=$HOME/.vim/undo "directory where the undo files will be stored
set undofile "turn on the feature
endif
" Searching
"nnoremap / /\v
"vnoremap / /\v
set hlsearch
set incsearch
set ignorecase
set smartcase
set smarttab
set showmatch
map <leader><space> :let @/=''<cr> " clear search
" Return to last edit position when opening files (You want this!)
"
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
let $NVIM_TUI_ENABLE_CURSOR_SHAPE=1
" config
let g:mix_format_on_save = 1
let g:jsx_ext_required = 0
let mapleader = ","
inoremap <silent> jj <ESC>:w<CR>
noremap ,e :Files <CR>
if exists(':terminal')
let g:terminal_color = 'xterm'
" allow terminal buffer size to be very large
let g:terminal_scrollback_buffer_size = 100000
endif
nnoremap <silent> ,n :call ToggleRelativeNumber()<CR>
function! ToggleRelativeNumber()
if(&relativenumber == 1) && (&number == 1)
set nonumber
set norelativenumber
elseif(&number == 1)
set number
set relativenumber
else
set norelativenumber
set number
endif
endfunc
"nnoremap <C-N> :bnext<CR>
"nnoremap <TAB> :bnext<CR>
"nnoremap <C-P> :bprev<CR>
autocmd BufWritePre *.py execute ':Black'
let g:black_linelength = 99
nnoremap ,f :Black<CR>
let g:jedi#completions_enabled = 0
let g:jedi#show_call_signatures = 0
let g:jedi#use_splits_not_buffers = "left"
autocmd FileType python setlocal completeopt-=preview
autocmd FileType *.go execute ':!go fmt %'
"let g:python3_host_prog = '/usr/local/bin/python3.9'
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
" If you want :UltiSnipsEdit to split your window.
let g:UltiSnipsEditSplit="vertical"
"set guicursor=i:blinkwait700-blinkon400-blinkoff250
tnoremap <expr> <Esc> (&filetype == "fzf") ? "<Esc>" : "<c-\><c-n>"
nnoremap <silent> <Tab> :tabnext<CR>
nnoremap <silent> <S-Tab> :tabprevious<CR>
let g:rg_command = 'rg --vimgrep -S'
let g:python_highlight_all = 1
"hi Visual term=reverse cterm=reverse guibg=Grey
" colors
"set termguicolors
set t_Co=256
"let base16colorspace=256 " Access colors present in 256 colorspace
set background=dark
colorscheme gruvbox8_hard
highlight Comment ctermfg=grey ctermbg=black
highlight Pmenu ctermfg=green ctermbg=black guibg=black
highlight PmenuSel ctermfg=black ctermbg=darkgreen guibg=darkgreen
highlight TabLineFill ctermfg=darkgrey ctermbg=black
highlight TabLine ctermfg=grey ctermbg=black
highlight TabLineSel ctermfg=white ctermbg=darkgrey
autocmd FileType c ClangFormatAutoEnable
autocmd FileType cpp ClangFormatAutoEnable
let g:clang_format#style_options = {
\ "AccessModifierOffset" : -4,
\ "AllowShortIfStatementsOnASingleLine" : "false",
\ "AlwaysBreakTemplateDeclarations" : "true",
\ "Standard" : "C++11",
\ "BreakBeforeBraces" : "Stroustrup"}
let g:rustfmt_autosave = 1
let g:rust_clip_command = 'pbcopy'
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
nnoremap <leader>n :NERDTreeFocus<CR>
nnoremap <C-n> :NERDTree<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <C-f> :NERDTreeFind<CR>
autocmd BufEnter *.{js,jsx,ts,tsx} :syntax sync fromstart
autocmd BufLeave *.{js,jsx,ts,tsx} :syntax sync clear
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment