autocmds.lua 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. local augroup = vim.api.nvim_create_augroup
  2. local autocmd = vim.api.nvim_create_autocmd
  3. -- Highlight on yank
  4. augroup('YankHighlight', { clear = true })
  5. autocmd('TextYankPost', {
  6. group = 'YankHighlight',
  7. callback = function()
  8. vim.highlight.on_yank({ higroup = 'IncSearch', timeout = '1000' })
  9. end
  10. })
  11. -- Remove whitespace on save
  12. autocmd('BufWritePre', {
  13. pattern = '*',
  14. command = ":%s/\\s\\+$//e"
  15. })
  16. -- disable ftplugin formatoptions
  17. autocmd('BufEnter', {
  18. pattern = '*',
  19. command = 'setlocal formatoptions-=ro'
  20. })
  21. -- Settings for filetypes:
  22. -- Help window
  23. autocmd('FileType', {
  24. pattern = 'help',
  25. command = 'nnoremap <buffer> q :helpclose<CR>'
  26. })
  27. -- Disable line length marker
  28. augroup('setLineLength', { clear = true })
  29. autocmd('Filetype', {
  30. group = 'setLineLength',
  31. pattern = { 'text', 'markdown', 'html', 'xhtml', 'javascript', 'typescript' },
  32. command = 'setlocal cc=0'
  33. })
  34. -- Set indentation to 4 spaces
  35. augroup('setIndent', { clear = true })
  36. autocmd('Filetype', {
  37. group = 'setIndent',
  38. pattern = { 'python', 'makefile' },
  39. command = 'setlocal shiftwidth=4 tabstop=4 expandtab'
  40. })