aboutsummaryrefslogtreecommitdiff
path: root/vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc51
1 files changed, 34 insertions, 17 deletions
diff --git a/vimrc b/vimrc
index 2df60fc..f09f104 100644
--- a/vimrc
+++ b/vimrc
@@ -1,23 +1,40 @@
-syntax on
-set background=dark
-set laststatus=2
-set t_Co=256
-set encoding=utf-8
-set shiftwidth=4
-set tabstop=4
-set expandtab
-set smarttab
-set autoindent
-filetype on
set number
set ruler
set mouse=a
set noswapfile
-autocmd FileType c setlocal shiftwidth=4 softtabstop=4 expandtab
+" enable filetype detection:
+filetype on
+filetype plugin on
+filetype indent on " file type based indentation
+
+" for C-like programming where comments have explicit end
+" characters, if starting a new line in the middle of a comment automatically
+" insert the comment leader characters:
+autocmd FileType c,cpp set formatoptions+=ro
+autocmd FileType c set omnifunc=ccomplete#Complete
+
+" fixed indentation should be OK for XML and CSS. People have fast internet
+" anyway. Indentation set to 2.
+autocmd FileType html,xhtml,css,xml,xslt set shiftwidth=2 softtabstop=2
+
+" two space indentation for some files
+autocmd FileType vim,lua,nginx set shiftwidth=2 softtabstop=2
+
+" for CSS, also have things in braces indented:
+autocmd FileType css set omnifunc=csscomplete#CompleteCSS
+
+" add completion for xHTML
+autocmd FileType xhtml,html set omnifunc=htmlcomplete#CompleteTags
+
+" add completion for XML
+autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
+
+" in makefiles, don't expand tabs to spaces, since actual tab characters are
+" needed, and have indentation at 8 chars to be sure that all indents are tabs
+" (despite the mappings later):
+autocmd FileType make set noexpandtab shiftwidth=8 softtabstop=0
-" copy-paste
-noremap <Leader>y "*y
-noremap <Leader>p "*p
-noremap <Leader>Y "+y
-noremap <Leader>P "+p
+" ensure normal tabs in assembly files
+" and set to NASM syntax highlighting
+autocmd FileType asm set noexpandtab shiftwidth=8 softtabstop=0 syntax=nasm