Command-Line

如何在 tcsh 的命令行中移動一個單詞?

  • March 11, 2022

假設命令是“ls word1 word2 word3”

我想將游標從行尾移動到“word2”,但不想在處理過程中清除“word3”。只需向後跳兩個單詞並到達“word2”的開頭

是否有任何鍵盤快捷鍵可以在不刪除命令行上的單詞的情況下前後跳轉單詞?

當 tcsh 的行編輯器配置為emacsmode 時(這是預設設置,bindkey -e如果您之前啟用了 mode,請使用它返回vi):

% bindkey | grep word | egrep 'for|back'
"^[^H"         -> backward-delete-word
"^[B"          -> backward-word
"^[F"          -> forward-word
"^[b"          -> backward-word
"^[f"          -> forward-word
"^[^?"         -> backward-delete-word

ESC然後b/ f(或B/ ),這F是終端通常在按下Alt+ b/時發送的序列fAlt+ Shift+ b/f對於大寫字母)。

這與您在emacs編輯器中所做的相同。

vimode (after bindkey -v) 中,您將vi在 vi 命令模式下使用常用的運動命令(back、word、end 以及它們的大寫等效項,用於 WORD 運動(空格分隔的單詞))。

引用自:https://unix.stackexchange.com/questions/241092