You can use multiple cursors
to get this done.
Before you get started with the below steps, add this to your init.el
, evaluate it and bind it to a key binding of your linking.
;; http://stackoverflow.com/questions/3035337/in-emacs-can-you-evaluate-an-emacs-lisp-expression-and-replace-it-with-the-resul
(defun eval-and-replace-last-math-sexp ()
"Replace an emacs lisp expression (s-expression aka sexp) with its result"
(interactive)
(let ((value (eval (preceding-sexp))))
(kill-sexp -1)
(insert (format "%.3f" value)))) ; Change this resolution as you need
Let's bind it to C-M-=
for this explanation.
Step 1 Get the cursor to column that you want to modify first.
ATOM 10 H5 LIG 1 ▮-0.684 2.034 0.000 1.00 0.00
ATOM 11 C1 LIG 1 0.974 0.686 0.000 1.00 0.00
ATOM 12 H1 LIG 1 1.734 1.451 0.000 1.00 0.00
ATOM 13 C2 LIG 1 0.977 -0.683 0.000 1.00 0.00
ATOM 14 H2 LIG 1 1.743 -1.443 0.001 1.00 0.00
ATOM 15 N1 LIG 1 -0.347 -1.074 0.000 1.00 0.00
ATOM 16 H3 LIG 1 -0.675 -2.037 0.000 1.00 0.00
ATOM 17 C3 LIG 1 -1.145 -0.003 0.000 1.00 0.00
ATOM 18 H4 LIG 1 -2.226 -0.005 0.000 1.00 0.00
ATOM 19 N2 LIG 1 -0.352 1.073 0.000 1.00 0.00
ATOM 20 H5 LIG 1 -0.684 2.034 0.000 1.00 0.00
Step 2 Create multiple cursors - Press C->
as many times required
ATOM 10 H5 LIG 1 ▮-0.684 2.034 0.000 1.00 0.00
ATOM 11 C1 LIG 1 ▯ 0.974 0.686 0.000 1.00 0.00
ATOM 12 H1 LIG 1 ▯ 1.734 1.451 0.000 1.00 0.00
ATOM 13 C2 LIG 1 ▯ 0.977 -0.683 0.000 1.00 0.00
ATOM 14 H2 LIG 1 ▯ 1.743 -1.443 0.001 1.00 0.00
ATOM 15 N1 LIG 1 ▯-0.347 -1.074 0.000 1.00 0.00
ATOM 16 H3 LIG 1 ▯-0.675 -2.037 0.000 1.00 0.00
ATOM 17 C3 LIG 1 ▯-1.145 -0.003 0.000 1.00 0.00
ATOM 18 H4 LIG 1 ▯-2.226 -0.005 0.000 1.00 0.00
ATOM 19 N2 LIG 1 ▯-0.352 1.073 0.000 1.00 0.00
ATOM 20 H5 LIG 1 ▯-0.684 2.034 0.000 1.00 0.00
Step 3 Type the math equation in elisp: (+ 5.487 M-f)
ATOM 10 H5 LIG 1 (+ 5.487 -0.684)▮ 2.034 0.000 1.00 0.00
ATOM 11 C1 LIG 1 (+ 5.487 0.974)▯ 0.686 0.000 1.00 0.00
ATOM 12 H1 LIG 1 (+ 5.487 1.734)▯ 1.451 0.000 1.00 0.00
ATOM 13 C2 LIG 1 (+ 5.487 0.977)▯ -0.683 0.000 1.00 0.00
ATOM 14 H2 LIG 1 (+ 5.487 1.743)▯ -1.443 0.001 1.00 0.00
ATOM 15 N1 LIG 1 (+ 5.487 -0.347)▯ -1.074 0.000 1.00 0.00
ATOM 16 H3 LIG 1 (+ 5.487 -0.675)▯ -2.037 0.000 1.00 0.00
ATOM 17 C3 LIG 1 (+ 5.487 -1.145)▯ -0.003 0.000 1.00 0.00
ATOM 18 H4 LIG 1 (+ 5.487 -2.226)▯ -0.005 0.000 1.00 0.00
ATOM 19 N2 LIG 1 (+ 5.487 -0.352)▯ 1.073 0.000 1.00 0.00
ATOM 20 H5 LIG 1 (+ 5.487 -0.684)▯ 2.034 0.000 1.00 0.00
Step 4 Do C-M-=
and hit RET
to exit the multiple cursors mode. Voila!
ATOM 10 H5 LIG 1 4.803▮ 2.034 0.000 1.00 0.00
ATOM 11 C1 LIG 1 6.461 0.686 0.000 1.00 0.00
ATOM 12 H1 LIG 1 7.221 1.451 0.000 1.00 0.00
ATOM 13 C2 LIG 1 6.464 -0.683 0.000 1.00 0.00
ATOM 14 H2 LIG 1 7.230 -1.443 0.001 1.00 0.00
ATOM 15 N1 LIG 1 5.140 -1.074 0.000 1.00 0.00
ATOM 16 H3 LIG 1 4.812 -2.037 0.000 1.00 0.00
ATOM 17 C3 LIG 1 4.342 -0.003 0.000 1.00 0.00
ATOM 18 H4 LIG 1 3.261 -0.005 0.000 1.00 0.00
ATOM 19 N2 LIG 1 5.135 1.073 0.000 1.00 0.00
ATOM 20 H5 LIG 1 4.803 2.034 0.000 1.00 0.00