mir*_*phd 2 terminal keyboard-shortcuts bash command-line
Alt+ Shift+3只能注释掉,在后续调用中只需添加多个注释字符(散列),而不是打开/关闭注释。如何取消注释先前注释的行或切换注释?
问题被标记为bash。这个答案是专门针对 Bash 的。在 GNU Bash 5.2.15 中测试。
定义以下 shell 函数:
function _toggle_comment {
case "$READLINE_LINE" in
\#* )
((READLINE_POINT--))
READLINE_LINE="${READLINE_LINE###}"
;;
* )
READLINE_LINE="#$READLINE_LINE"
((READLINE_POINT++))
;;
esac
}
Run Code Online (Sandbox Code Playgroud)
并将其绑定到Alt+ #:
bind -x '"\e#":_toggle_comment'
Run Code Online (Sandbox Code Playgroud)
(如果您的键盘布局#实际上是Shift+3那么绑定将重新定义您提到的Alt+ Shift+ 3。)
READLINE_LINE正是READLINE_POINT为了这种技巧。Alt在+上#,根据#命令行中是否存在前导,该函数删除或添加它,并相应地移动插入点。
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |