假设我有文件树
-A_dir/
- a_test_file1
这样做mv a_test_file1 a_test_file2
会导致烦人的更正查询。mv
永远不应该更正第二个参数,因为它可能指向文件系统上的现有节点,也可能不指向。但是,第一个参数可能会被更正,因为它必须始终是有效节点。
这是一个常见的用例,我只想zsh
更正命令中的某些参数。我怎样才能做到这一点?
假设我有文件树
-A_dir/
- a_test_file1
这样做mv a_test_file1 a_test_file2
会导致烦人的更正查询。mv
永远不应该更正第二个参数,因为它可能指向文件系统上的现有节点,也可能不指向。但是,第一个参数可能会被更正,因为它必须始终是有效节点。
这是一个常见的用例,我只想zsh
更正命令中的某些参数。我怎样才能做到这一点?
将其作为答案,因为它的评论文本太多......但这确实是一个评论。
老实说,粗略阅读手册表明,如果没有深入的黑客技术,这是不可能的。correct
更正命令并correct_all
尝试更正所有参数。
我想过做类似的事情
function mv {
emulate -L zsh
CORRECT_IGNORE='*'$@[-1]'*'
command mv $@
}
但它不起作用,因为CORRECT_IGNORE
不适用于文件名的更正。如果您可以找到如何从参数列表中生成更正,则可以为要更正的所有参数生成更正,然后调用nocorrect mv ...
.