Skip to content

Instantly share code, notes, and snippets.

@dadaphl
Last active February 10, 2021 20:36
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 dadaphl/bd1ae4cc8c7b18b2ac0048bc03f0c298 to your computer and use it in GitHub Desktop.
Save dadaphl/bd1ae4cc8c7b18b2ac0048bc03f0c298 to your computer and use it in GitHub Desktop.
"𝔯𝔬𝔣𝔩
set nocompatible
set clipboard=unnamedplus
filetype off
call plug#begin('~/.config/nvim/plugged')
Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
Plug 'felipec/notmuch-vim'
Plug 'pangloss/vim-javascript'
Plug 'scrooloose/nerdtree'
Plug 'mustache/vim-mustache-handlebars'
Plug 'sirver/ultisnips'
Plug 'honza/vim-snippets'
Plug 'hail2u/vim-css3-syntax'
Plug 'lokaltog/vim-easymotion'
Plug 'scrooloose/nerdcommenter'
Plug 'mattn/emmet-vim'
Plug 'majutsushi/tagbar'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'marijnh/tern_for_vim'
Plug 'airblade/vim-gitgutter'
Plug 'terryma/vim-expand-region'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-rsi'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-speeddating'
Plug 'tpope/vim-abolish'
Plug 'tpope/vim-unimpaired'
Plug 'tmhedberg/matchit'
Plug 'mileszs/ack.vim'
Plug 'sjl/gundo.vim'
Plug 'evidens/vim-twig'
Plug 'digitaltoad/vim-jade'
Plug 'godlygeek/tabular'
Plug 'rhysd/devdocs.vim'
Plug 'chr4/nginx.vim'
Plug 'posva/vim-vue'
Plug 'editorconfig/editorconfig-vim'
Plug 'maxmellon/vim-jsx-pretty'
Plug 'tomlion/vim-solidity'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'kannokanno/previm'
Plug 'reasonml-editor/vim-reason-plus'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'dense-analysis/ale'
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
let g:deoplete#enable_at_startup = 1
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
call plug#end()
filetype plugin indent on
filetype plugin on
syntax on
set mouse=a
set background=dark
" https://raw.githubusercontent.com/jnurmine/Zenburn/master/colors/zenburn.vim
colors zenburn
highlight DiffChange cterm=none ctermfg=black ctermbg=LightGreen gui=none guifg=bg guibg=LightGreen
highlight DiffText cterm=none ctermfg=black ctermbg=Red gui=none guifg=bg guibg=Red
au InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
au InsertLeave * match ExtraWhitespace /\s\+$/
highlight ExtraWhitespace ctermbg=red guibg=red
if version >= 702
autocmd BufWinLeave * call clearmatches()
endif
set path+=**
set includeexpr=substitute(v:fname,'\/','\./','g')
hi visual ctermbg=22 guifg=#005f00
hi statuslinenc guifg=#313633 guibg=#ccdc90 ctermfg=236 ctermbg=186
hi statusline guifg=#2e3330 guibg=#88b090 ctermfg=235 ctermbg=108
let g:indent_guides_auto_colors = 0
let g:indent_guides_guide_size = 1
autocmd vimenter,colorscheme * :hi indentguidesodd guibg=#303030 ctermbg=236
autocmd vimenter,colorscheme * :hi indentguideseven guibg=#404040 ctermbg=8
highlight cursorlinenr ctermfg=lightred
highlight linenr ctermfg=darkgrey
set backupdir=~/.config/nvim/backup//
set directory=~/.config/nvim/swp//
let g:syntastic_disabled_filetypes=['html']
let g:syntastic_javascript_checkers = ['eslint']
set statusline=
set statusline+=%<%f\ %h%m%r
set statusline+=%{fugitive#statusline()}%=%-14.(%c\ 0x%B\ -\ %l/%L%)\ -\ %P
set statusline+=%#warningmsg#
set exrc
set completeopt-=preview
set timeoutlen=700
set timeout
set secure
"set number
"set cursorline
set tabstop=2 softtabstop=0 expandtab shiftwidth=2
"au FileType jade setl sw=4 sts=4 et
"au FileType pug setl sw=4 sts=4 et
"autocmd FileType jade setlocal noexpandtab
"autocmd FileType pug setlocal noexpandtab
autocmd BufNewFile,BufRead *.jade set syntax=pug
autocmd BufNewFile,BufRead *.aes set syntax=reason
set noeol
set showcmd
set wildmenu
set lazyredraw
set showmatch
set incsearch
set hlsearch
set scrolloff=4
set listchars=tab:·\ ,trail:ı,extends:>,precedes:<,nbsp:+
set laststatus=2
set pastetoggle=<f11>
set omnifunc=syntaxcomplete#complete
set foldenable
set foldlevelstart=99
set foldlevel=1
set foldnestmax=20
set foldmethod=indent
set foldcolumn=2
set nocompatible
set t_co=256
set shortmess=ati
let g:localvimrc_persistent = 1
let s:syntax_on = 0
function! Togglesyntax()
if s:syntax_on == 1
let s:syntax_on = 0
syntax off
else
let s:syntax_on = 1
syntax on
endif
endfunction
let s:hidden_all = 0
function! Togglehiddenall()
if s:hidden_all == 0
let s:hidden_all = 1
set foldcolumn=0
set noruler
set laststatus=0
set nonumber
set nolist
set showtabline=0
set noshowcmd
set norelativenumber
else
set foldcolumn=2
let s:hidden_all = 0
set showcmd
set ruler
set list
set number
set laststatus=2
set showtabline=2
endif
endfunction
let mapleader = "\<space>"
let g:tern_map_keys=1
let g:tern_show_argument_hints='on_hold'
nnoremap <leader>0 "0
nnoremap <leader><leader>; mzA;<esc>`z
nnoremap <leader><leader>, mzA,<esc>`z
nnoremap <leader><leader>] mzA]<esc>`z
nnoremap <leader><leader>[ mzA[<esc>`z
nnoremap <leader><leader>) mzA)<esc>`z
nnoremap <leader><leader>( mzA(<esc>`z
nnoremap <leader><leader>} mzA}<esc>`z
nnoremap <leader><leader>{ mzA{<esc>`z
nnoremap <leader><leader>= mzA=<esc>`z
nnoremap <leader><leader>> mzA><esc>`z
vnoremap <leader><leader> <esc>
nnoremap <leader>p :FZF<cr>
noremap <leader>a ggVG
map <leader>w :w<cr>
map <leader>W :wq<cr>
map <leader>q <c-w>c
map <leader>e :e %:h<cr> " open the files directtory
"map <leader>vv :e ~/.vimrc<cr>
"map <leader>vv :tabnew ~/.vimrc<cr>
map <leader>vv :e $MYVIMRC<cr>
map <leader>vv :tabnew $MYVIMRC<cr>
map <leader>zi :set foldmethod=indent<cr>
map <leader>zs :set foldmethod=syntax<cr>
map <leader>b :CtrlPBuffer<cr>
map <leader>n :CtrlPBufTagAll<cr>
nmap [c <Plug>(GitGutterPrevHunk)
nmap ]c <Plug>(GitGutterNextHunk)
nmap <Leader>hs <Plug>(GitGutterStageHunk)
nmap <Leader>hu <Plug>(GitGutterUndoHunk)
"asdasd"
"echo getline("'<")[getpos("'<")[2]-1:getpos("'>")[2]]
nmap <leader>"w ysaw"
nmap <leader>"e ys$"
nmap <leader>"E yst;"
nmap <leader>'w ysaw'
nmap <leader>'E ys$'
nmap <leader>'; yst;'
nmap <leader>(w ysaw(
nmap <leader>(E ys$(
nmap <leader>(; yst;(
nmap <leader>(' ysa'(
nmap <leader>(" ysa"(
nmap <leader>[w ysaw[
nmap <leader>[E ys$[
nmap <leader>[; yst;[
nmap <leader>[' ysa'[
nmap <leader>[" ysa"[
nmap <leader>{w ysaw{
nmap <leader>{E ys${
nmap <leader>{; yst;{
nmap <leader>{' ysa'{
nmap <leader>{" ysa"{
nmap <leader>S mx:%s///g<cr>`x
nmap <leader>G mx:%g//d<cr>`x
nmap <leader>V mx:%v//d<cr>`x
nmap <leader>yf :let @F = expand("%\n")<cr>
nmap <leader>yF :let @F = expand("%:p\n")<cr>
nmap <leader>Yf :let @F = printf("%s@%d\n",expand('%:p'),line('.'))<cr>
nmap <leader>YF :let @F = printf("%s@%d >>> %s\n",expand('%:p'),line('.'),getline('.'))<cr>
nmap <leader>F :let @F = printf("%s@%d >>> %s\n",expand('%:p'),line('.'),getline('.'))<cr>
nmap <c-j> gj
nmap <c-k> gk
vmap <c-j> gj
vmap <c-k> gk
nnoremap <leader>tf :call Togglehiddenall()<cr>
nnoremap <leader>tl :set list!<cr>
nmap <silent> <leader>tt :TagbarToggle<cr>
nmap <silent> <leader>ti :IndentGuidesToggle<cr>
nmap <silent> <leader>ts :call Togglesyntax()<cr>
map <leader>tm :NERDTreeToggle<cr>
nnoremap <leader>tu :GundoToggle<cr>
nnoremap <leader>tx :set cursorline! cursorcolumn!<cr>
nnoremap <leader>vr :source $MYVIMRC<cr>
map <leader>A :Ack
nmap <leader>W :Ack <c-r><c-w><cr>
nmap <leader>G :Gstatus<cr>
nmap <leader>gs :Gstatus<cr>
nmap <leader>gp :Gpush<cr>
nmap <leader>gP :Gpull<cr>
nmap <leader>gd :Gdiff<cr>
nmap <leader>gcc :Gcommit<cr>
nmap <leader>C :Gcommit<cr>
nmap <leader>gb :Gblame<cr>
nmap <leader>- <c-w>_
nmap <leader>= <c-w>=
vmap v <plug>(expand_region_expand)
vmap <c-v> <plug>(expand_region_shrink)
vmap . >gv
vmap , <gv
imap jj <esc>
imap <c-o> <esc>O
nmap cp :let @" = expand("%")<cr>
nmap <m-d> <esc>
nnoremap <silent> <leader>n :nohlsearch<cr>
let g:easymotion_smartcase = 1
let g:easymotion_use_smartsign_us = 1
map <leader>/ <plug>(easymotion-sn)
nmap <leader>s <plug>(easymotion-s2)
nmap <leader>f <plug>(easymotion-s)
map <leader>j <plug>(easymotion-j)
map <leader>k <plug>(easymotion-k)
nmap <silent> <leader>d <Plug>(devdocs-under-cursor)
nmap <leader>] <c-w>w<c-w>_
nmap <leader>[ <c-w>w<c-w>_
nmap <leader>, 10<c-w><<esc>
nmap <leader>. 10<c-w>><esc>
nnoremap gp `[v`]
let g:ycm_key_list_select_completion = ['<c-j>', '<down>']
let g:ycm_key_list_previous_completion = ['<c-k>','<s-tab>', '<up>']
let g:ultisnipslistsnippets="<null>"
let g:ultisnipsjumpforwardtrigger="<c-l>"
let g:ultisnipsjumpbackwardtrigger="<c-h>"
let g:mustache_abbreviations = 1
let g:minbufexplforcesyntaxenable = 1
set guioptions-=r
set guifont=sauce_code_powerline:h13<cr>
augroup vimcss3syntax
autocmd!
autocmd filetype css setlocal iskeyword+=-
augroup end
let g:closetag_filenames = "*.html,*.xhtml,*.phtml,*.mustache"
let g:ctrlp_working_path_mode = ''
let g:ctrlp_custom_ignore = {
\ 'dir': '\v([\/]\.(git|hg|svn)|node_modules|node_modules_old|bower_components)$',
\ 'file': '\v\.(exe|so|dll|jpg|png|map|min\.css|min\.js|)$',
\ 'link': 'some_bad_symbolic_links',
\ }
if executable('ag')
let g:ackprg = 'ag --nogroup --nocolor --column'
endif
function! s:move_to_next_emmet_area(direction)
if pumvisible()
if (a:direction == 0)
return "\<c-p>"
else
return "\<c-n>"
endif
endif
let line = getline('.')
if col('.') < len(line)
let line = matchstr(line, '[">][^<"]*\%'.col('.').'c[^>"]*[<"]')
if len(line) >= 2
if (a:direction == 0)
return "\<Plug>(emmet-move-prev)"
else
return "\<Plug>(emmet-move-next)"
endif
endif
endif
" return a regular tab character
return "\<tab>"
endfunction
" expand an emmet sequence like ul>li*5
function! s:expand_emmet_sequence()
if emmet#isExpandable()
return "\<Plug>(emmet-expand-abbr)"
endif
endfun
autocmd FileType html,hbs,handlebars,blade.php,html.mustache,css,scss imap <buffer><expr><C-f> <sid>expand_emmet_sequence()
let g:phpqa_codesniffer_autorun = 0
inoremap <silent> <C-;> <C-R>=GetCloseTag()<CR>
" No bell in gui please
autocmd! GUIEnter * set vb t_vb=
if &term =~ '256color'
" disable Background Color Erase (BCE) so that color schemes
" render properly when inside 256-color tmux and GNU screen.
" see also http://snk.tuxfamily.org/log/vim-256color-bce.html
set t_ut=
endif
"let g:syntastic_javascript_jslint_args = "--browser --nomen"
:inoremap \fn <C-R>=expand("%:t:r")<CR>
function! s:DiffWithSaved()
let filetype=&ft
diffthis
vnew | r # | normal! 1Gdd
diffthis
exe "setlocal bt=nofile bh=wipe nobl noswf ro ft=" . filetype
endfunction
com! DiffSaved call s:DiffWithSaved()
function! HandleURL()
let s:uri = matchstr(getline("."), '[a-z]*:\/\/[^ >,;]*')
echo s:uri
if s:uri != ""
silent exec "!open '".s:uri."'"
else
echo "No URI found in line."
endif
endfunction
map <leader>u :call HandleURL()<cr>
let g:jsx_ext_required = 0
let g:previm_open_cmd = 'open -a Google\ Chrome'
augroup PrevimSettings
autocmd!
autocmd BufNewFile,BufRead *.{md,mdwn,mkd,mkdn,mark*} set filetype=markdown
augroup END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment