Ⅰ. 插件描述
A calculator inside VimⅡ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'arecarn/crunch'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'arecarn/crunch'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'arecarn/crunch'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/arecarn/crunch.vim
Ⅳ. 文档说明
crunch
crunch makes calculations in Vim more accessible by providing an operator to
evaluate mathematical expressions, loosening Vim's math syntax, and forcing
integers into floating point numbers.
Usage
| Mode | Key Mapping | Description |
|---|---|---|
| normal | g={motion} | Evaluate the text that {motion} moves over |
| normal | g== | Evaluate the current line |
| visual | g= | Evaluate the highlighted expressions |
:[range]Crunch[!]- Evaluates the current visual selection or provided range and adds result
to the end of the line(s) With the [!] crunch does not append the result
but replaces the provided range or visual selection with the result this
behavior can be reversed by settingg:crunch_result_type_append= 0- Evaluates the current visual selection or provided range and adds result
:CrunchProvides a prompt in the command for you to enter your mathematical
- The result is then available to be pasted from the default
register.
- The result is then available to be pasted from the default
:Crunch {expression}- Where {expression} is some mathematical expression to be evaluated. The
result is then available to be pasted from the default register.
- Where {expression} is some mathematical expression to be evaluated. The
Requirements
- selection.vim
- Vim compiled with
+floatfeature
Math With Looser Syntax
The following chart shows the looser math syntax provided with crunch, compared
to the default math syntax.
| Feature | With crunch | Without crunch |
|---|---|---|
| Implied Multiplication | ||
| cos(0)cos(0) = 1 | cos(0)*cos(0) = 1.0 | |
| 2sin(1) = 1.682942 | 2*sin(1) = 1.682942 | |
| sin(1)2 = 1.682942 | sin(1)*2 = 1.682942 | |
| (23)(32) = 36 | (23)(3*2) = 36 | |
| 2(3*2) = 12 | 2(32) = 12 | |
| Integer to Float Conversion | ||
| 1/2 = 0.5 | 1.0/2.0 = 0.5 | |
| .25*4 = 1 | 0.25*4 = 1.0 | |
| Decimals w/o Leading Zeros | ||
| .5/2 = 0.25 | 0.5/2 = 0.25 | |
| .25*4 = 1 | 0.25*4 = 1.0 | |
| Removed Zeros In Result | ||
| 0.25*4 = 1 | 0.25*4 = 1.0 | |
| pow(2,8) = 256 | pow(2,8)= 256.0 |