mirror of
https://github.com/gryf/.vim.git
synced 2026-03-26 15:53:33 +01:00
Compare commits
4 Commits
2cc95674c2
...
7b5070ab3e
| Author | SHA1 | Date | |
|---|---|---|---|
| 7b5070ab3e | |||
| f98486130d | |||
| 0da4596005 | |||
| 8497d7595a |
17
README.rst
17
README.rst
@@ -7,14 +7,17 @@ of it.
|
||||
It uses `vim-plug`_ plugin manager, so after cloning, just open vim, and it
|
||||
will automatically install all the plugins.
|
||||
|
||||
Other than that, there are two additional config files which can be added to
|
||||
the configuration as a local configuration files just to not mess up with main
|
||||
config file. Both of them should be placed under ``$HOME/.vim`` directory.
|
||||
It should be cloned as is into `$HOME`` directory, i.e:
|
||||
|
||||
First one is ``vimrc.local``, which might contain additional/override options
|
||||
for specific machine.
|
||||
.. code:: console
|
||||
|
||||
The other ``plugins.local`` and similarly there can be additional plugins
|
||||
defined.
|
||||
cd $HOME
|
||||
git clone https://github.com/gryf/.vim
|
||||
|
||||
or in ``$XDG_COFIG_HOME`` directory, which usually is set to ``$HOME/.config``:
|
||||
|
||||
.. code:: console
|
||||
|
||||
git clone https://github.com/gryf/.vim ~/.config/vim
|
||||
|
||||
.. _vim-plug: https://github.com/junegunn/vim-plug
|
||||
|
||||
95
vimrc
95
vimrc
@@ -1,15 +1,25 @@
|
||||
"Basic setup for all files {{{
|
||||
set nocompatible "VIM over VI
|
||||
|
||||
" vimplug conf {{{
|
||||
" Get the config dir, as config can be either on ~/.vim or ~/.config/vim
|
||||
let s:_confdir = fnamemodify($MYVIMRC, ':h')
|
||||
|
||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
" Set colorscheme depending on the environment vim is running
|
||||
if $TERM == 'linux' && !has('gui_running')
|
||||
" fallback to basic 8-color colorscheme
|
||||
let s:_colorscheme = 'pablo'
|
||||
else
|
||||
let s:_colorscheme = 'wombat256grf'
|
||||
endif
|
||||
|
||||
" vimplug conf {{{
|
||||
if ! filereadable(s:_confdir . '/autoload/plug.vim')
|
||||
silent exec "!curl -fLo " . s:_confdir . "/autoload/plug.vim --create-dirs"
|
||||
\ "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
endif
|
||||
|
||||
call plug#begin('~/.vim/bundle')
|
||||
call plug#begin(s:_confdir . '/bundle')
|
||||
|
||||
Plug 'Valloric/MatchTagAlways', { 'for': ['html', 'xml'] }
|
||||
Plug 'ayuanx/vim-mark-standalone'
|
||||
@@ -28,7 +38,7 @@ Plug 'gryf/pythonhelper', { 'for': 'python' }
|
||||
Plug 'gryf/snipmate.vim'
|
||||
Plug 'gryf/vim-latex-compiler', { 'for': 'tex' }
|
||||
Plug 'gryf/wombat256grf'
|
||||
Plug 'gryf/zoom.vim' " control gui font size with '+' or '-; keys.
|
||||
Plug 'gryf/zoom.vim' " control gui font size with '+' or '-; keys.
|
||||
Plug 'habamax/vim-rst', { 'for': 'rst' }
|
||||
Plug 'honza/vim-snippets'
|
||||
Plug 'kien/ctrlp.vim'
|
||||
@@ -54,12 +64,7 @@ Plug 'vim-scripts/mako.vim', { 'for': 'mako' }
|
||||
Plug 'vim-scripts/mako.vim--Torborg', { 'for': 'mako' }
|
||||
Plug 'vimwiki/vimwiki'
|
||||
Plug 'will133/vim-dirdiff'
|
||||
|
||||
" Custom plugins: custom plugins per machine {{{
|
||||
" if filereadable($MYVIMRC . '.local')
|
||||
if filereadable(fnamemodify($MYVIMRC, ':h') . '/plugins.local')
|
||||
exec "source " . fnamemodify($MYVIMRC, ':h') . '/plugins.local'
|
||||
endif
|
||||
Plug 'thinca/vim-localrc'
|
||||
|
||||
call plug#end()
|
||||
" }}}
|
||||
@@ -122,7 +127,7 @@ set softtabstop=4
|
||||
|
||||
"spell options
|
||||
set spelllang=pl,en
|
||||
let &spellfile=expand('~/.vim/spell/pl.utf-8.add')
|
||||
let &spellfile=expand(s:_confdir . '/spell/pl.utf-8.add')
|
||||
|
||||
set splitbelow "Create new window below current one
|
||||
set swapfile "Use swap file
|
||||
@@ -151,7 +156,7 @@ set noswapfile
|
||||
"set undodir=~/.cache
|
||||
|
||||
" Strip trailing whitespace option
|
||||
let stripTrailingWhitespace = 1
|
||||
let stripTrailingWhitespace = 0
|
||||
|
||||
" Ignore missing spell files
|
||||
let loaded_spellfile_plugin = 1
|
||||
@@ -201,6 +206,12 @@ map <F3> :call <SID>CycleDiffAlgorithm()<cr>
|
||||
map <F4> :call <SID>ToggleHex()<cr>
|
||||
" }}}
|
||||
"FileTypes: specific vim behaviour {{{
|
||||
function s:SetAsciiDoc() "{{{2
|
||||
" AsciiDoc specific options
|
||||
setlocal makeprg=asciidoc\ -b\ html5\ \"%\"
|
||||
map <S-F5> :ShowInBrowser<CR>
|
||||
endfunction
|
||||
"}}}
|
||||
function s:SetPythonSettings() "{{{2
|
||||
" Python specific options
|
||||
setlocal cinkeys-=0#
|
||||
@@ -247,18 +258,7 @@ function s:SetMarkdownSettings() "{{{2
|
||||
setlocal autoindent
|
||||
setlocal formatoptions=tcq "set VIms default
|
||||
|
||||
function! <SID>ShowInBrowser()
|
||||
let l:uri = expand("%:p:r") . ".html"
|
||||
call system(g:browser . " " . l:uri)
|
||||
echohl Statement
|
||||
echo "Opened '" . l:uri ."' in " . g:browser
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
if !exists(":ShowInBrowser")
|
||||
command ShowInBrowser call s:ShowInBrowser()
|
||||
map <S-F5> :ShowInBrowser<CR>
|
||||
endif
|
||||
map <S-F5> :ShowInBrowser<CR>
|
||||
|
||||
" autocmd BufWritePost *.md :silent make
|
||||
endfunction
|
||||
@@ -307,20 +307,7 @@ function s:SetRestSettings() "{{{2
|
||||
setlocal formatoptions=tcq "set VIms default
|
||||
syn spell toplevel
|
||||
|
||||
function! <SID>ShowInBrowser()
|
||||
let l:uri = expand("%:p:r") . ".html"
|
||||
silent make
|
||||
call system(g:browser . " " . l:uri)
|
||||
|
||||
echohl Statement
|
||||
echo "Opened '" . l:uri ."' in " . g:browser
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
if !exists(":ShowInBrowser")
|
||||
command ShowInBrowser call s:ShowInBrowser()
|
||||
map <S-F5> :ShowInBrowser<CR>
|
||||
endif
|
||||
map <S-F5> :ShowInBrowser<CR>
|
||||
|
||||
function! WordFrequency() range
|
||||
let all = split(join(getline(a:firstline, a:lastline)), '\k\+')
|
||||
@@ -368,9 +355,6 @@ function s:SetGitcommitSettings() "{{{2
|
||||
endfunction
|
||||
"}}}
|
||||
|
||||
"remove all trailing whitespace for specified files before write
|
||||
autocmd BufWritePre * :call <SID>StripTrailingWhitespaces(0, 'n')
|
||||
|
||||
autocmd BufRead *.mako set filetype=mako
|
||||
autocmd BufRead *.ass, *asm set filetype=kickass
|
||||
|
||||
@@ -378,6 +362,7 @@ autocmd BufRead *.ass, *asm set filetype=kickass
|
||||
autocmd WinEnter * setlocal cursorline
|
||||
autocmd WinLeave * setlocal nocursorline
|
||||
|
||||
autocmd FileType asciidoc call <SID>SetAsciiDoc()
|
||||
autocmd FileType python call <SID>SetPythonSettings()
|
||||
autocmd FileType json call <SID>SetJavaScriptSettings()
|
||||
autocmd FileType javascript call <SID>SetJavaScriptSettings()
|
||||
@@ -575,6 +560,19 @@ endfunction
|
||||
"}}}
|
||||
" FUNCTIONS: usefull functions for all of the files {{{
|
||||
|
||||
" open file in a browser. Usefull for documentation filetypes like reST, md or
|
||||
" asciidoc
|
||||
function! <SID>ShowInBrowser()
|
||||
let l:uri = expand("%:p:r") . ".html"
|
||||
silent make
|
||||
call system(g:browser . " " . l:uri)
|
||||
|
||||
echohl Statement
|
||||
echo "Opened '" . l:uri ."' in " . g:browser
|
||||
echohl None
|
||||
endfunction
|
||||
command ShowInBrowser call s:ShowInBrowser()
|
||||
|
||||
" Simple wrapper for :make command
|
||||
function <SID>Make()
|
||||
echohl Statement
|
||||
@@ -767,16 +765,7 @@ if has('gui_running')
|
||||
au GUIEnter * set vb t_vb=
|
||||
endif
|
||||
|
||||
silent! colorscheme wombat256grf
|
||||
silent! exec 'colorscheme ' . s:_colorscheme
|
||||
|
||||
if $TERM == 'linux' && !has('gui_running')
|
||||
" fallback to basic 8-color colorscheme
|
||||
colorscheme pablo
|
||||
endif
|
||||
"}}}
|
||||
" Custom: custom config per machine {{{
|
||||
if filereadable($MYVIMRC . '.local')
|
||||
exec "source " . $MYVIMRC . '.local'
|
||||
endif
|
||||
"}}}
|
||||
" vim:ts=4:sw=4:wrap:fdm=marker:
|
||||
|
||||
Reference in New Issue
Block a user