HI, 我在我的Windows系统中安装了cygwin。 我在我的个人资料文件中写了两个函数,这样每次打开vi / vim时,都会打开gvim。
但是有了这个问题,windows路径和Cygwin路径。我尝试使用Cygpath如下:
function vi ()
{
win_file_path=$(cygpath -w $*)
gvim "$win_file_path" &
}
用这个,当我打开这样的文件:“vi /etc/exports +5
”时,它会导致错误。如果您有任何解决方案,请告诉我。
答案 0 :(得分:1)
您只能处理文件参数:
function vi ()
{
local -a viargs
local a
while [[ $# -gt 0 ]]
do
a="$1"
if [ -e "$a" ]; then a="$(cygpath -w "$a")"; fi
viargs[${#viargs[@]}]="$a"
shift
done
gvim "${viargs[@]}" &
}
不要对这样的现有文件“聪明”,而是随意简化以仅处理第一个参数:)
在最近的bash版本中,您可以替换丑陋的行
viargs[${#viargs[@]}]="$a"
与
viargs+=( "$a" )
答案 1 :(得分:1)
cyg-wrapper是为了这个目的而编写的。
注意:另请参阅相关的wikia page。