Files
dotfiles/kak/kakrc
T
2026-04-26 00:28:41 +02:00

68 lines
2.3 KiB
Kakoune

colorscheme mygruvbox
add-highlighter global/ number-lines -hlcursor
# Highlight trailing whitespace
# Softwrap long lines
add-highlighter global/ wrap -word -indent -marker ">>>"
add-highlighter global/ show-whitespaces
set-option global ui_options terminal_status_on_top=true
set-option global tabstop 4
set-option global indentwidth 4
set-option global scrolloff 1,3
# Clipboard management mappings
map -docstring "yank the selection into the clipboard" global user y "<a-|> wl-copy<ret>"
map -docstring "paste the clipboard" global user p "<a-!> wl-paste<ret>"
map -docstring "Show filetype" global user t ': echo %opt{filetype}<ret>'
map -docstring "Open file" global user o ': tmux-repl-vertical "echo ""evaluate-commands -client %val{client} e $(fzf)"" | kak -p %val{session}"<ret>'
map -docstring "Zeile auskommentieren" global normal <C-l> ":comment-line<ret>"
map -docstring "Speichern" global normal <C-s> ":w<ret>"
map -docstring "Beenden" global normal <C-q> ":q<ret>"
map -docstring "Cursor nach oben erweitern" global normal <C-k> "<a-C><ret>"
map -docstring "Cursor nach unten erweitern" global normal <C-j> "<C><ret>"
map global normal <C-up> '|echo "$(($kak_selection + 1))"<ret>'
map global normal <C-down> '|echo "$(($kak_selection - 1))"<ret>'
hook global InsertCompletionShow .* %{
try %{
# this command temporarily removes cursors preceded by whitespace;
# if there are no cursors left, it raises an error, does not
# continue to execute the mapping commands, and the error is eaten
# by the `try` command so no warning appears.
execute-keys -draft 'h<a-K>\h<ret>'
map window insert <tab> <c-n>
map window insert <ret> <c-m>
map window insert <s-tab> <c-p>
hook -once -always window InsertCompletionHide .* %{
unmap window insert <tab> <c-n>
unmap window insert <ret> <c-m>
unmap window insert <s-tab> <c-p>
}
}
}
# Convert spaces to tabs
hook global BufWritePre .* %{
try %{ execute-keys -draft '%@' }
}
# hook global BufWritePost .* %{
# echo %sh{ sassc main.scss > main.css }
# }
nop %sh{ {
sleep 10
echo "eval -client '$kak_client' 'echo sleep ended'" |
kak -p ${kak_session}
} > /dev/null 2>&1 < /dev/null & }
eval %sh{kak-lsp}
lsp-enable
lsp-inlay-diagnostics-enable global