set rtp+=~/.vim/bundle/vundle/ " Vundle call vundle#rc() " "" "" Bundles "" Bundle "gmarik/vundle" Bundle "kien/ctrlp.vim" Bundle "Townk/vim-autoclose" Bundle "laktek/distraction-free-writing-vim" Bundle "tpope/vim-fugitive" Bundle "sjl/gundo.vim" Bundle "davidhalter/jedi-vim" Bundle "itchyny/lightline.vim" Bundle "tpope/vim-markdown" Bundle "scrooloose/nerdcommenter" Bundle "scrooloose/nerdtree" Bundle "jistr/vim-nerdtree-tabs" Bundle "ervandew/supertab" Bundle "majutsushi/tagbar" Bundle "altercation/vim-colors-solarized" Bundle "scrooloose/syntastic" "" "" Plugins "" " Lightline let g:lightline = { \"colorscheme": "solarized_dark", \"active": { \ "left": [[ "mode", "paste" ], ["fugitive", "filename", "readonly", "ctrlpmark"]], \ "right": [ ["syntastic", "lineinfo"], ["percent"], ["fileformat", "fileencoding", "filetype"]] \ }, \"component": { \"readonly": '%{&filetype=="help"?"":&readonly?"⭤":""}', \"modified": '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}' \ }, \'component_visible_condition': { \"readonly": '(&filetype!="help"&& &readonly)', \"modified": '(&filetype!="help"&&(&modified||!&modifiable))' \ }, \"component_expand": { \ "syntastic": "SyntasticStatuslineFlag", \ }, \"component_type": { \ "syntastic": "error", \ }, \"component_function": { \ "filename": "Filename", \ "fugitive": "Fugitive", \ "fileformat": "Fileformat", \ "filetype": "Filetype", \ "fileencoding": "Fileencoding", \ "mode": "Mode", \ "ctrlpmark": "CtrlPMark", \ }, \"separator": { "left": "⮀", "right": "⮂" }, \"subseparator": { "left": "⮁", "right": "⮃" } \ } let g:syntastic_check_on_open = 1 " Syntactic let g:syntastic_enable_signs = 1 " let g:syntastic_python_checkers = ["flake8", "python"] " let g:tagbar_status_func = "TagbarStatusFunc" " Tagbar let g:tagbar_compact = 1 " let g:tagbar_iconchars = ["▸", "▾"] " let g:miniBufExplMapWindowNavVim = 1 " MiniBufferExplorer let g:miniBufExplMapWindowNavArrows = 1 " let g:miniBufExplMapCTabSwitchBufs = 1 " let g:miniBufExplModSelTarget = 1 " au BufNewFile,BufRead *.md call DistractionFreeWriting() " DistractionFreeWriting let g:fullscreen_colorscheme = "iawriter" " let g:fullscreen_font = "Cousine:h14" " let g:normal_colorscheme = "solarized" " let g:normal_font = "Inconsolata-dz\ for\ Powerline:h12" " let g:nerdtree_tabs_open_on_gui_startup = 0 " NerdTree let g:nerdtree_tabs_open_on_console_startup = 0 " let g:ctrlp_clear_cache_on_exit=0 " CtrlP let g:ctrlp_status_func = {"main": "CtrlPStatusMain", "prog": "CtrlPStatusProg"} " let g:ctrlp_custom_ignore = {"dir": "\v[\/]\.(git|hg|svn|ve)$"} " "" "" Impostazioni generali "" if has("gui_running") " Solo per GUI set lines=45 columns=150 " Imposta larghezza e altezza set guifont=Inconsolata-dz\ for\ Powerline:h12 " Font endif " set spell spelllang=it " Controllo ortografico... set nospell " ...solo quando serve set nocompatible " Disabilita la compatibilità con vi set hidden " Nasconde i buffers set history=1000 " Aumenta la cronologia set incsearch " Ricerca incrementale set hlsearch " Evidenzia i risultati della ricerca set ignorecase " Ricerca case insensitive... set smartcase " ...per i termini minuscoli set laststatus=2 " set mouse=a " Abilita il supporto al mouse set showcmd " Mostra il comando mentre lo digit set ruler " Mostra la posizione della linea/colonna set vb t_vb= " Disabilita i beep set nobackup " Disabilita i backup ~ set writebackup " Abilita backup temporanei set backupdir=~/.vim/backup " set directory=~/.vim/temp " set undodir=~/.vim/undo " Mantiene la cronologia set undofile " set wildmenu " Autocompletamento dei comandi set wildignore+=.DS_Store " Nasconde i file DS_Store set nomodeline " Sicurezza set tabpagemax=10 " Limita il numero di tab a 10 set showmatch " Evidenzia le parentesi selezionate set ffs=unix,mac " Formato Unix e Mac per i file set dictionary=/usr/share/dict/words " Dizionario per il controllo ortografico set clipboard=unnamed " Integrazione con la clipboard set ttyfast " Migliora il redrawing in xterm filetype indent plugin on " Riconoscimento del tipo del file set wildignore+=*/tmp/*,*.so,*.swp,*.zip " Altri file da ignorare set shiftwidth=4 " Tab set tabstop=4 " set noexpandtab " set number " Numerazione set autoindent " Indentazione set smartindent " set noshowmode " syntax on " Abilita il syntax-highlighter set go-=r " Nascondi barre di scorrimento set go-=L " let g:solarized_visibility="low" " Schema dei colori colorscheme solarized " syntax enable " if has("gui_running") " set background=light " let g:lightline.colorscheme="solarized" " else " set background=dark " endif " hi NonText guifg=bg " set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%) " Barra del titolo senza “-VIM” "" "" Funzioni "" function! Fugitive() if &ft !~? 'nerdtree\|gundo\|tagbar' && exists("*fugitive#head") let _ = fugitive#head() return strlen(_) ? "⭠ "._ : "" endif return '' endfunction function! Modified() return &ft =~ "help" ? "" : &modified ? "+" : &modifiable ? "" : "-" endfunction function! Readonly() return &ft !~? "help" && &readonly ? "RO" : "" endfunction function! Filename() let fname = expand('%:t') return fname == 'ControlP' ? g:lightline.ctrlp_item : \ fname == '__Tagbar__' ? g:lightline.fname : \ fname =~ '__Gundo\|NERD_tree' ? '' : \ ('' != fname ? fname : '[No Name]') . \ ('' != Modified() ? ' ' . Modified() : '') endfunction function! Fileformat() return winwidth(0) > 70 ? &fileformat : "" endfunction function! Filetype() return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype : "no ft") : "" endfunction function! Fileencoding() return winwidth(0) > 70 ? (strlen(&fenc) ? &fenc : &enc) : "" endfunction function! Mode() let fname = expand("%:t") return fname == "__Tagbar__" ? "Tagbar" : \ fname == "ControlP" ? "CtrlP" : \ fname == "__Gundo__" ? "Gundo" : \ fname == "__Gundo_Preview__" ? "Gundo Preview" : \ fname =~ "NERD_tree" ? "NERDTree" : \ winwidth(0) > 60 ? lightline#mode() : "" endfunction function! CtrlPMark() if expand("%:t") =~ "ControlP" call lightline#link("iR"[g:lightline.ctrlp_regex]) return lightline#concatenate([g:lightline.ctrlp_prev, g:lightline.ctrlp_item \ , g:lightline.ctrlp_next], 0) else return "" endif endfunction function! CtrlPStatusMain(focus, byfname, regex, prev, item, next, marked) let g:lightline.ctrlp_regex = a:regex let g:lightline.ctrlp_prev = a:prev let g:lightline.ctrlp_item = a:item let g:lightline.ctrlp_next = a:next return lightline#statusline(0) endfunction function! CtrlPStatusProg(str) return lightline#statusline(0) endfunction function! TagbarStatusFunc(current, sort, fname, ...) abort let g:lightline.fname = a:fname return lightline#statusline(0) endfunction function ToggleSpell() if(&spell) set nospell else set spell endif endfunction function ToggleColorScheme() if &background=="dark" set background=light let g:lightline.colorscheme = "solarized" else set background=dark let g:lightline.colorscheme = "solarized_dark" endif hi NonText guifg=bg call lightline#init() call lightline#colorscheme() call lightline#update() endfunction "" "" Mapping "" map " Navigazione tra le finestre map " map " map " map :GundoToggle " Apri Gundo map :call ToggleSpell() " Controllo ortografico map :NERDTreeTabsToggle " Apri NERDTree map :TagbarToggle " Apri Tagbar map :call ToggleColorScheme() " Cambia sfondo di Solarized map :q! " Esci senza salvare "" "" Varie "" set tags=~/.vim/tags " Tags let $PATH = "Users/Michele/.pyenv/shims:/usr/local/bin:/usr/bin:/bin" " PATH