簡單粗暴解決 Zsh Home 和 End 按鍵問題

記得剛來美國那會兒,有一次在地鐵裏聽到兩位老太太聊關於手機待機時間短的話題,當中一個老太太勸另一個老太太說去找客服「Go talk to them. Don’t settle.」這句話很大程度上概括了美國人的生活態度 —— 不妥協,有不滿就去解決。這種思想對 Hack 文化也有着潛移默化的影響,用中國人的話說便是「折騰」。

半年前我加入了 Zsh 的用戶陣營,一番配置後倒也用着挺爽。前幾天又去折騰 .zshrc 文件,更爽了,可是 和 鍵工作得不正常了,就像這樣:

1
2
$ H
git push origin source

按完 鍵就在我的命令裏加了一個 H 還換行,我居然就這樣「settle」了一段時間。今天實在忍不住,找解決方案。網上的解決方案很多,也有很成熟的,比如用 autoload zkbd來問答式生成按鍵和含義對應表的,可我嫌麻煩。更大部分的解決方案只是放一堆配置文件代碼,而事實上這些代碼在不同環境下是不一樣的。所以換句話說這些代碼只是治標不治本,答者沒有授問者以漁。

問題的本身在 bindkey 上。也就是說只要找到對應的按鍵和 Zsh 內的含義接口就可以解決問題。而含義接口就是 beginning-of-lineend-of-line。所以只需要找到我們的按鍵碼是什麼就可以了。下面這個小技巧可能鮮爲人知,就是利用 cat 來查看按鍵碼。很簡單,在命令行下直接 cat + ,然後接着按你想知道按鍵碼的按鍵,在我的例子裏就是 鍵:

1
2
$ cat
^[OH

接着我又得到了 鍵的按鍵碼。最後在 .zshrc 裏添加兩行代碼:

1
2
bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line

問題解決,簡單粗暴,但直截了當。Don’t settle. Happy hacking.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值