我拼命寻找一种在zsh shell中启用经典导航和选择的方法。意思是,我希望能够:-在zsh中选择char by char使用shift+左/右-在zsh中使用control+左/右逐字移动-在zsh中使用ctrl+shift+左/右逐字选择
我已经能够,使用一些愚蠢的黑客和解决方案,我发现在不同的相关主题,做我的清单的前两个要点,但我不能得到一个简单的解决方案,使我的第三点工作正常。有人知道怎么做吗?我正在使用gnome终端,但是如果需要它来做我想做的事情,我不介意切换到另一个终端,只要新的终端允许我使用鼠标复制/粘贴/滚动。
我希望你能解决我的问题
发布于 2014-07-24 16:35:01
好的,这就是我目前在.zshrc中控制键绑定的内容:
function zle-line-init {
marking=0
}
zle -N zle-line-init
function select-char-right {
if (( $marking != 1 ))
then
marking=1
zle set-mark-command
fi
zle .forward-char
}
zle -N select-char-right
function select-char-left {
if (( $marking != 1 ))
then
marking=1
zle set-mark-command
fi
zle .backward-char
}
zle -N select-char-left
function forward-char {
if (( $marking == 1 ))
then
marking=0
NUMERIC=-1 zle set-mark-command
fi
zle .forward-char
}
zle -N forward-char
function backward-char {
if (( $marking == 1 ))
then
marking=0
NUMERIC=-1 zle set-mark-command
fi
zle .backward-char
}
zle -N backward-char
function delete-char {
if (( $marking == 1 ))
then
zle kill-region
marking=0
else
zle .delete-char
fi
}
zle -N delete-char
bindkey ';6D' select-word-left ## not working yet
bindkey ';6C' select-word-right ## not working yet
bindkey ';2D' select-char-left # assuming xterm
bindkey ';2C' select-char-right # assuming xterm
bindkey ';5D' backward-word
bindkey ';5C' forward-word
bindkey '^[[3~' delete-char有了这个,我可以:
抱歉,我现在使用的是xterm终端(刚刚将桌面环境更改为xfce4)。
我仍然想用ctrl+shift+arrows标记一个区域来杀死它,因为我不知道如何用前/后向字移动多少个字符。在一个更美好的世界,我也希望有一个突出标记的区域.有什么想法吗?
https://stackoverflow.com/questions/24911898
复制相似问题