[20170616]vim中使用bc计算器.txt
--//前几天修改bccalc插件,它使用bc在vim做各种运算,在windows下会遇到许多奇怪的问题(别人给我反馈的)
--//比如^的解析.我发现在windows下注解
" escape chars for shell
" let str = escape (str, '*();&><|^')
--//如上2行问题就可以解决,但是在运算里面包含括号问题依旧.实际上vim 7.4版本依旧存在问题,很奇怪vim 7.3版本这个问题不存在.
--如果在打入:下输入
:Calculate (2+5)
(2+5) = File ) is unavailable.
--//视乎 ) 被解析为文件,不知道为什么,问题版本:
IM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 10 2013 14:38:33)
MS-Windows 32-bit GUI version with OLE support
Compiled by mool@tororo
--//我以前也写一个脚本做行计算功能以及10,16进制的转换功能,简单一点不做复杂检测,如下:
noremap <Leader>cc Yp!!bc -lq<CR>kA = <ESC>J
noremap <Leader>ch YpIobase=16;<ESC>!!bc -lq<CR>kA = 0x<ESC>Jxguu
noremap <Leader>cd YpgUU:s/0x//gei<CR>Iibase=16;<ESC>!!bc -lq<CR>kA = <ESC>J
--//实际上http://blog.itpub.net/267265/viewspace-777467/已经发过,不知道什么原因,丢掉一些字符.重新发一次看看.
在计算行上输入:
\cc 计算当前行
\ch 做10=>16进制转换
\cd 做16=>10进制转换
--当然前提机器安装有bc程序.