Skip to content

Commit

Permalink
Add a vimrc and update Vagrantfile accordingly
Browse files Browse the repository at this point in the history
  • Loading branch information
Carl-Foster committed Feb 28, 2017
1 parent 481089d commit c2031b1
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 0 deletions.
99 changes: 99 additions & 0 deletions .vimrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
" use Vim mode instead of pure Vi, it must be the first instruction
set nocompatible

" display settings
set encoding=utf-8 " encoding used for displaying file
set ruler " show the cursor position all the time
set showmatch " highlight matching braces
set showmode " show insert/replace/visual mode

" write settings
set confirm " confirm :q in case of unsaved changes
set fileencoding=utf-8 " encoding used when saving file
set nobackup " do not keep the backup~ file

" edit settings
set backspace=indent,eol,start " backspacing over everything in insert mode
set expandtab " fill tabs with spaces
set nojoinspaces " no extra space after '.' when joining lines
set shiftwidth=4 " set indentation depth to 8 columns
set softtabstop=4 " backspacing over 8 spaces like over tabs
set tabstop=4 " set tabulator length to 8 columns
set textwidth=80 " wrap lines automatically at 80th column

" search settings
set hlsearch " highlight search results
set ignorecase " do case insensitive search...
set incsearch " do incremental search
set smartcase " ...unless capital letters are used

" file type specific settings
filetype on " enable file type detection
filetype plugin on " load the plugins for specific file types
filetype indent on " automatically indent code

" syntax highlighting
colorscheme solarized " set color scheme, must be installed first
set background=dark " dark background for console
syntax enable " enable syntax highlighting

" characters for displaying non-printable characters
set listchars=eol:$,tab:>-,trail:.,nbsp:_,extends:+,precedes:+

" tuning for gVim only
if has('gui_running')
set background=light " light background for GUI
set columns=84 lines=48 " GUI window geometry
set guifont=Monospace\ 12 " font for GUI window
set number " show line numbers
endif

" automatic commands
if has('autocmd')
" file type specific automatic commands

" tuning textwidth for Java code
autocmd FileType java setlocal textwidth=132
if has('gui_running')
autocmd FileType java setlocal columns=136
endif

" don't replace Tabs with spaces when editing makefiles
autocmd Filetype makefile setlocal noexpandtab

" disable automatic code indentation when editing TeX and XML files
autocmd FileType tex,xml setlocal indentexpr=

" clean-up commands that run automatically on write; use with caution

" delete empty or whitespaces-only lines at the end of file
autocmd BufWritePre * :%s/\(\s*\n\)\+\%$//ge

" replace groups of empty or whitespaces-only lines with one empty line
autocmd BufWritePre * :%s/\(\s*\n\)\{3,}/\r\r/ge

" delete any trailing whitespaces
autocmd BufWritePre * :%s/\s\+$//ge
endif

" general key mappings

" center view on the search result
noremap n nzz
noremap N Nzz
" press F4 to fix indentation in whole file; overwrites marker 'q' position
noremap <F4> mqggVG=`qzz
inoremap <F4> <Esc>mqggVG=`qzza
" press F5 to sort selection or paragraph
vnoremap <F5> :sort i<CR>
nnoremap <F5> Vip:sort i<CR>
" press F8 to turn the search results highlight off
noremap <F8> :nohl<CR>
inoremap <F8> <Esc>:nohl<CR>a
" press F12 to toggle showing the non-printable charactes
noremap <F12> :set list!<CR>
inoremap <F12> <Esc>:set list!<CR>a
3 changes: 3 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ Vagrant.configure("2") do |config|
base.vm.provider "virtualbox" do |virtualbox|
virtualbox.memory = 2048
end

base.vm.provision "file", source: ".bashrc", destination: ".bashrc", run: "always"
base.vm.provision "file", source: ".vimrc", destination: ".vimrc", run: "always"
end

end

0 comments on commit c2031b1

Please sign in to comment.