annotate .chezmoitemplates/config.vim @ 645:19ce1b93d3cf

Enable truecolor in zsh
author zegervdv <zegervdv@me.com>
date Thu, 01 Sep 2022 15:39:58 +0200
parents a2a5862a3bd3
children c5ed13440614
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 " vim:fdm=marker:ts=2:sw=2
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
2
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 let s:darwin = has('mac')
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 let s:windows = has('win32')
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
5
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
6
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
7 " General Settings and options
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
8
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 if !s:windows
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 if !isdirectory(expand(&backupdir))
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 call mkdir(expand(&backupdir), "p")
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 if !isdirectory(expand(&directory))
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 call mkdir(expand(&directory), "p")
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 end
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
17
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 if v:version >= 703
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 if !isdirectory(expand(&undodir))
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 call mkdir(expand(&undodir), "p")
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
21 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
23
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
24 "
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
25
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
26 " Mappings
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
27
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
28
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
29
627
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
30 " if has('nvim')
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
31 " tnoremap <C-h> <C-\><C-n><C-w>h
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
32 " tnoremap <C-j> <C-\><C-n><C-w>j
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
33 " tnoremap <C-k> <C-\><C-n><C-w>k
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
34 " tnoremap <C-l> <C-\><C-n><C-w>l
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
35 " augroup enter_term
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
36 " au!
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
37 " autocmd TermOpen * startinsert!
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
38 " autocmd BufEnter * if &buftype ==# 'terminal' | :startinsert! | endif
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
39 " autocmd BufLeave * if &buftype ==# 'terminal' | :stopinsert! | endif
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
40 " augroup END
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
41 " let $GIT_EDITOR = 'nvr -cc split --remote-wait'
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
42 " endif
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
43
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
44 "
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
45
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
46 " Functions
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 " When editing a file, always jump to the last known cursor position.
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 " Don't do it for commit messages, when the position is invalid, or when
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 " inside an event handler (happens when dropping a file on gvim).
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 autocmd BufReadPost *
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 \ if &ft != 'gitcommit' && line("'\"") > 0 && line("'\"") <= line("$") |
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 \ exe "normal g`\"" |
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 \ endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
54
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
55
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
56 " Detect Filetype from content if file has no extension
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 augroup newFileDetection
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 au!
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 autocmd CursorMovedI * call CheckFileType()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 augroup END
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
61
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 function! CheckFileType()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 if exists("b:countCheck") == 0
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 let b:countCheck = 0
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 let b:countCheck += 1
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 if &filetype == "" && b:countCheck > 20 && b:countCheck < 200
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 filetype detect
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 " Delete the function if no filetype can be established, or the type has
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 " been found
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 elseif b:countCheck >= 200 || &filetype != ""
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 autocmd! newFileDetection
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 endfunction
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
75 "
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
76
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
77 " Make list-like commands more intuitive
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 " Copied from https://gist.github.com/romainl/047aca21e338df7ccf771f96858edb86
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 function! CCR()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 let cmdline = getcmdline()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 if cmdline =~ '\v\C^(ls|files|buffers)'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 " like :ls but prompts for a buffer command
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 return "\<CR>:b"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
84 elseif cmdline =~ '\v\C/(#|nu|num|numb|numbe|number)$'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 " like :g//# but prompts for a command
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 return "\<CR>:"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
87 elseif cmdline =~ '\v\C^(dli|il)'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 " like :dlist or :ilist but prompts for a count for :djump or :ijump
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 return "\<CR>:" . cmdline[0] . "j " . split(cmdline, " ")[1] . "\<S-Left>\<Left>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
90 elseif cmdline =~ '\v\C^(cli|lli)'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 " like :clist or :llist but prompts for an error/location number
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
92 return "\<CR>:sil " . repeat(cmdline[0], 2) . "\<Space>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
93 elseif cmdline =~ '\C^old'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 " like :oldfiles but prompts for an old file to edit
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 set nomore
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 return "\<CR>:sil se more|e #<"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 elseif cmdline =~ '\C^changes'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
98 " like :changes but prompts for a change to jump to
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 set nomore
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
100 return "\<CR>:sil se more|norm! g;\<S-Left>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
101 elseif cmdline =~ '\C^ju'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
102 " like :jumps but prompts for a position to jump to
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 set nomore
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 return "\<CR>:sil se more|norm! \<C-o>\<S-Left>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 elseif cmdline =~ '\C^marks'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 " like :marks but prompts for a mark to jump to
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 return "\<CR>:norm! `"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 elseif cmdline =~ '\C^undol'
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
109 " like :undolist but prompts for a change to undo
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
110 return "\<CR>:u "
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
111 else
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 return "\<CR>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
113 endif
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
114 endfunction
627
a2a5862a3bd3 convert more vimscript to lua
zegervdv <zegervdv@me.com>
parents: 626
diff changeset
115 " cnoremap <expr> <CR> CCR()
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
116 "
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
117
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
118 " Filetype specific settings
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
119 " Text
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
120 augroup ft_text
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
121 au!
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
122 " au BufNewFile,BufRead,BufEnter *.txt setlocal spell spelllang=en_gb
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
123 au BufNewFile,BufRead,BufEnter *.txt setlocal textwidth=0
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
124 augroup END
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
125 augroup ft_report
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
126 au!
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
127 au BufNewFile,BufRead,BufEnter *.rpt setlocal nowrap
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
128 au BufNewFile,BufRead,BufEnter *.rpt call ColorRpt()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
129 au BufNewFile,BufRead,BufEnter *.log call ColorRpt()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
130 augroup END
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
131
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
132 function! ColorRpt()
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
133 " Color numbers based on length
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
134 syn match String "\v<\d{1,3}>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
135 syn match Number "\v<\d{4,6}>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
136 syn match Statement "\v<\d{7,9}>"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
137
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
138 " Color errors
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
139 syn match Error "\v^ERROR:.*$"
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
140 endfunction
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
141 "
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
142
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
143 " Plugin settings
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
144
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
145 "
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
146 " Vinegar/NetRW
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
147 autocmd FileType netrw setl bufhidden=delete
460
ae7e377bced8 Add autocmd wrapper for lua
zegervdv <zegervdv@me.com>
parents: 451
diff changeset
148 "
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
149 augroup Chezmoi
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
150 autocmd!
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
151 autocmd BufWritePost ~/.local/share/chezmoi/* silent !chezmoi apply --source-path %
472
d2b877b4ef8b Automatically apply changes to templatefiles
zegervdv <zegervdv@me.com>
parents: 463
diff changeset
152 autocmd BufWritePost ~/.local/share/chezmoi/.chezmoitemplates/init.lua silent !chezmoi apply --source-path ~/.local/share/chezmoi/dot_config/nvim/init.lua.tmpl
d2b877b4ef8b Automatically apply changes to templatefiles
zegervdv <zegervdv@me.com>
parents: 463
diff changeset
153 autocmd BufWritePost ~/.local/share/chezmoi/.chezmoitemplates/config.vim silent !chezmoi apply --source-path ~/.local/share/chezmoi/dot_config/nvim/plugin/config.vim.tmpl
451
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
154 autocmd BufWritePost ~/.local/share/chezmoi/dot_config/nvim/init.lua source <afile> | PackerCompile
d99353d71702 Use common template for windows nvim config
zegervdv <zegervdv@me.com>
parents:
diff changeset
155 augroup END