https://github.com/arecarn/vim-crunch
A calculator inside Vim
https://github.com/arecarn/vim-crunch
Last synced: 12 months ago
JSON representation
A calculator inside Vim
- Host: GitHub
- URL: https://github.com/arecarn/vim-crunch
- Owner: arecarn
- License: wtfpl
- Created: 2013-06-24T03:51:52.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2023-12-05T18:08:11.000Z (over 2 years ago)
- Last Synced: 2025-06-05T16:47:04.378Z (about 1 year ago)
- Language: Vim Script
- Homepage:
- Size: 332 KB
- Stars: 135
- Watchers: 3
- Forks: 9
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
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 setting `g:crunch_result_type_append` = 0
* `:Crunch`
* Provides a prompt in the command for you to enter your mathematical
expression. The result is then available to be pasted from the default
register.
* `:Crunch {expression}`
* Where {expression} is some mathematical expression to be evaluated. The
result is then available to be pasted from the default register.
Requirements
------------
* [selection.vim](https://github.com/arecarn/selection.vim)
* Vim compiled with `+float` feature
------------------------------------------------------------------------------
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 |
| | (2\*3)(3\*2) = 36 | (2\*3)*(3\*2) = 36 |
| | 2(3*2) = 12 | 2*(3\*2) = 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 |