aboutsummaryrefslogtreecommitdiff
path: root/content/notes/2023-11-07-personal-sane-vim-defaults.md
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-03-10 14:59:14 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-03-10 14:59:14 +0100
commit1100562e29f6476448b656dbddd4cf22505523f6 (patch)
tree442eec492199104bd49dfd74474ce89ade8fcac9 /content/notes/2023-11-07-personal-sane-vim-defaults.md
parenta40d80be378e46a6c490e1b99b0d8f4acd968503 (diff)
downloadmitjafelicijan.com-1100562e29f6476448b656dbddd4cf22505523f6.tar.gz
Move back to JBMAFP
Diffstat (limited to 'content/notes/2023-11-07-personal-sane-vim-defaults.md')
-rw-r--r--content/notes/2023-11-07-personal-sane-vim-defaults.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/content/notes/2023-11-07-personal-sane-vim-defaults.md b/content/notes/2023-11-07-personal-sane-vim-defaults.md
new file mode 100644
index 0000000..a9157ad
--- /dev/null
+++ b/content/notes/2023-11-07-personal-sane-vim-defaults.md
@@ -0,0 +1,59 @@
1---
2title: "Personal sane Vim defaults"
3url: /apersonal-sane-vim-defaults.html
4date: 2023-11-07T01:04:28+02:00
5type: note
6draft: false
7---
8
9I have found many "sane" default configs on the net and this is my favorite
10personal list. This is how my `.vimrc` file looks like.
11
12```vimrc
13" General sane defaults.
14syntax enable
15colorscheme sorbet
16nnoremap q: <nop>
17set nocompatible
18set relativenumber
19set nohlsearch
20set smartcase
21set ignorecase
22set incsearch
23set autoindent
24set nowrap
25set nobackup
26set noswapfile
27set autoread
28set wildmenu
29set encoding=utf8
30set backspace=2
31set scrolloff=4
32set spelllang=en_us
33
34" Status Line enhancements.
35set laststatus=2
36set statusline=%f%m%=%y\ %{strlen(&fenc)?&fenc:'none'}\ %l:%c\ %L\ %P
37hi StatusLine cterm=NONE ctermbg=black ctermfg=brown
38hi StatusLineNC cterm=NONE ctermbg=black ctermfg=darkgray
39
40" Commenting blocks of code.
41augroup commenting_blocks_of_code
42 autocmd!
43 autocmd FileType c,cpp,go,scala let b:comment_leader = '// '
44 autocmd FileType sh,ruby,python let b:comment_leader = '# '
45 autocmd FileType conf,fstab let b:comment_leader = '# '
46 autocmd FileType lua let b:comment_leader = '-- '
47 autocmd FileType vim let b:comment_leader = '" '
48augroup END
49noremap <silent> ,cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR>
50noremap <silent> ,cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR>
51
52" Language specific indentation.
53filetype plugin indent on
54autocmd Filetype make,go,c,cpp setlocal noexpandtab tabstop=4 shiftwidth=4
55autocmd Filetype html,js,css setlocal expandtab tabstop=2 shiftwidth=2
56```
57
58I keep it pretty vanilla so this is about everything I have in the file.
59