]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
vim: support modelines in Go which change 'tabstop'
authorSimon Ruderich <simon@ruderich.org>
Tue, 24 Oct 2023 05:30:47 +0000 (07:30 +0200)
committerSimon Ruderich <simon@ruderich.org>
Tue, 24 Oct 2023 05:30:47 +0000 (07:30 +0200)
I've used Go with the default setting of eight spaces per tab for a long
time but the lines do indeed get very long. So permit using a modeline
to switch back to four spaces per tab.

vim/vimrc

index 86c1e706e8263965107374ae908d8795fbd682eb..84813d960d6bf5758a7be09a2a17d3eadfd1e49e 100644 (file)
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -920,11 +920,10 @@ if has('eval')
     endif
 
 " Settings for securemodelines.
-    " Only allow items I need (also includes spl which is not enabled by
-    " default).
+    " Only allow items I need
     if v:version >= 700 " need lists
         let g:secure_modelines_allowed_items = ['ft', 'spl', 'fdm',
-                                              \ 'sw', 'sts', 'noet']
+                                              \ 'ts', 'sw', 'sts', 'noet']
     endif
 
 " Settings for gnupg.
@@ -1082,8 +1081,9 @@ if has('autocmd')
         autocmd FileType vimperator setlocal commentstring=\"%s
 " Use TeX compiler for (La)TeX files.
         autocmd FileType tex compiler tex
-" Go always uses tabs for indentation.
-        autocmd FileType go call <SID>UseTabs()
+" Go always uses tabs for indentation; use BufRead so modelines can overwrite
+" settings like 'tabstop'
+        autocmd BufRead,StdinReadPost *.go call <SID>UseTabs()
 
 " FTDETECT AUTO COMMANDS