commit 00a87122c7a706271e48ee523437c37e1f52531e
parent df06c303d6eff93e7201177c3151ef9d4c6c4c5d
Author: Nirmal Kumar R <nirmal@posteo.net>
Date: Fri, 26 Jul 2024 12:09:24 +0530
Update vimrc
Diffstat:
M | vimrc | | | 51 | ++++++++++++++++++++++++++++++++++----------------- |
1 file changed, 34 insertions(+), 17 deletions(-)
diff --git 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