12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- -- apply default terminal settings
- vim.api.nvim_create_autocmd('TermOpen', {
- callback = function()
- vim.bo.scrollback = 10000
- vim.opt_local.number = false
- vim.opt_local.relativenumber = false
- end
- })
- -- preserve window structure when exiting terminal via C-d
- vim.api.nvim_create_autocmd('TermClose', {
- callback = function(opts)
- MiniBufremove.delete(opts.buf)
- end,
- -- needed so statusline properly updates
- nested = true,
- })
- -- automatically enter/leave terminal mode
- vim.api.nvim_create_autocmd('TermOpen', { command = 'startinsert' })
- vim.api.nvim_create_autocmd({'WinEnter','BufWinEnter'}, {
- pattern = 'term://*',
- command = 'startinsert',
- })
- vim.api.nvim_create_autocmd('BufLeave', {
- pattern = 'term://*',
- command = 'stopinsert',
- })
- -- strip trailing whitespace
- vim.api.nvim_create_autocmd('BufWritePre', {
- callback = function(opts)
- if vim.bo.filetype == 'diff' then
- return
- end
- vim.cmd('%s/\\s\\+$//e')
- end,
- })
- -- filetype specific options
- vim.api.nvim_create_autocmd('FileType', {
- pattern = 'markdown',
- callback = function()
- vim.bo.textwidth = 80
- end,
- })
- vim.api.nvim_create_autocmd('FileType', {
- pattern = 'typescript',
- callback = function()
- -- disable default indentation as it's pretty broken for jsdoc
- vim.opt_local.indentexpr = nil
- vim.opt_local.formatexpr = nil
- end,
- })
|