74 lines
1.7 KiB
Lua
74 lines
1.7 KiB
Lua
-- highlight when yanking text
|
|
Autocmd('TextYankPost', {
|
|
desc = 'highlight when yanking text',
|
|
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
|
|
callback = function()
|
|
vim.highlight.on_yank()
|
|
end,
|
|
})
|
|
|
|
-- disable new line comment
|
|
Autocmd("BufEnter", {
|
|
desc = "disable bew line comment",
|
|
callback = function()
|
|
vim.opt.formatoptions:remove({ "c", "r", "o" })
|
|
end,
|
|
})
|
|
|
|
-- go to last location when opening a buffer
|
|
Autocmd("BufReadPost", {
|
|
desc = "go to last location when opening a buffer",
|
|
callback = function()
|
|
local mark = vim.api.nvim_buf_get_mark(0, '"')
|
|
local lcount = vim.api.nvim_buf_line_count(0)
|
|
if mark[1] > 0 and mark[1] <= lcount then
|
|
pcall(vim.api.nvim_win_set_cursor, 0, mark)
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- close certain windows with q
|
|
Autocmd('FileType', {
|
|
desc = 'close certain windows with q',
|
|
pattern = { 'help', 'man', 'qf', 'query', 'messages', 'netrw' },
|
|
callback = function(evt)
|
|
vim.bo[evt.buf].buflisted = false
|
|
Map('n', 'q', '<cmd>close<cr>')
|
|
end
|
|
})
|
|
|
|
-- disable spellcheck in terminal
|
|
Autocmd('TermOpen', {
|
|
callback = function()
|
|
vim.opt.spell = false
|
|
end,
|
|
})
|
|
|
|
-- closes the first buffer if it is empty
|
|
Autocmd('BufEnter', {
|
|
pattern = '*',
|
|
callback = function()
|
|
local bufs = vim.api.nvim_list_bufs()
|
|
|
|
-- check if the first buffer is an empty one
|
|
if #bufs == 0 and vim.api.nvim_get_option_value('buftype', { buf = bufs[1] }) and vim.api.nvim_buf_get_name(bufs[1]) then
|
|
vim.api.nvim_buf_delete(bufs[1], {})
|
|
end
|
|
end,
|
|
})
|
|
|
|
---@type table<string, string>
|
|
local filemap = {
|
|
['*.h'] = 'c',
|
|
['*/i3/**.conf'] = 'i3config'
|
|
}
|
|
|
|
for pat, file in pairs(filemap) do
|
|
Autocmd('BufRead', {
|
|
pattern = pat,
|
|
callback = function()
|
|
vim.bo.filetype = file
|
|
end
|
|
})
|
|
end
|