mds*_*mmo 4 command-line bash shortcut-keys
我记得在某个地方的 stackoverflow 评论中读到过一个技巧,用于在终端中获取文件名列表,但我记不清了。
如果您有一堆文件,例如:
foo-a.txt
foo-b.txt
foo-c.txt
Run Code Online (Sandbox Code Playgroud)
有一个技巧可以遵循以下原则:
cat foo-*tab, backspace, esc(这不起作用,但这是我想知道的步骤)cat foo-a foo-b foo-c请注意,这与基本选项卡完成不同,后者显示命令下方的文件名列表。这会将所有文件名放在命令输入中,以便按“输入”将执行 cat 与所有文件。
任何人都可以启发我吗?
cat foo-*bind -p | grep glob-expand-word并检查它是否显示"\C-x*": glob-expand-word。如果没有,您可以设置它:
bind '"\C-x*": glob-expand-word'
Run Code Online (Sandbox Code Playgroud)cat foo-a.txt foo-b.txt foo-c.txtglob-expand-word 对比 insert-completionsOP 的答案是关于insert-completions( Esc,*或Alt+ *),它类似于但不同于glob-expand-word:
glob-expand-word 扩展文件名 globs。insert-completions插入按下Tab会显示的所有可能的完成。所以这意味着你还可以使用insert-completions文件名以外的东西,比如选项。例如,键入ls --f、按Esc、*,您将得到ls --file-type --format=,但我不确定这有多大用处。
这意味着它在扩展 glob 时表现不同。例如,如果您键入cat foo-*并按Esc, *,它将仅扩展到第一个完成:cat foo-a.txt。