繁体   English   中英

在 vim 脚本中使用 bash 计算器 - 奇怪的行为

[英]Using bash calculator in a vim script - strange behaviour

有谁知道为什么这适用于vim bash 计算器( bc ):

echo system ("echo 3+5 \| dos2unix \| bc -l") ---> output: 8   
echo system ("echo 3/5 \| dos2unix \| bc -l") ---> output: .600000000000000  
echo system ("echo 3*5 \| dos2unix \| bc -l") ---> output: 15   

但这不是:

echo system ("echo 2^5 \| dos2unix \| bc -l") ---> output: 25  
echo system ("echo 3^5 \| dos2unix \| bc -l") ---> output: 35  

这在 Windows 中的 cygwin 下使用。

&shell选项的值是什么? 它必须是/path/to/cygwin/bash ,而不是以cmd.exe结尾的东西。 问题是^是 windows cmd.exe的转义字符,因此echo 2^5有点等同于echo 2\\5解析为echo 25

如果是cmd.exe添加一行

set shell=/path/to/cygwin/bash

到你的 vimrc。

请注意,虽然echo 2^^^^5解析为echo 2^5有点奇怪(在普通的cmd.exe它是echo 2^^5 ),但我在 vim-dev 上看到了很长的关于cmd.exe转义问题的讨论cmd.exe前一段时间,所以它可能是其中之一。 不应该发生在最近的 vim 上(或者它是一个错误)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM