我有以下功能:
function is_file
set file $argv[1]
if test ‐f $file
return 0
else
return 1
end
end
但是在打电话时:
is_file ~/.vimrc
我明白了:
test: Missing argument at index 2
我错过了什么?
答案 0 :(得分:5)
问题是行中的连字符
if test ‐f $file
它被编码为Unicode连字符U + 2010,但它应该是ASCII连字符 - 减号(0x2D),它是Unicode字符U + 002D。如果我删除连字符并自己重新输入,它对我来说很好。
顺便说一句,这个函数可以写得更简洁:
function is_file
test -f $argv[1]
end