self-insert
zsh 的用途是什麼?我在 prezto 配置中的每個地方都看到它,但無法理解它應該做什麼,ZLE 文件也沒有指定它是什麼,但在一些不同的上下文中提到它。
答案1
當綁定到某個鍵時,此函數將插入該鍵本身作為輸入字元。例如,該鍵a
綁定到self-insert
,因此按下該鍵會導致輸入“a”。
來自zshzle(1)手冊頁(zsh 版本 5.5.1):
self-insert (printable characters) (unbound) (printable characters and some con‐ trol characters) Insert a character into the buffer at the cursor position.
為了比較,從閱讀線(3)手冊頁(bash 版本 4.4.023):
self-insert (a, b, A, 1, !, ...) Insert the character typed.
答案2
從文件來看,
任何其他未綁定到 self-insert 或 self-insert-unmeta 的字元都會發出蜂鳴聲並被忽略。
我正在擺弄我的外殼並綁定“。”到一個函數,然後解除它的綁定。突然我無法在任何地方輸入點。 bindkeys
顯示"/"-"~" self-insert
,但它是在另一個乾淨的外殼中"/"-"-" self-insert
。即使是剪切和粘貼,該角色也被完全忽略。
為了取回我的點,我必須將其綁定到自插入:
bindkey '.' self-insert