Created
August 17, 2021 14:50
-
-
Save nphilipp/882ded667142d3f8abd50dee9cb3338e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" This must be first, because it changes other options as side effect | |
set nocompatible | |
" Vundle | |
filetype off " required | |
" set the runtime path to include Vundle and initialize | |
set rtp+=~/.vim/bundle/Vundle.vim | |
call vundle#begin() | |
" alternatively, pass a path where Vundle should install plugins | |
"call vundle#begin('~/some/path/here') | |
" let Vundle manage Vundle, required | |
Plugin 'VundleVim/Vundle.vim' | |
" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin) | |
Plugin 'tmhedberg/SimpylFold' | |
let g:SimpylFold_docstring_preview=1 | |
Plugin 'vim-scripts/indentpython.vim' | |
Plugin 'Valloric/YouCompleteMe' | |
let g:ycm_autoclose_preview_window_after_completion=1 | |
map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR> | |
Plugin 'scrooloose/syntastic' | |
Plugin 'nvie/vim-flake8' | |
Plugin 'kchmck/vim-coffee-script' | |
Plugin 'davidhalter/jedi-vim' | |
" All of your Plugins must be added before the following line | |
call vundle#end() " required | |
filetype plugin indent on " required | |
let g:syntastic_python_checkers=["python", "flake8"] | |
set directory=~/.vimswap// | |
set expandtab | |
set softtabstop=4 | |
set tabstop=4 | |
set shiftwidth=4 | |
set autoindent | |
set pastetoggle=<f12> | |
set foldmethod=indent | |
set foldlevel=99 | |
set encoding=utf-8 | |
set textwidth=100 | |
let python_highlight_all=1 | |
syntax on | |
" Enable folding with the spacebar | |
nnoremap <space> za | |
" clear highlighted search on Backspace | |
nnoremap <bs> :noh<CR>:<CR><bs> | |
":noremap <F8> "gyiwO[CCode (cname = "<ESC"gpa")]<ESC> | |
syn on " syntax highlighting | |
"set expandtab " use tabs instead of spaces | |
"set shiftwidth=2 " default indentation is 2 spaces | |
au BufNewFile,BufRead *.py | |
\ setlocal tabstop=4 | | |
\ setlocal softtabstop=4 | | |
\ setlocal shiftwidth=4 | | |
" \ setlocal textwidth=79 | | |
\ setlocal expandtab | | |
\ setlocal autoindent | | |
\ setlocal fileformat=unix | |
au BufNewFile,BufRead *.js,*.html,*.xhtml,*.css | |
\ setlocal tabstop=2 | | |
\ setlocal softtabstop=2 | | |
\ setlocal shiftwidth=2 | |
au BufWritePost *.py !pyflakes % | |
highlight BadWhitespace ctermbg=red guibg=darkred | |
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ | |
""python with virtualenv support | |
:py3 << 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') | |
if os.path.exists(activate_this): | |
exec(open(activate_this).read(), dict(__file__=activate_this)) | |
EOF | |
" Transparent editing of gpg encrypted files. | |
" Placed Public Domain by Wouter Hanegraaff <[email protected]> | |
" (asc support and sh -c"..." added by Osamu Aoki) | |
augroup aencrypted | |
au! | |
" First make sure nothing is written to ~/.viminfo while editing | |
" an encrypted file. | |
autocmd BufReadPre,FileReadPre *.asc set viminfo= | |
" We don't want a swap file, as it writes unencrypted data to disk | |
autocmd BufReadPre,FileReadPre *.asc set noswapfile | |
" Switch to binary mode to read the encrypted file | |
autocmd BufReadPre,FileReadPre *.asc set bin | |
autocmd BufReadPre,FileReadPre *.asc let ch_save = &ch|set ch=2 | |
autocmd BufReadPost,FileReadPost *.asc '[,']!sh -c "gpg --decrypt 2> /dev/null" | |
" Switch to normal mode for editing | |
autocmd BufReadPost,FileReadPost *.asc set nobin | |
autocmd BufReadPost,FileReadPost *.asc let &ch = ch_save|unlet ch_save | |
autocmd BufReadPost,FileReadPost *.asc execute ":doautocmd BufReadPost " . expand("%:r") | |
" Convert all text to encrypted text before writing | |
autocmd BufWritePre,FileWritePre *.asc '[,']!sh -c "gpg --default-recipient-self -ae 2>/dev/null" | |
" Undo the encryption so we are back in the normal text, directly | |
" after the file has been written. | |
autocmd BufWritePost,FileWritePost *.asc u | |
augroup END | |
augroup bencrypted | |
au! | |
" First make sure nothing is written to ~/.viminfo while editing | |
" an encrypted file. | |
autocmd BufReadPre,FileReadPre *.gpg set viminfo= | |
" We don't want a swap file, as it writes unencrypted data to disk | |
autocmd BufReadPre,FileReadPre *.gpg set noswapfile | |
" Switch to binary mode to read the encrypted file | |
autocmd BufReadPre,FileReadPre *.gpg set bin | |
autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2 | |
autocmd BufReadPost,FileReadPost *.gpg '[,']!sh -c "gpg --decrypt 2> /dev/null" | |
" Switch to normal mode for editing | |
autocmd BufReadPost,FileReadPost *.gpg set nobin | |
autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save | |
autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r") | |
" Convert all text to encrypted text before writing | |
autocmd BufWritePre,FileWritePre *.gpg '[,']!sh -c "gpg --default-recipient-self --armor -ev 2>/dev/null" | |
" Undo the encryption so we are back in the normal text, directly | |
" after the file has been written. | |
autocmd BufWritePost,FileWritePost *.gpg u | |
augroup END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment