Skip to content

Instantly share code, notes, and snippets.

@cpebble
Created January 18, 2020 16:56
Show Gist options
  • Save cpebble/886ff27651ad1ed41c833d94a7cabc66 to your computer and use it in GitHub Desktop.
Save cpebble/886ff27651ad1ed41c833d94a7cabc66 to your computer and use it in GitHub Desktop.
call plug#begin('~/.local/share/nvim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'sjl/badwolf'
Plug 'morhetz/gruvbox'
Plug 'iCyMind/NeoSolarized'
Plug 'scrooloose/syntastic'
Plug 'scrooloose/nerdtree'
Plug 'lervag/vimtex', { 'for': 'tex'}
Plug 'KeitaNakamura/tex-conceal.vim', {'for': 'tex'}
Plug 'Valloric/YouCompleteMe'
Plug 'fholgado/minibufexpl.vim'
Plug 'plasticboy/vim-markdown'
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() } }
Plug 'shime/vim-livedown'
Plug 'xuhdev/vim-latex-live-preview', {'for': 'tex'}
"Plug 'roxma/nvim-completion-manager'
Plug 'nvie/vim-flake8'
Plug 'wakatime/vim-wakatime'
Plug 'tpope/vim-surround'
Plug 'justinmk/vim-sneak'
Plug 'w0rp/ale'
Plug 'honza/vim-snippets'
Plug 'SirVer/ultisnips'
Plug 'sethwoodworth/vim-cute-python', {'for': 'py'}
call plug#end()
filetype plugin indent on
syntax on
" True colors
set t_8f=^[[38;2;%lu;%lu;%lum
set t_8b=^[[48;2;%lu;%lu;%lum
"let g:colors_name = 'badwolf'
"colorscheme NeoSolarized
"colorscheme badwolf
colorscheme gruvbox
set termguicolors
set cursorline
set foldenable
set expandtab
set foldlevelstart=50
set mouse=a
set noswapfile
set number
set relativenumber
set undofile
set undolevels=1000
set wrap
set hidden
set colorcolumn=80
set termguicolors
set tabstop=4
set softtabstop=4
set shiftwidth=4
" Don't show "insert"
set noshowmode
" Highlight needs to be changed in autoCmds
autocmd ColorScheme * highlight ColorColumn ctermbg=magenta | highlight ExtraWhiteSpace ctermbg=red guibg=red
"python with virtualenv support
py << EOF
import os
import sys
if 'VIRTUAL_ENV' in os.environ:
project_base_dir = os.environ['VIRTUAL_ENV']
activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
EOF
let g:ycm_server_keep_logfiles = 1
let g:ycm_server_log_level = 'debug'
let g:ycm_autoclose_preview_window_after_completion = 1
let python_highlight_all = 1
let g:vimtex_complete_enabled = 1
" Assume tex
let g:tex_flavor='latex'
syntax enable
"" Ale formatting
let g:ale_sign_error = '❗'
let g:ale_sign_warning = '❕'
let g:ale_linters = {'python': ['flake8']}
let g:ale_fixers = {'python': ['autopep8']}
"" Markdown
let g:mkdp_auto_start = 0
let g:mkdp_auto_close = 0
let g:mkdp_refresh_slow = 0
let g:mkdp_command_for_global = 0
let g:mkdp_browser = 'firefox-developer-edition'
"" Ale fixing
noremap <F3> :ALEFix<CR>
noremap <F5> :! python %
"" Completion for tex
"if !exists('g:ycm_semantic_triggers')
"let g:ycm_semantic_triggers = {}
"endif
au VimEnter * let g:ycm_semantic_triggers.tex = g:vimtex#re#youcompleteme
" Manual semantic triggers
"" vimtex
set conceallevel=2
let g:tex_conceal='abdgm'
" Figures
inoremap <C-f> <Esc>: silent exec '.!inkscape-figures create "'.getline('.').'" "'.b:vimtex.root.'/figures/"'<CR><CR>:w<CR>
nnoremap <C-f> : silent exec '!inkscape-figures edit "'.b:vimtex.root.'/figures/" > /dev/null 2>&1 &'<CR><CR>:redraw!<CR>
" youcompleteme binds for ultisnips etc
let g:ycm_key_list_select_completion = ['<C-j>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-k>', '<Up>']
" Ultisnips
let g:UltiSnipsExpandTrigger = '<tab>'
let g:UltiSnipsJumpForwardTrigger = '<tab>'
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
let g:UltiSnipsSnippetsDir = '/home/cpj/dotfiles/ultisnips'
let g:UltiSnipsSnippetDirectories=["/home/cpj/dotfiles/ultisnips"]
" Airline
let g:airline_powerline_fonts = 1
" Keybinds
let g:mapleader=','
inoremap jj <esc>
noremap j gj
noremap k gk
noremap ; :
noremap J 15j
noremap K 15k
noremap H ^
noremap L $
noremap v V
noremap V v
" noremap P "+p
noremap Y "+y
noremap YY "+yy
noremap P :r ! copyq clipboard<cr>
" Vnoremap copyq
vnoremap Y :w ! copyq copy -<cr>
noremap D "_d
noremap DD "_dd
noremap X "_X
noremap c "_c
noremap x "_x
xnoremap > >gv
xnoremap < <gv
noremap <tab> %
vnoremap <tab> %
vnoremap A :norm A
vnoremap I :norm I
vnoremap i :norm i
vnoremap S :sort<cr>
" Smart window management
noremap <A-h> <C-w>h
noremap <A-j> <C-w>j
noremap <A-k> <C-w>k
noremap <A-l> <C-w>l
" Opening a term buffer
" noremap <space> :term<cr>
" magic search
cnoremap %s/ %smagic/
nnoremap / /\v
" Nerd Tree
noremap <C-/> :NERDTreeToggle<CR>
nnoremap <C-\> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" let NERDTreeMapOpenInTab='<ENTER>'
" BufExplorer
autocmd VimEnter * MBEOpen
"nnoremap <S-K> <C-w>k
" Map for sneak
nnoremap s <Plug>Sneak_s
nnoremap S <Plug>Sneak_S
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment