Skip to content

Instantly share code, notes, and snippets.

@ourway
Created December 5, 2022 03:58
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/f0e024df8faf297b8642edd21c096f66 to your computer and use it in GitHub Desktop.
Save ourway/f0e024df8faf297b8642edd21c096f66 to your computer and use it in GitHub Desktop.
" Helps force plugins to load correctly when it is turned back on below
filetype off
" Install vim plug if not installed
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
" 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 'towolf/vim-helm'
Plug 'stephpy/vim-yaml'
Plug 'morhetz/gruvbox'
Plug 'cormacrelf/vim-colors-github'
Plug 'evanleck/vim-svelte'
Plug 'xavierd/clang_complete'
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/vim-erlang-tags'
"Plug 'camspiers/animate.vim'
"Plug 'camspiers/lens.vim'
Plug 'vim-erlang/erlang-motions.vim'
"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': '22.10.0' }
"Plug 'tpope/vim-sensible'
"Plug 'prettier/vim-prettier', { 'do': 'yarn install' }
call plug#end()
" sets
set shell=/bin/zsh
set tabstop=4
set softtabstop=4
set noet
set shiftwidth=4
set textwidth=79
filetype indent on
set modeline
set foldmethod=syntax
set foldlevelstart=99
set nocompatible
set hidden
set ttyfast
set lazyredraw " don't redraw everytime
set synmaxcol=200 " avoid slow rendering for long lines
set report =0 " Always report changed lines.
set wrapscan
set noruler
set splitbelow " Open new windows below the current window.
set splitright " Open new windows right of the current window.
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 mouse=a
set shiftround
set showbreak=
set backupcopy=yes
set breakindent
set autoread
set display=lastline
set backspace=indent,eol,start
set laststatus =2 " Always show statusline.
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 showmode
set showcmd
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 = ","
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 = 1
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 = 'python3'
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>
nnoremap <leader>t <Esc>:tabnew<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
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set t_Co=256
"let base16colorspace=256 " Access colors present in 256 colorspace
set background=dark
if has("gui_running")
set guifont=Menlo:h14
set linespace=1
endif
colorscheme gruvbox
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
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-t> :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
autocmd Filetype python set et smarttab ts=4 sw=4 list lcs=tab:>-,trail:.,nbsp:_
" Put all temporary files under the same directory.
" https://github.com/mhinz/vim-galore#temporary-files
set backup
set backupdir =$HOME/.vim/files/backup/
set backupext =-vimbackup
set backupskip =
set directory =$HOME/.vim/files/swap/
set updatecount =100
set undofile
set undodir =$HOME/.vim/files/undo/
set viminfo ='100,n$HOME/.vim/files/info/viminfo
autocmd! GUIEnter * set vb t_vb=
autocmd FileType c,cpp setlocal equalprg=clang-format
" path to directory where library can be found
let g:clang_library_path='/opt/homebrew/opt/llvm/lib'
let skip_defaults_vim=1
set viminfo=""
let g:erlang_tags_auto_update_current=0
let g:erlang_tags_otp=1
set foldcolumn=1
highlight FoldColumn ctermbg=0
highlight FoldColumn ctermfg=0
highlight VertSplit cterm=NONE
highlight StatusLineNC ctermbg=black ctermfg=darkgrey
highlight StatusLine ctermbg=black ctermfg=grey
highlight Visual cterm=NONE ctermbg=red ctermfg=white
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment