123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- " Vundle plugin manager
- set nocompatible
- filetype off
- set rtp+=~/.vim/bundle/Vundle.vim
- call vundle#begin()
- Plugin 'VundleVim/Vundle.vim' " Keep the plugin manger itself updated
- Plugin 'captbaritone/better-indent-support-for-php-with-html' " Edit html files ending with php
- Plugin 'https://gogs.jovian-hersemeule.eu/Vim/BonitaLog.git' " Highlight useful information in Tomcat logs
- Plugin 'dag/vim-fish' " Full fish modular support
- Plugin 'tpope/vim-endwise' " Automatically close things like adding `end` in fish scripts
- Plugin 'alvan/vim-closetag' " Automatically close html tags
- Plugin 'quabug/vim-gdscript' " Old plugin for GoDot 3 syntax highlighting
- Plugin 'whiteinge/diffconflicts' " Two-ways git merge tool
- call vundle#end()
- " Make hard tab look like 4 spaces tabs
- set shiftwidth=4
- set tabstop=4
- " When started as "evim", evim.vim will already have done these settings.
- if v:progname =~? "evim"
- finish
- endif
- " Use Vim settings, rather than Vi settings (much better!).
- " This must be first, because it changes other options as a side effect.
- " Avoid side effects when it was already reset.
- if &compatible
- set nocompatible
- endif
- " When the +eval feature is missing, the set command above will be skipped.
- " Use a trick to reset compatible only when the +eval feature is missing.
- silent! while 0
- set nocompatible
- silent! endwhile
- " Allow backspacing over everything in insert mode.
- set backspace=indent,eol,start
- set history=200
- set ruler
- set showcmd " display incomplete commands
- set wildmenu " display completion matches in a status line
- set ttimeout " time out for key codes
- set ttimeoutlen=100 " wait up to 100ms after Esc for special key
- " Show @@@ in the last line if it is truncated.
- set display=truncate
- " Show a few lines of context around the cursor. Note that this makes the
- " text scroll if you mouse-click near the start or end of the window.
- set scrolloff=5
- " Do incremental searching when it's possible to timeout.
- if has('reltime')
- set incsearch
- endif
- " Do not recognize octal numbers for Ctrl-A and Ctrl-X
- set nrformats-=octal
- " Don't use Ex mode, use Q for formatting.
- " Revert with ":unmap Q".
- map Q gq
- " CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
- " so that you can undo CTRL-U after inserting a line break.
- " Revert with ":iunmap <C-U>".
- inoremap <C-U> <C-G>u<C-U>
- " Switch syntax highlighting on when available
- if &t_Co > 2 || has("gui_running")
- " Revert with ":syntax off".
- syntax on
- " I like highlighting strings inside C comments.
- " Revert with ":unlet c_comment_strings".
- let c_comment_strings=1
- endif
- " Only do this part when compiled with support for autocommands.
- if has("autocmd")
- " 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.
- " Revert with ":filetype off".
- filetype plugin indent on
- " Put these in an autocmd group, so that you can revert them with:
- " ":augroup vimStartup | au! | augroup END"
- augroup vimrcEx
- au!
- " When editing a file, always jump to the last known cursor position.
- " Don't do it when the position is invalid, when inside an event handler
- " (happens when dropping a file on gvim) and for a commit message (it's
- " likely a different one than last time).
- autocmd BufReadPost *
- \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
- \ | exe "normal! g`\""
- \ | endif
- " For all text files set 'textwidth' to 78 characters.
- autocmd FileType text setlocal textwidth=78
- augroup END
- else
- set autoindent " always set autoindenting on
- endif " has("autocmd")
- " Convenient command to see the difference between the current buffer and the
- " file it was loaded from, thus the changes you made.
- " Only define it when not defined already.
- " Revert with: ":delcommand DiffOrig".
- if !exists(":DiffOrig")
- command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
- \ | wincmd p | diffthis
- endif
- if has('langmap') && exists('+langremap')
- " Prevent that the langmap option applies to characters that result from a
- " mapping. If set (default), this may break plugins (but it's backward
- " compatible).
- set nolangremap
- endif
- set nobackup " do not keep a backup file, use versions instead
- if has('persistent_undo')
- set undofile " keep an undo file (undo changes after closing)
- set undodir=/tmp/
- endif
- " Add optional packages.
- "
- " The matchit plugin makes the % command work better, but it is not backwards
- " compatible.
- " The ! means the package won't be loaded right away but when plugins are
- " loaded during initialization.
- if has('syntax') && has('eval')
- packadd! matchit
- endif
|