Support kitty-scrollback.nvim

This commit is contained in:
rydesun 2025-04-23 00:31:58 +08:00
parent f5ad232247
commit 4c7334c11b
2 changed files with 27 additions and 4 deletions

View file

@ -1,3 +1,6 @@
allow_remote_control socket-only
listen_on unix:/tmp/kitty
# {{{ 主题
include themes/everforest.conf
font_size 10
@ -9,7 +12,7 @@ enable_audio_bell no
window_alert_on_bell no
# 下划线位置(偏下)
modify_font underline_position 2
modify_font underline_position 3
# 更细的边框线条字符
box_drawing_scale 0.001, 0.1, 1, 2
@ -22,9 +25,16 @@ symbol_map U+E000-U+F8FF Symbols Nerd Font
# 可回滚的行数默认值为2000
scrollback_lines 20000
# 使用nvim作为pager需要搭配neovim配置
# https://github.com/rydesun/neovim-config/blob/master/init.lua#L4
scrollback_pager sh -c "exec nvim 63<&0 </dev/null --cmd 'let termcat=63'"
# 使用nvim作为scrollback pager需要搭配nvim配置
# https://github.com/mikesmithgh/kitty-scrollback.nvim
action_alias kitty_scrollback_nvim kitten
\ ~/.data/nvim/lazy/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py
# 劫持scrollback默认键位
map kitty_mod+h kitty_scrollback_nvim
map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
mouse_map ctrl+shift+right press ungrabbed combine
\ : mouse_select_command_output
\ : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output
# }}}
# {{{ 按键

13
.zshrc
View file

@ -277,6 +277,19 @@ bindkey -M menuselect '/' accept-and-infer-next-history
autoload -Uz edit-command-line
zle -N edit-command-line
bindkey '^X^E' edit-command-line
if ((Z_ENV_KITTY)); then
NVIM_PLUGIN_DIR="${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/lazy
NVIM_KITTY_PLUGIN="$NVIM_PLUGIN_DIR"/kitty-scrollback.nvim/scripts/edit_command_line.sh
if [[ -f "$NVIM_KITTY_PLUGIN" ]]; then
function kitty_scrollback_edit_command_line() {
VISUAL="$NVIM_KITTY_PLUGIN"
zle edit-command-line
zle kill-whole-line
}
zle -N kitty_scrollback_edit_command_line
bindkey '^X^E' kitty_scrollback_edit_command_line
fi
fi
# 修改清屏方式
# 将内容挤出屏幕而不是直接清空