GNU readline 将连续的字母数字视为单词,而所有其他字母数字都视为非单词,例如-option1 -option2
有 4 个单词 ( " -", "option1", " -", "option2"
),这使得移动光标时不直观。有没有办法自定义这个单词定义,例如将所有非空格字符视为单词?
答案1
我没有看到任何可能有帮助的 Readline 变量,并且文档似乎很清楚这些动作的用词是什么,没有提到任何改变它们的可能性:
forward-word (M-f)
向前移动到下一个单词的末尾。单词由字母和数字组成。 backward-word (M-b)
返回到当前或上一个单词的开头。单词由字母和数字组成。
然而,这些其他动议可能会有所帮助:
shell-forward-word (M-C-f)
向前移动到下一个单词的末尾。单词由不带引号的 shell 元字符分隔。 shell-backward-word (M-C-b)
返回到当前或上一个单词的开头。单词由不带引号的 shell 元字符分隔。
和元字符定义为:
当不加引号时,用于分隔单词的字符。元字符是空格、制表符、换行符或以下字符之一:'
|
'、'&
'、';
'、'(
'、')
'、'<
' 或 '>
'。