Julio Biason
4 years ago
1 changed files with 0 additions and 289 deletions
@ -1,289 +0,0 @@ |
|||||||
" ---------------------------------------------------------------------- |
|
||||||
" This is basically a copy of the starting vimrc, just to make sure I |
|
||||||
" have all the cool things enabled |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
|
|
||||||
set encoding=utf-8 |
|
||||||
|
|
||||||
" Use Vim settings, rather then Vi settings (much better!). |
|
||||||
" This must be first, because it changes other options as a side effect. |
|
||||||
set nocompatible |
|
||||||
|
|
||||||
" allow backspacing over everything in insert mode |
|
||||||
set backspace=indent,eol,start |
|
||||||
|
|
||||||
" Don't use Ex mode, use Q for formatting |
|
||||||
map Q gq |
|
||||||
|
|
||||||
" Map Y to do the same (well, almost) as the D command |
|
||||||
map Y y$ |
|
||||||
|
|
||||||
" This is an alternative that also works in block mode, but the deleted |
|
||||||
" text is lost and it only works for putting the current register. |
|
||||||
|
|
||||||
" Switch syntax highlighting on, when the terminal has colors |
|
||||||
" Also switch on highlighting the last used search pattern. |
|
||||||
if &t_Co > 2 || has("gui_running") |
|
||||||
syntax on |
|
||||||
set hlsearch |
|
||||||
endif |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Those are my settings |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
|
|
||||||
set nocompatible " force no compatibility with standard "vi" |
|
||||||
set tabstop=4 " tabs are displayed as 4 spaces |
|
||||||
set shiftwidth=4 " by default, when auto-identing, add 4 spaces (or 1 tabstop) |
|
||||||
set foldmethod=marker " fold on markers |
|
||||||
set foldlevel=3 " number of folds to open automatically |
|
||||||
set scrolloff=1 " always show one line around the cursor |
|
||||||
set cursorline " hightlight the current cursor line |
|
||||||
set laststatus=2 " always show the status bar ('cause I like to see the line and column, always) |
|
||||||
set showtabline=2 " always show the tabline |
|
||||||
set showmatch " show matching bracket |
|
||||||
set noerrorbells " no error bells |
|
||||||
set autowrite " write the file when switching between files or something |
|
||||||
set nowrap " do not wrap long lines |
|
||||||
set nobackup " do not keep a backup file, use versions instead |
|
||||||
set history=50 " keep 50 lines of command line history |
|
||||||
set ruler " show the cursor position all the time |
|
||||||
set showcmd " display incomplete commands |
|
||||||
set incsearch " do incremental searching |
|
||||||
set formatoptions=tcq " wrap with textwidth, wrap comments, insert commend leader (twice), format comments |
|
||||||
set smartindent " smart identation |
|
||||||
set number " show line numbers |
|
||||||
set wim=longest,list " file auto-completion |
|
||||||
set background=dark " to follow most of the colorschemes I use |
|
||||||
set vb t_vb= " convert bells to visual bells and do nothing as visual bell |
|
||||||
set t_Co=256 " 256 color terminal |
|
||||||
set termguicolors " Define that the terminal has true color capabilities |
|
||||||
set modeline " Enable modelines |
|
||||||
set lcs=tab:¦\ " uses a special char at the start of a tab character, uses spaces after that |
|
||||||
set nolist " ... but don't display them by default |
|
||||||
set wildmenu " display all found files |
|
||||||
|
|
||||||
let mapleader=" " " use space to start user-defined (in plugins) functions |
|
||||||
|
|
||||||
syntax sync minlines=1500 " increases the number of lines to find the proper syntax |
|
||||||
|
|
||||||
" Color scheme |
|
||||||
color molokai |
|
||||||
|
|
||||||
" Enable file type detection. |
|
||||||
" Use the default filetype settings, so that mail gets 'tw' set to 72, |
|
||||||
" 'cindent' is on in C files, etc. |
|
||||||
" Also load indent files, to automatically do language-dependent indenting. |
|
||||||
filetype plugin indent on |
|
||||||
|
|
||||||
" Put these in an autocmd group, so that we can delete them easily. |
|
||||||
augroup vimrcEx |
|
||||||
au! |
|
||||||
|
|
||||||
" For all text files set 'textwidth' to 78 characters. |
|
||||||
autocmd FileType text setlocal textwidth=78 |
|
||||||
|
|
||||||
" When editing a file, always jump to the last known cursor position. |
|
||||||
" Don't do it when the position is invalid or when inside an event handler |
|
||||||
" (happens when dropping a file on gvim). |
|
||||||
autocmd BufReadPost * |
|
||||||
\ if line("'\"") > 0 && line("'\"") <= line("$") | |
|
||||||
\ exe "normal g`\"" | |
|
||||||
\ endif |
|
||||||
|
|
||||||
augroup END |
|
||||||
|
|
||||||
" Files that should be ignored in most file operations |
|
||||||
set wildignore+=*/build/*,*.egginfo,*.pyc,*.mo,*/dist/*,*.class |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Auto-commands |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
|
|
||||||
" default python style |
|
||||||
" (use spaces instead of tabs (expandtab), uses 4 spaces for tabs (tabstop), |
|
||||||
" when auto-indenting, also use 4 spaces (shiftwidth), when deleting text, 4 |
|
||||||
" spaces are a tab (softtabstop) and break the line at column 78 (textwidth)) |
|
||||||
" also, remove all tailing spaces |
|
||||||
au FileType python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 textwidth=78 colorcolumn=79 |
|
||||||
|
|
||||||
" Default C/C++ style |
|
||||||
" show a column marker at column 100, break the line at line 100, use tabs |
|
||||||
" instead of sapces and display a "¦" for tabs (this way we can see the lines |
|
||||||
" that are not using real tabs) |
|
||||||
au FileType c setlocal colorcolumn=100 tw=100 noet list |
|
||||||
au FileType cpp setlocal colorcolumn=100 tw=100 noet list |
|
||||||
|
|
||||||
" Default ReStructured document style |
|
||||||
" reStructured files follow python closely, but use 3 tab stops instead of 4 |
|
||||||
au FileType rst setlocal expandtab tabstop=3 sw=3 sts=3 textwidth=78 |
|
||||||
|
|
||||||
" Default Jinja2/Django styles |
|
||||||
" These options reflect most of the same style as Python. |
|
||||||
au FileType htmldjango setlocal noet tabstop=4 shiftwidth=4 softtabstop=4 textwidth=0 |
|
||||||
au FileType jinja setlocal noet tabstop=4 shiftwidth=4 softtabstop=4 textwidth=0 |
|
||||||
|
|
||||||
" Default Smarty style |
|
||||||
" Smarty doesn't have a proper syntax (I think) so we enable autoidentation |
|
||||||
" for it to indent HTML properly. |
|
||||||
au FileType smarty setlocal ai |
|
||||||
|
|
||||||
" Default PHP style |
|
||||||
" PHP should break at column 79 (pretty much like Python). |
|
||||||
" We also enable a syntax option, which will colorize instance members in a |
|
||||||
" different way (so we know when a variable is an instance member or something |
|
||||||
" coming from outside). |
|
||||||
au FileType php setlocal textwidth=79 |
|
||||||
let php_smart_members=1 |
|
||||||
|
|
||||||
" Default Subversion style. |
|
||||||
" Simply break lines at column 70. |
|
||||||
au FileType svn setlocal tw=70 |
|
||||||
|
|
||||||
" Default Email style. |
|
||||||
" This is mostly used by Mutt. |
|
||||||
au FileType mail setlocal spell spelllang=en |
|
||||||
|
|
||||||
" Default JavaScript style |
|
||||||
" This mirrors Python, except we'll be using 2 spaces instead of 4. Also, |
|
||||||
" there is no hard-break, as JavaScript seems more prone to break in the wrong |
|
||||||
" place than Python. |
|
||||||
au FileType javascript setlocal expandtab tabstop=4 sw=4 sts=4 textwidth=0 |
|
||||||
|
|
||||||
" Default style for cofeescript files |
|
||||||
au FileType coffee setlocal noet ts=2 sw=2 sts=2 list |
|
||||||
|
|
||||||
" Default JSON styles |
|
||||||
" Every file with the extesion "json" should have the filetype "json"; |
|
||||||
" Use spaces instead of tabs and use 4 spaces for it. |
|
||||||
" Remove tailing spaces. |
|
||||||
" Also, in case we are using vim-json (through Polyglot), do not conceal any |
|
||||||
" characters (check elzr/vim-json on Github about this feature) |
|
||||||
let g:vim_json_syntax_conceal = 0 |
|
||||||
autocmd BufNewFile,BufRead *.json set filetype=json |
|
||||||
autocmd Filetype json set et ts=4 sts=4 |
|
||||||
|
|
||||||
" Vue files can be treated as HTML files just fine |
|
||||||
autocmd BufNewFile,BufRead *.vue set ft=html |
|
||||||
|
|
||||||
" Default Pinpoint style |
|
||||||
au BufNewFile,BufRead *.pin set filetype=pinpoint |
|
||||||
au FileType pinpoint setlocal colorcolumn=79 textwidth=78 |
|
||||||
|
|
||||||
" Default Yang style |
|
||||||
au FileType yang set et |
|
||||||
|
|
||||||
" Yaml; same as JavaScript |
|
||||||
au FileType yaml setlocal expandtab tabstop=2 sw=2 sts=2 textwidth=0 |
|
||||||
|
|
||||||
" For Java, we need to display tabs |
|
||||||
au FileType java setlocal noet list |
|
||||||
|
|
||||||
" On Markdown files, we want automatic breaks and spell checking |
|
||||||
au FileType markdown setlocal tw=78 spell spelllang=en_au wrap |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Remove tailing spaces |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
|
|
||||||
autocmd FileType c,cpp,python,yang,json,yaml,javascript,scala,java autocmd BufWritePre <buffer> :%s/\s\+$//e |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" mapings |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
|
|
||||||
" Easy switching between tabs (just use Alt+<tab number>) |
|
||||||
if has('mac') |
|
||||||
map <D-1> :tabn 1<CR> |
|
||||||
map <D-2> :tabn 2<CR> |
|
||||||
map <D-3> :tabn 3<CR> |
|
||||||
map <D-4> :tabn 4<CR> |
|
||||||
map <D-5> :tabn 5<CR> |
|
||||||
map <D-6> :tabn 6<CR> |
|
||||||
map <D-7> :tabn 7<CR> |
|
||||||
map <D-8> :tabn 8<CR> |
|
||||||
map <D-9> :tabn 9<CR> |
|
||||||
map <D-0> :tabn 10<CR> |
|
||||||
|
|
||||||
imap <D-1> <ESC>:tabn 1<CR>a |
|
||||||
imap <D-2> <ESC>:tabn 2<CR>a |
|
||||||
imap <D-3> <ESC>:tabn 3<CR>a |
|
||||||
imap <D-4> <ESC>:tabn 4<CR>a |
|
||||||
imap <D-5> <ESC>:tabn 5<CR>a |
|
||||||
imap <D-6> <ESC>:tabn 6<CR>a |
|
||||||
imap <D-7> <ESC>:tabn 7<CR>a |
|
||||||
imap <D-8> <ESC>:tabn 8<CR>a |
|
||||||
imap <D-9> <ESC>:tabn 9<CR>a |
|
||||||
imap <D-0> <ESC>:tabn 10<CR>a |
|
||||||
else |
|
||||||
map <M-1> :tabn 1<CR> |
|
||||||
map <M-2> :tabn 2<CR> |
|
||||||
map <M-3> :tabn 3<CR> |
|
||||||
map <M-4> :tabn 4<CR> |
|
||||||
map <M-5> :tabn 5<CR> |
|
||||||
map <M-6> :tabn 6<CR> |
|
||||||
map <M-7> :tabn 7<CR> |
|
||||||
map <M-8> :tabn 8<CR> |
|
||||||
map <M-9> :tabn 9<CR> |
|
||||||
map <M-0> :tabn 10<CR> |
|
||||||
|
|
||||||
imap <M-1> <ESC>:tabn 1<CR>a |
|
||||||
imap <M-2> <ESC>:tabn 2<CR>a |
|
||||||
imap <M-3> <ESC>:tabn 3<CR>a |
|
||||||
imap <M-4> <ESC>:tabn 4<CR>a |
|
||||||
imap <M-5> <ESC>:tabn 5<CR>a |
|
||||||
imap <M-6> <ESC>:tabn 6<CR>a |
|
||||||
imap <M-7> <ESC>:tabn 7<CR>a |
|
||||||
imap <M-8> <ESC>:tabn 8<CR>a |
|
||||||
imap <M-9> <ESC>:tabn 9<CR>a |
|
||||||
imap <M-0> <ESC>:tabn 10<CR>a |
|
||||||
endif |
|
||||||
|
|
||||||
" Easy swtich between splits |
|
||||||
nnoremap <C-J> <C-W><C-J> |
|
||||||
nnoremap <C-K> <C-W><C-K> |
|
||||||
nnoremap <C-L> <C-W><C-L> |
|
||||||
nnoremap <C-H> <C-W><C-H> |
|
||||||
|
|
||||||
" Use ';' as ':' |
|
||||||
nnoremap ; : |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Lightline configuration |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
let g:lightline = { |
|
||||||
\ 'colorscheme': 'wombat', |
|
||||||
\ } |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" ALE |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
let g:ale_sign_column_always=1 |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Special options for Python syntax |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
let g:python_highlight_all = 1 |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Special options for Rust syntax |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
let g:rustfmt_autosave = 1 |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Workaround for Kitty |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
let &t_ut='' |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Let's use Skim as CtrlP |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
map <C-p> :SK<CR> |
|
||||||
map <Leader>o :SK<CR> |
|
||||||
|
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
" Lastly, load configurations available only to this computer |
|
||||||
" ---------------------------------------------------------------------- |
|
||||||
if filereadable(expand("~/.vim/local.vim")) |
|
||||||
source ~/.vim/local.vim |
|
||||||
endif |
|
Loading…
Reference in new issue