set shell=/bin/bash set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize "set rtp+=~/.vim/bundle/Vundle.vim "call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required " for installing plugin: call ':PluginInstall' "Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo "Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html " Plugin 'L9' " Git plugin not hosted on GitHub "Plugin 'git://git.wincent.com/command-t.git' " git repos on your local machine (i.e. when working on your own plugin) " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. "Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Install L9 and avoid a Naming conflict if you've already installed a " different version somewhere else. " Plugin 'ascenator/L9', {'name': 'newL9'} " Nerdtree "Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " Plugin youcompleteme "Plugin 'git://github.com/ycm-core/YouCompleteMe.git' " All of your Plugins must be added before the following line "call vundle#end() " required "filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line " All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by " the call to :runtime you can find below. If you wish to change any of those " settings, you should do it in this file (/etc/vim/vimrc), since debian.vim " will be overwritten everytime an upgrade of the vim packages is performed. " It is recommended to make changes after sourcing debian.vim since it alters " the value of the 'compatible' option. " This line should not be removed as it ensures that various options are " properly set to work with the Vim-related packages available in Debian. runtime! debian.vim " Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc. " This happens after /etc/vim/vimrc(.local) are loaded, so it will override " any settings in these files. " If you don't want that to happen, uncomment the below line to prevent " defaults.vim from being loaded. "let g:skip_defaults_vim = 1 " Uncomment the next line to make Vim more Vi-compatible " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous " options, so any other options should be set AFTER setting 'compatible'. "set compatible " Vim5 and later versions support syntax highlighting. Uncommenting the next " line enables syntax highlighting by default. syntax on " If using a dark background within the editing area and syntax highlighting " turn on this option as well set background=dark " Uncomment the following to have Vim jump to the last position when " reopening a file au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif " Uncomment the following to have Vim load indentation rules and plugins " according to the detected filetype. "filetype plugin indent on "filetype indent on " set filetyp manually for rust -> errors? "if &filetyp ==# 'rs' " setfiletyp='rust' "endif "if &filetyp ==# 'py' " setfiletyp='python' "endif " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. set showcmd " Show (partial) command in status line. set showmatch " Show matching brackets. set ignorecase " Do case insensitive matching set smartcase " Do smart case matching set incsearch " Incremental search set autowrite " Automatically save before commands like :next and :make set hidden " Hide buffers when they are abandoned " set mouse=a " Enable mouse usage (all modes) " enable clipboard set clipboard=unnamed " Y for copy into clipboard, y 'normal yank' nnoremap Y "+y vnoremap Y "+y nnoremap yY ^"+y$ " Start NERDTree and put the cursor back in the other window. "autocmd VimEnter * NERDTree | wincmd p " automatically trigger copy set guioptions+=a " line number set number " make shortcut nnoremap :!%:p " Source a global configuration file if available if filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.local endif " always wrap long lines set wrap " define function function! Myfunc() echo "Hello World!" endfunction " colorscheme colo forest_refuge " automatically run with apropriate languages from file-type autocmd FileType python map :w :exec '!python3' shellescape(@%, 1) autocmd FileType python imap :w : exec '!python3' shellescape(@%, 1)