在之前针对 bash 的问题中,我问如何在命令行中扩展相对路径并使用制表符补全?
我喜欢 @Mikel 的答案,其中提到使用Ctrl+ Alt+e来扩展所有变量,并且我经常使用它。
从那时起,我已经切换到,zsh
虽然我可以键入$PWD
并按Tab以展开当前目录的路径,但如果我键入类似的内容$PWD/.profile
并按Tab它不会展开。
我已经阅读了类似的问题,并且看到了有关扩展别名的答案,以及如何通过键入变量并按来扩展变量,但没有什么与在 中按+ +Tab相同 。CtrlAltebash
是否有某种方法允许转义序列(例如Ctrl+ Alt+)e展开正在输入的命令行中的所有变量zsh
?
我希望当光标位于单词的开头和光标位于单词的末尾时,制表符完成的行为有所不同。
我只见过用制表符完成后缀的 shell,如下所示:
$ tiff2?
tiff2bw tiff2pdf tiff2ps tiff2rgba
Run Code Online (Sandbox Code Playgroud)
但是,有时我还想在插入符号位于单词开头时对前缀进行制表符补全。也就是说,2tiff
如果光标位于单词的开头,我想扩展到所有以 结尾的命令2tiff
,如下所示:
$ ?2tiff
raw2tiff gif2tiff bmp2tiff ppm2tiff pnmtotiff ras2tiff e2mtiff fax2tiff
Run Code Online (Sandbox Code Playgroud)
Fish在某些情况下会这样做:
~> ?2tiff
bmp2tiff (Executable, 17kB) ppm2tiff (Executable, 14kB)
fax2tiff (Executable, 18kB) ras2tiff (Executable, 14kB)
gif2tiff (Executable, 18kB) raw2tiff (Executable, 17kB)
Run Code Online (Sandbox Code Playgroud)
这也有将光标移动到单词末尾的副作用,并且仅在没有有效的后缀完成时才有效:
~> ?tiff
tiff2bw (Convert a color TIFF image to greyscale)
tiff2pdf (Convert a TIFF image to a PDF document)
tiff2ps (Convert a TIFF image to)
tiff2rgba (Convert a TIFF image to RGBA …
Run Code Online (Sandbox Code Playgroud)