Skip to content

Instantly share code, notes, and snippets.

@pokedotdev
Last active May 2, 2021 10:45
Show Gist options
  • Save pokedotdev/4541ddfb027be9ff9484ed0778a41994 to your computer and use it in GitHub Desktop.
Save pokedotdev/4541ddfb027be9ff9484ed0778a41994 to your computer and use it in GitHub Desktop.
My neovim settings
syntax enable
set number
set mouse=a
set title
set numberwidth=4
set clipboard=unnamed
set showcmd
set ruler
set encoding=utf-8
set showmatch
set relativenumber
set laststatus=2
set noshowmode
set cursorline
set modifiable
set cmdheight=1
set pyxversion=3
set smarttab
set cindent
set smartindent
set autoindent
set tabstop=2
set shiftwidth=2
set softtabstop=2
" always uses spaces instead of tab characters
set expandtab
set nowrap
set nolist
" lazy drawing
set lazyredraw
set ttyfast
set synmaxcol=800
" line
"set colorcolumn=80
"set textwidth=80
" others
"set foldlevel=0
"set foldmethod=syntax " manual, syntax, ...
let g:loaded_matchparen=1
set fillchars+=vert:\|
"set fillchars+=vert:\
set nocompatible
filetype off
"set updatetime=300
call plug#begin('~/.vim/plugged')
" Themes
Plug 'chriskempson/base16-vim'
Plug 'gruvbox-community/gruvbox'
"Plug 'haishanh/night-owl.vim'
Plug 'charliesbot/night-owl.vim'
Plug 'KeitaNakamura/neodark.vim'
Plug 'kaicataldo/material.vim', { 'branch': 'main' }
Plug 'rakr/vim-one'
Plug 'arcticicestudio/nord-vim'
Plug 'cocopon/iceberg.vim'
" Syntax
Plug 'pangloss/vim-javascript'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'maxmellon/vim-jsx-pretty'
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
Plug 'jparise/vim-graphql'
Plug 'cakebaker/scss-syntax.vim'
Plug 'sheerun/vim-polyglot'
Plug 'tpope/vim-markdown'
" Design
Plug 'ryanoasis/vim-devicons'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'Yggdroot/indentLine'
" IDE
Plug 'easymotion/vim-easymotion'
Plug 'scrooloose/nerdtree'
"Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'ivalkeen/nerdtree-execute'
Plug 'christoomey/vim-tmux-navigator'
Plug 'neoclide/coc.nvim', { 'branch': 'release' }
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'zhou13/vim-easyescape'
Plug 'mattn/emmet-vim'
"Plug 'eslint/eslint'
"Plug 'w0rp/ale'
Plug 'airblade/vim-gitgutter'
Plug 'preservim/nerdcommenter'
Plug 'jiangmiao/auto-pairs'
Plug 'mg979/vim-visual-multi'
"Plug 'hugolgst/vimsence'
"Plug 'editorconfig/editorconfig-vim'
call plug#end()
" Discord presece
"let g:vimsence_client_id = '439476230543245312'
"let g:vimsence_small_text = 'NeoVim'
"let g:vimsence_small_image = 'neovim'
"let g:vimsence_editing_details = 'Editing: {}'
"let g:vimsence_editing_state = 'Working on: {}'
"let g:vimsence_file_explorer_text = 'In NERDTree'
"let g:vimsence_file_explorer_details = 'Looking for files'
"let g:vimsence_custom_icons = {'filetype': 'iconname'}
let g:javascript_plugin_jsdoc = 1
let base16colorspace=256
set termguicolors
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
set background=dark
let g:rehash256 = 1
let g:gruvbox_contrast_dark = "hard"
let g:gruvbox_italic=1
let g:gruvbox_vert_split="bg0"
let g:gruvbox_sign_column="dark0"
let g:gruvbox_number_column="bg0"
let g:neodark#use_256color = 0 " default: 0
let g:neodark#terminal_transparent = 1 " default: 0
let g:neodark#background = '#0D1117'
let g:neodark#solid_vertsplit = 0
let g:neodark#terminal_transparent = 1 " default: 0
let g:material_theme_style = 'ocean' "default palenight ocean lighter darker default-community palenight-community ocean-community lighter-community darker-community
let g:material_terminal_italics = 0
"let g:airline_theme='nord'
"let g:airline_theme='material'
"let g:airline_theme='base16_default'
"let g:airline_theme='iceberg'
"let g:airline_theme='one'
"let g:airline_theme='gruvbox'
"let g:airline_theme='transparent'
"let g:airline_theme='zenburn'
"transparent background au ColorScheme * hi Normal ctermbg=none guibg=none
"au ColorScheme myspecialcolors hi Normal ctermbg=red guibg=red
colorscheme neodark
"colorscheme gruvbox
"colorscheme night-owl
"colorscheme material
"colorscheme iceberg
"colorscheme base16-default-dark
"colorscheme one
"colorscheme nord
"call one#highlight('Normal', '', '21252B', 'none')
"call one#highlight('Normal', '', '0D1117', 'none')
"call one#highlight('ColorColumn', '', '0E131A', 'none')
"let g:airline#extensions#tabline#enabled = 0
"let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline_powerline_fonts = 1
let g:airline_theme='neodark'
"let g:airline_theme='biogoo'
" optionals colors
hi CursorLineNr guibg=0
"hi LineNr guibg=0
"hi Normal guibg=NONE ctermbg=NONE
"hi StatusLineNC gui=bold guibg=#022a4b
"hi StatusLine gui=bold guibg=#03467c
"hi TabLineFill gui=none guibg=#022a4b
"hi TabLine gui=none guibg=#022a4b
"hi TabLineSel gui=bold guibg=#03467c
let g:indentLine_char = '¦'
let g:indentLine_enabled = 1
let g:coc_global_extensions = ['coc-tsserver']
"let NERDTreeQuitOnOpen=1
let g:NERDTreeIgnore = ['^node_modules$','^.git$','^.vscode$']
let NERDTreeShowHidden=1
let NERDTreeMinimalUI=1
let g:NERDTreeWinSize=26
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"let g:ale_fixers = {
"\ 'javascript': ['eslint'],
"\}
" coc config
let g:coc_global_extensions = [
\ 'coc-snippets',
\ 'coc-pairs',
\ 'coc-tsserver',
\ 'coc-eslint',
"\ 'coc-prettier',
\ 'coc-json',
\ ]
"if executable('intelephense')
"augroup LspPHPIntelephense
"au!
"au User lsp_setup call lsp#register_server({
"\ 'name': 'intelephense',
"\ 'cmd': {server_info->[&shell, &shellcmdflag, 'intelephense --stdio']},
"\ 'whitelist': ['php'],
"\ 'initialization_options': {'storagePath': '/tmp/intelephense'},
"\ 'workspace_config': {
"\ 'intelephense': {
"\ 'files': {
"\ 'maxSize': 1000000,
"\ 'associations': ['*.php', '*.phtml'],
"\ 'exclude': [],
"\ },
"\ 'completion': {
"\ 'insertUseDeclaration': v:true,
"\ 'fullyQualifyGlobalConstantsAndFunctions': v:false,
"\ 'triggerParameterHints': v:true,
"\ 'maxItems': 100,
"\ },
"\ 'format': {
"\ 'enable': v:true
"\ },
"\ },
"\ }
"\})
"augroup END
"endif
"let g:ale_fix_on_save = 1
"let g:ale_completion_autoimport = 1
let g:easyescape_chars = { "j": 1, "k": 1 }
let g:easyescape_timeout = 100
cnoremap jk <ESC>
cnoremap kj <ESC>
let mapleader=" "
nmap <Leader>s <Plug>(easymotion-s)
nmap <Leader>w :w<CR>
nmap <Leader>q :q<CR>
nmap <Leader>wq :wq<CR>
nmap <Leader>qq :q!<CR>
nmap <Leader>fs :Files
nmap ; :NERDTreeToggle<CR>
nmap <esc><esc> :noh<CR>:pyx print("")<CR>
vmap ++ <plug>NERDCommenterToggle
nmap ++ <plug>NERDCommenterToggle
nnoremap <Leader><Leader>s :source ~/.vim/.vimrc \| :PlugInstall<CR>
nnoremap <Leader><Leader>a :source %<CR>
nmap <Leader>oc :silent !sensible-browser
nmap <C-a> <ESC>ggVG<CR>
"nmap <F2> <ESC>za
nmap ∆ :m .+1<CR>==
nmap Àö :m .-2<CR>==
imap ∆ <Esc>:m .+1<CR>==gi
imap Àö <Esc>:m .-2<CR>==gi
vmap ∆ :m '>+1<CR>gv=gv
vmap Àö :m '<-2<CR>gv=gv
nnoremap <expr> <F2> &foldlevel ? 'zM' :'zR'
" resize
"nmap <silent> <C-S-Left> :vertical resize +1<CR>
"nmap <silent> <C-S-Right> :vertical resize -1<CR>
" ------------------
" Coc Config Default
" ------------------
"source ~/.config/coc/.cocrc.vim
" Remap keys for applying codeAction to the current line.
nmap <leader>ac <Plug>(coc-codeaction)
" Apply AutoFix to problem on the current line.
nmap <leader>qf <Plug>(coc-fix-current)
" Show autocomplete when Tab is pressed
inoremap <silent><expr> <Tab> coc#refresh()
" GoTo code navigation.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment