[20240515]vim bccalc_XXX.vim使用插件简介.txt

2024年 5月 18日 64.6k 0

[20240515]vim bccalc_XXX.vim使用插件简介.txt

--//这是我改写vim.org网站的一个调用bc做计算的一个插件bccalc.vim,感觉自己越写越复杂.做一个介绍,便于自己查阅.

--//另外注意如果选择多行,结尾要像C语言一样使用分号(;).

--//我已经统一在select visual normal模式都是<leader>作为前缀,缺省<Leader>对应\字符.

--//常用计算

<Leader>bc   调用bc -l,缺省scale=20.

<Leader>bb   调用bc -l,缺省scale=20.

<Leader>cc   调用bc -l,缺省scale=20.

--//重复设置,开始主要不熟悉这类操作,按键没有这么快,多少情况下按\cc计算,习惯后形成肌肉记忆,想改比较困难.后面重复类似.

<Leader>b0   调用bc,缺省scale=0.

<Leader>c0   调用bc,缺省scale=0.

<Leader>b,   调用bc -l,缺省scale=20,过滤运算字符串里面的,字符.

<Leader>c,   调用bc -l,缺省scale=20,过滤运算字符串里面的,字符.

--//进制转换

<Leader>10   转换16进制数字到10进制,调用bc -l

<Leader>16   转换10进制数字到16进制,调用bc -l

<Leader>16x  带入16进制数字做运算,输出16进制,调用bc -l

<Leader>hh   带入16进制数字做运算,输出16进制,调用bc -l

--//oracle相关运算

<Leader>tx   分离oracle等待事件 P1 to TYPE and MODE 或者 P3 to name and mode.

<Leader>22   split dba(10) or dba(16) to file# and block# , dba表示数据块地址(data block address),输入格式10进制或者16进制数

<Leader>dba  split dba(10) or dba(16) to file# and block# , dba表示数据块地址(data block address),输入格式10进制或者16进制数

<Leader>32   split scn(10) or scn(16) into scn_wrap,scn_base,输入格式10进制或者16进制数

<Leader>scn  split scn(10) or scn(16) into scn_wrap,scn_base,输入格式10进制或者16进制数

<Leader>ss   convert scn_wrap,scn_base(10) or scn_wrap,scn_base(16) to 10 or 16 base ,输入格式 scn_wrap,scn_base 或者 scn_wrap.scn_base

<Leader>rr   convert file#,block# dba(10) or file#,block# dba(16) to 10 or 16 base   ,输入格式 file#,block# 或者 file#.block#

--//自动分析做10或者16进制转换.

<Leader>hd   convert hexdecimal to decimal or decimal to hexdecimal

<Leader>dh   convert hexdecimal to decimal or decimal to hexdecimal

--//输入字符串判断原则(参考脚本里面的Check_hex函数):

--//1.如果输入字符含有abcdef或者0x,自动判断是16进制数.

--//2.其他情况自动判断输入10进制数.

--//实际上只要含有0x 或者abcdef 任意1个字符,任何就是16进制数.

--//输出字符串选择相反的数字进制. 10->16 ,16->10.

<Leader>du   在选择模式下做累加运算,中间不能有空行,实际上有一个visSum.vim插件实现类似功能,精度有一些问题,仅仅支持小数点6

             位,我发现自己版本比它好的地方是支持一些运算,对方仅仅简单累加.

--//例子:

12*4

34  

Sum = 82 --//按<leader>du

sum = 46 --//按<leader>su

--//82是\du的计算结果,46是\su的结算结果,明显对方插件计算错误,不支持行内存在运算符号.

--//参考链接:[20200424]vim visSum.vim合计插件.txt,选择 <Leader>du 避免重名.

--//顺便提一下设置set virtualedit=all 可以实现不受限制移动光标,有利于范围选择,我自己经常忘记这个设置.

--//插入模式下,仅仅支持2个运算模式:

=:          在插入模式下写出算式,然后快速按=: 出计算结果,输出与<leader>bc类似.

=-          在插入模式下快速按=- convert hexdecimal to decimal or decimal to hexdecimal.类似<Leader>hh

--//注意这些按键的操作特点是按键要快,一气呵成,如果停顿建议取消重来.注意操作时关闭中文输入法.

--//小技巧:如果计算有误,可以检查vim寄存器e,看看里面的内容, 例子输入: register  e.

--//在选择模式下更加灵活,许多细节可能考虑不到.

--//另外windows下bc.exe可执行程序自己要另行安装,一般我选择unxutils包,里面包括tr,sed等命令,设置好PATH环境变量就可以使用了.

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论