evil-numbers icon indicating copy to clipboard operation
evil-numbers copied to clipboard

Increment and decrement numbers in Emacs

trafficstars
  • Evil Numbers
    • Increment / Decrement binary, octal, decimal and hex literals

    • works like C-a/C-x in vim, i.e. searches for number up to eol and then increments or decrements and keep zero padding up (unlike in vim)

    • When a region is active, as in evil's visual mode, all the numbers within that region will be incremented/decremented (unlike in vim)

** Detected Literals - binary, e.g. =0b0101=, =0B0101= - octal, e.g. =0o755=, =0O700= - hexadecimal, e.g. =0xDEADBEEF=, =0XCAFE=

** Install Put in =load-path=, =(require 'evil-numbers)= and bind, for example:

#+BEGIN_SRC emacs-lisp (global-set-key (kbd "C-c +") 'evil-numbers/inc-at-pt) (global-set-key (kbd "C-c -") 'evil-numbers/dec-at-pt) #+END_SRC

or only in evil's normal state:

#+BEGIN_SRC emacs-lisp (define-key evil-normal-state-map (kbd "C-c +") 'evil-numbers/inc-at-pt) (define-key evil-normal-state-map (kbd "C-c -") 'evil-numbers/dec-at-pt) #+END_SRC

For window system users the keypad =+= and =-= present an alternative that can be directly bound without shadowing the regular =+= and =-=:

#+BEGIN_SRC emacs-lisp (define-key evil-normal-state-map (kbd "") 'evil-numbers/inc-at-pt) (define-key evil-normal-state-map (kbd "") 'evil-numbers/dec-at-pt) #+END_SRC

** Usage Position cursor on literal and play with your numbers!

** Known Bugs See http://github.com/cofi/evil-numbers/issues

** Contributors