diff options
Diffstat (limited to 'lua/tjk/misc.lua')
-rw-r--r-- | lua/tjk/misc.lua | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/lua/tjk/misc.lua b/lua/tjk/misc.lua new file mode 100644 index 0000000..14c5bd8 --- /dev/null +++ b/lua/tjk/misc.lua @@ -0,0 +1,75 @@ +-- Use tabs instead of spaces for certain filetypes +local tabs_instead_of_spaces_filetypes = { + "sass", + "scss", +} + +local tabs_instead_of_spaces = function(args) + local o = vim.opt_local + o.expandtab = false + --o.cinoptions = true + o.preserveindent = true + o.softtabstop = 0 + o.shiftwidth = 4 + o.tabstop = 4 +end +vim.api.nvim_create_autocmd("FileType", { pattern = tabs_instead_of_spaces_filetypes, callback = tabs_instead_of_spaces }) + + +vim.cmd [[ + "" Extra functionality + + "" Functions for changing the terminal emulator's class name to 'Vim' + "function GetTermPID(temu) + " let pinfo = ['', getpid(), ''] + " while !(pinfo[2] =~ a:temu || pinfo[1] == '0') + " let pinfo = split(system('ps h -o pid,ppid,command= -p' . pinfo[1])) + " endwhile + " return pinfo[0] + "endfunction + + "function SetTermClassName(termpid, name) + " " Command chaining in xdotool doesn't work here for some reason + " silent exec "!xdotool set_window --class " . a:name . " $(xdotool search --pid " . a:termpid . ")" + "endfunction + + "" Behaviors exclusive to either a tty or a graphical terminal emulator + "if empty($DISPLAY) + " " Clear the tty screen after exiting vim + " autocmd VimLeave * :clear + "else + " " Highlight current line + " set cursorline + " " Change window title + " autocmd BufEnter * :set title + " let &titleold="st" + " " Change class name + " let temu = "st" + " let temupid = GetTermPID(temu) + " if (temupid != 1) + " autocmd VimEnter * call SetTermClassName(temupid, "Vim") + " autocmd VimLeave * call SetTermClassName(temupid, temu) + " endif + "endif + + " Automatically deletes all trailing whitespace on save + function DelWS() + let l:save_view = winsaveview() + :%s/\s*$//e + call winrestview(l:save_view) + endfunction + autocmd BufWritePre * call DelWS() + + + " vim -b : edit binary using xxd-format! + augroup Binary + au! + au BufReadPre *.bin let &bin=1 + au BufReadPost *.bin if &bin | %!xxd + au BufReadPost *.bin set ft=xxd | endif + au BufWritePre *.bin if &bin | %!xxd -r + au BufWritePre *.bin endif + au BufWritePost *.bin if &bin | %!xxd + au BufWritePost *.bin set nomod | endif + augroup END +]] |