nix: zsh more config
This commit is contained in:
parent
dcb03fa895
commit
beca99a134
|
@ -11,13 +11,8 @@
|
||||||
enableSyntaxHighlighting = true;
|
enableSyntaxHighlighting = true;
|
||||||
# syntaxHighlighting.enable = true; # 23.11 syntax
|
# syntaxHighlighting.enable = true; # 23.11 syntax
|
||||||
historySubstringSearch.enable = true;
|
historySubstringSearch.enable = true;
|
||||||
initExtra = ''
|
initExtra = builtins.readFile ./zshrc.sh;
|
||||||
# powerline-go duration support
|
defaultKeymap = "viins";
|
||||||
zmodload zsh/datetime
|
|
||||||
function preexec() {
|
|
||||||
__TIMER=$EPOCHREALTIME
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
powerline-go = {
|
powerline-go = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -73,6 +68,10 @@
|
||||||
};
|
};
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
# TODO highlight or bat
|
# TODO highlight or bat
|
||||||
|
nix-index = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
home = {
|
home = {
|
||||||
stateVersion = "23.05";
|
stateVersion = "23.05";
|
||||||
|
|
42
config/nix/hm/zshrc.sh
Normal file
42
config/nix/hm/zshrc.sh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# powerline-go duration support
|
||||||
|
zmodload zsh/datetime
|
||||||
|
function preexec() {
|
||||||
|
__TIMER=$EPOCHREALTIME
|
||||||
|
}
|
||||||
|
|
||||||
|
# Cursor based on mode
|
||||||
|
if [ $TERM = "linux" ]; then
|
||||||
|
_LINE_CURSOR="\e[?0c"
|
||||||
|
_BLOCK_CURSOR="\e[?8c"
|
||||||
|
else
|
||||||
|
_LINE_CURSOR="\e[6 q"
|
||||||
|
_BLOCK_CURSOR="\e[2 q"
|
||||||
|
fi
|
||||||
|
function zle-keymap-select zle-line-init
|
||||||
|
{
|
||||||
|
case $KEYMAP in
|
||||||
|
vicmd) print -n -- "$_BLOCK_CURSOR";;
|
||||||
|
viins|main) print -n -- "$_LINE_CURSOR";;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
function zle-line-finish
|
||||||
|
{
|
||||||
|
print -n -- "$_BLOCK_CURSOR"
|
||||||
|
}
|
||||||
|
zle -N zle-line-init
|
||||||
|
zle -N zle-line-finish
|
||||||
|
zle -N zle-keymap-select
|
||||||
|
|
||||||
|
# Also return to normal mode from jk shortcut
|
||||||
|
bindkey 'jk' vi-cmd-mode
|
||||||
|
|
||||||
|
# Edit command line
|
||||||
|
autoload edit-command-line
|
||||||
|
zle -N edit-command-line
|
||||||
|
bindkey -M vicmd v edit-command-line
|
||||||
|
|
||||||
|
# Additional history-substring-search bindings for vi cmd mode
|
||||||
|
# TODO Doesn't work, as home-manager loads history-substring at the very end of the file
|
||||||
|
# bindkey -M vicmd 'k' history-substring-search-up
|
||||||
|
# bindkey -M vicmd 'j' history-substring-search-down
|
||||||
|
|
|
@ -7,61 +7,6 @@
|
||||||
# TODO Learn `setopt extendedglob`
|
# TODO Learn `setopt extendedglob`
|
||||||
|
|
||||||
|
|
||||||
# Cursor based on mode
|
|
||||||
if [ $TERM = "linux" ]; then
|
|
||||||
_LINE_CURSOR="\e[?0c"
|
|
||||||
_BLOCK_CURSOR="\e[?8c"
|
|
||||||
else
|
|
||||||
_LINE_CURSOR="\e[6 q"
|
|
||||||
_BLOCK_CURSOR="\e[2 q"
|
|
||||||
fi
|
|
||||||
function zle-keymap-select zle-line-init
|
|
||||||
{
|
|
||||||
case $KEYMAP in
|
|
||||||
vicmd) print -n -- "$_BLOCK_CURSOR";;
|
|
||||||
viins|main) print -n -- "$_LINE_CURSOR";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# zle reset-prompt
|
|
||||||
# zle -R
|
|
||||||
}
|
|
||||||
|
|
||||||
function zle-line-finish
|
|
||||||
{
|
|
||||||
print -n -- "$_BLOCK_CURSOR"
|
|
||||||
}
|
|
||||||
|
|
||||||
zle -N zle-line-init
|
|
||||||
zle -N zle-line-finish
|
|
||||||
zle -N zle-keymap-select
|
|
||||||
|
|
||||||
# Should I really put a comment to explain what this does?
|
|
||||||
bindkey 'jk' vi-cmd-mode
|
|
||||||
|
|
||||||
# Edit command line
|
|
||||||
autoload edit-command-line
|
|
||||||
zle -N edit-command-line
|
|
||||||
bindkey -M vicmd v edit-command-line
|
|
||||||
|
|
||||||
# History search
|
|
||||||
# bind UP and DOWN arrow keys
|
|
||||||
zmodload zsh/terminfo
|
|
||||||
bindkey "$terminfo[kcuu1]" history-substring-search-up
|
|
||||||
bindkey "$terminfo[kcud1]" history-substring-search-down
|
|
||||||
|
|
||||||
# bind UP and DOWN arrow keys (compatibility fallback
|
|
||||||
# for Ubuntu 12.04, Fedora 21, and MacOSX 10.9 users)
|
|
||||||
bindkey '^[[A' history-substring-search-up
|
|
||||||
bindkey '^[[B' history-substring-search-down
|
|
||||||
|
|
||||||
# bind P and N for EMACS mode
|
|
||||||
bindkey -M emacs '^P' history-substring-search-up
|
|
||||||
bindkey -M emacs '^N' history-substring-search-down
|
|
||||||
|
|
||||||
# bind k and j for VI mode
|
|
||||||
bindkey -M vicmd 'k' history-substring-search-up
|
|
||||||
bindkey -M vicmd 'j' history-substring-search-down
|
|
||||||
|
|
||||||
# Autocompletion
|
# Autocompletion
|
||||||
autoload -Uz promptinit
|
autoload -Uz promptinit
|
||||||
promptinit
|
promptinit
|
||||||
|
|
Loading…
Reference in a new issue