From 4567e3e7a3fdd59e2e23adb8dbc58ac04a4f3c75 Mon Sep 17 00:00:00 2001 From: Rnhmjoj Date: Fri, 22 Nov 2013 18:20:32 +0100 Subject: [PATCH] Commit iniziale --- .gitignore | 8 ++ README.md | 28 +++++ bundle/vundle | 1 + vimrc | 287 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 324 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 160000 bundle/vundle create mode 100644 vimrc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..38dc4c6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +spell +backup +temp +tags +bundle/* +!bundle/vundle +.netrwhist +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..0163a8c --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +Questa è la mia configurazione di Vim. + +### Plugin installati +* [Vundle](https://github.com/gmarik/vundle) +* [CtlrP](https://github.com/kien/ctrlp.vim) +* [Distraction free writing](https://github.com/laktek/distraction-free-writing-vim) +* [Fugitive](https://github.com/tpope/vim-fugitive) +* [Gundo](https://github.com/sjl/gundo.vim) +* [Jedi](https://github.com/davidhalter/jedi-vim) +* [Markdown](https://github.com/tpope/vim-markdown) +* [NERDCommenter](https://github.com/scrooloose/nerdcommenter) +* [NERDTree](https://github.com/scrooloose/nerdtree) +* [NERDTreeTabs](https://github.com/jistr/vim-nerdtree-tabs) +* [Lightline](https://github.com/itchyny/lightline.vim) +* [Solarized](https://github.com/altercation/vim-colors-solarized) +* [Supertab](https://github.com/scrooloose/nerdtree) +* [Syntastic](https://github.com/scrooloose/syntastic) +* [Tagbar](https://github.com/majutsushi/tagbar) + +### Come installare +* `git clone https://github.com/Rnhmjoj/dotvim.git ~/.vim` +* `cd ~/.vim` +* `mkdir backup temp spell` +* `ln -s vimrc ~/.vimrc` +* da Vim `:BundleInstall` + +### Come aggiornare +* da Vim `:BundleInstall!` diff --git a/bundle/vundle b/bundle/vundle new file mode 160000 index 0000000..08e9894 --- /dev/null +++ b/bundle/vundle @@ -0,0 +1 @@ +Subproject commit 08e9894d2a9452537663f09a73ddeb4e647e9c4c diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..faceaf0 --- /dev/null +++ b/vimrc @@ -0,0 +1,287 @@ +set rtp+=~/.vim/bundle/vundle/ " Vundle +call vundle#rc() " + +"" +"" Bundles +"" + +Bundle "gmarik/vundle" +Bundle "kien/ctrlp.vim" +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 +