Restructure file

This commit is contained in:
rnhmjoj 2015-10-10 17:23:21 +02:00
parent b711bca382
commit 4e9d72c343
2 changed files with 205 additions and 209 deletions

103
lightline.vim Normal file
View File

@ -0,0 +1,103 @@
let g:lightline = {
\"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",
\ }
\ }
function! Fugitive()
if &ft !~? '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 ? 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" :
\ 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

201
vimrc
View File

@ -2,12 +2,20 @@
"" Environment
""
" vim environment
set directory=$XDG_CACHE_HOME/vim,~/,/tmp
set backupdir=$XDG_CACHE_HOME/vim,~/,/tmp
set viminfo+=n$XDG_CACHE_HOME/vim/viminfo
set rtp=$XDG_CONFIG_HOME/vim,$XDG_CONFIG_HOME/vim/after,$VIM,$VIMRUNTIME
let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc"
" ctags data
set tags=$XDG_CACHE_HOME/vim/tags
" keep history
set undodir=$XDG_CACHE_HOME/vim/undo
set undofile
""
"" Plugins
@ -23,8 +31,6 @@ Plugin 'tpope/vim-fugitive'
Plugin 'sjl/gundo.vim'
Plugin 'itchyny/lightline.vim'
Plugin 'tpope/vim-markdown'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'ervandew/supertab'
Plugin 'majutsushi/tagbar'
Plugin 'scrooloose/syntastic'
@ -33,62 +39,24 @@ call vundle#end()
""
"" Plugins
"" Mapping
""
" Lightline
let g:lightline = {
\"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",
\ }
\ }
let g:syntastic_check_on_open = 1 " Syntactic
let g:syntastic_enable_signs = 1 "
let g:syntastic_python_checkers = ["flake8", "python"] "
let g:syntastic_python_python_exe = 'python3' "
" Windows navigation
map <C-k> <C-w><Up>
map <C-j> <C-w><Down>
map <C-l> <C-w><Right>
map <C-h> <C-w><Left>
let g:tagbar_status_func = "TagbarStatusFunc" " Tagbar
let g:tagbar_compact = 1 "
let g:tagbar_iconchars = ["▸", "▾"] "
map <F2> :GundoToggle<CR>
map <F3> :call ToggleSpell()<CR>
map <F5> :NERDTreeTabsToggle<CR>
map <F6> :TagbarToggle<CR>
map <D-e> :q!<CR>
let g:miniBufExplMapWindowNavVim = 1 " MiniBufferExplorer
let g:miniBufExplMapWindowNavArrows = 1 "
let g:miniBufExplMapCTabSwitchBufs = 1 "
let g:miniBufExplModSelTarget = 1 "
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
"" Options
""
set spell spelllang=it " Controllo ortografico...
@ -114,9 +82,6 @@ set nobackup
set noswapfile " Disabilita i file di Swap
set writebackup " Abilita backup temporanei
set undodir=$XDG_CACHE_HOME/vim/undo " Mantiene la cronologia
set undofile "
set wildmenu " Autocompletamento dei comandi
set encoding=utf-8 " Codifica
set nomodeline " Sicurezza
@ -126,7 +91,7 @@ set ffs=unix,mac
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 wildignore+=*/tmp/*,*.so,*.swp " Altri file da ignorare
set shiftwidth=4 " Tab
set tabstop=4 "
@ -139,113 +104,41 @@ set noshowmode
syntax on " Abilita il syntax-highlighter
set go-=r " Nascondi barre di scorrimento
set go-=L "
syntax enable
hi NonText guifg=bg
syntax enable "
hi NonText guifg=bg "
set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%) " Barra del titolo senza-VIM
" Barra del titolo senza “-VIM”
set titlestring=%t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%)
""
"" Funzioni
"" Plugin options
""
function! Fugitive()
if &ft !~? 'nerdtree\|gundo\|tagbar' && exists("*fugitive#head")
let _ = fugitive#head()
return strlen(_) ? "⭠ "._ : ""
endif
return ''
endfunction
" Lightline
source $XDG_CONFIG_HOME/vim/lightline.vim
function! Modified()
return &ft =~ "help" ? "" : &modified ? "+" : &modifiable ? "" : "-"
endfunction
" Syntastic
let g:syntastic_check_on_open = 1
let g:syntastic_enable_signs = 1
let g:syntastic_python_checkers = ["flake8", "python"]
let g:syntastic_python_python_exe = 'python3'
function! Readonly()
return &ft !~? "help" && &readonly ? "RO" : ""
endfunction
" Tagbar
let g:tagbar_status_func = "TagbarStatusFunc"
let g:tagbar_compact = 1
let g:tagbar_iconchars = [">", ""]
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
" MiniBufferExplorer
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
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
" CtrlP
let g:ctrlp_clear_cache_on_exit=0
let g:ctrlp_custom_ignore = {"dir": "\v[\/]\.(git|hg|svn|ve)$"}
let g:ctrlp_status_func = {"main": "CtrlPStatusMain",
\"prog": "CtrlPStatusProg"}
""
"" Mapping
""
map <C-k> <C-w><Up> " Navigazione tra le finestre
map <C-j> <C-w><Down> "
map <C-l> <C-w><Right> "
map <C-h> <C-w><Left> "
map <F2> :GundoToggle<CR> " Apri Gundo
map <F3> :call ToggleSpell()<CR> " Controllo ortografico
map <F5> :NERDTreeTabsToggle<CR> " Apri NERDTree
map <F6> :TagbarToggle<CR> " Apri Tagbar
map <D-e> :q!<CR> " Esci senza salvare
""
"" Varie
""
set tags=$XDG_CACHE_HOME/vim/tags " Tags