123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- -- 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
- vim.b.miniindentscope_disable = true
- end
- })
- -- preserve window structure when exiting terminal via C-d
- vim.api.nvim_create_autocmd('TermClose', {
- callback = function(opts)
- -- don't trigger when force deleting
- if vim.api.nvim_buf_get_option(opts.buf, 'modified') then
- return
- end
- 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 = 'http',
- callback = function(opts)
- vim.keymap.set('n', '<Leader>r', '<Plug>RestNvim', {
- buffer = opts.buf,
- })
- end,
- })
|