From fe52e8cc04f9528081e182824756403f968b7f57 Mon Sep 17 00:00:00 2001 From: rydesun Date: Mon, 2 Aug 2021 14:41:51 +0800 Subject: [PATCH] Better pager in terminal --- .config/kitty/kitty.conf | 2 ++ .config/zsh/zshrc | 18 +++++++++++++++++- .pam_environment | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index f9dca8e..2754461 100644 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -6,6 +6,8 @@ map ctrl+g>ctrl+w kitten hints --type=word --program - map ctrl+g>ctrl+u kitten hints --type=url --program - map ctrl+g>ctrl+i kitten hints --type=ip --program - +scrollback_pager nvim -R -c "nnoremap q :exit" -c "set signcolumn=no laststatus=0" -c "set noswapfile" -c "autocmd! myconfig_term" -c "autocmd TermOpen * normal G" -c "silent write! /tmp/kitty_scrollback_buffer" -c "te cat /tmp/kitty_scrollback_buffer; rm /tmp/kitty_scrollback_buffer; cat" + font_size 15.0 symbol_map U+3400-U+4DBF,U+4E00-U+9FFC Noto Sans Mono CJK SC diff --git a/.config/zsh/zshrc b/.config/zsh/zshrc index 609c375..26bdd30 100644 --- a/.config/zsh/zshrc +++ b/.config/zsh/zshrc @@ -93,6 +93,16 @@ bindkey -e autoload -Uz edit-command-line zle -N edit-command-line bindkey '^X^E' edit-command-line + +# 修改清屏方式 +# 将内容挤出屏幕而不是直接清空 +scroll-and-clear-screen() { + printf '\n%.0s' {1..$LINES} + zle clear-screen +} +zle -N scroll-and-clear-screen +bindkey '^l' scroll-and-clear-screen + # fzf if [[ -f /usr/share/fzf/key-bindings.zsh ]]; then source /usr/share/fzf/key-bindings.zsh @@ -206,7 +216,13 @@ alias la='ls -Al' mcd() { mkdir -p $1 && cd $1 } alias x='xdg-open' -alias v='nvim -R -c "nnoremap q :exit"' && compdef v=nvim # 使用neovim作为pager +alias v='nvim -R -c "nnoremap q :exit" -c "set signcolumn=no laststatus=0"' && + compdef v=nvim # 使用neovim作为pager +alias V='nvim -R -c "nnoremap q :exit" -c "set signcolumn=no laststatus=0" \ + -c "set noswapfile" -c "silent! autocmd! myconfig_term" \ + -c "silent write! /tmp/pager_buffer" \ + -c "term cat /tmp/pager_buffer; rm /tmp/pager_buffer; cat"' && + compdef V=nvim # 使用neovim作为pager,支持ANSI code if [[ -e $VIMRUNTIME ]]; then alias e='nvr' else diff --git a/.pam_environment b/.pam_environment index b394b70..2db1851 100644 --- a/.pam_environment +++ b/.pam_environment @@ -1,7 +1,7 @@ # default EDITOR DEFAULT=nvim BROWSER DEFAULT=firefox -MANPAGER DEFAULT="nvim +Man!" +MANPAGER DEFAULT="nvim +Man! -c 'set signcolumn=no laststatus=0'" # xdg base directory XDG_CONFIG_HOME DEFAULT=@{HOME}/.config