From 355880e41d4bf3b49d5fd3fe49f245f5343840b1 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 17 Jul 2022 10:49:14 +0300 Subject: [PATCH] =?utf8?q?=D0=92=D1=8B=D0=B7=D0=BE=D0=B2=20=D0=BA=D0=B0?= =?utf8?q?=D0=BB=D1=8C=D0=BA=D1=83=D0=BB=D1=8F=D1=82=D0=BE=D1=80=D0=B0=20?= =?utf8?q?=D0=B2=20Vim?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://old.reddit.com/r/vim/comments/9421bm/whats_your_favourite_equalprg_hack/ http://www.git.stargrave.org/?p=dotfiles.git;a=blob;f=dc/.dc Пишу тут код, где нужно прикинуть всякие простые вычисления, типа offset-ов, длин и тому подобного. В самом же коде я делаю наброски и вычисления, но нужно и что-то посчитать. Не видя никаких статей, я самостоятельно додумался до вызова калькулятора внешнего: пишу на отдельной строке: 6 304 13 45 72 36 lSx 18 12+ 5*+p выделяю ("V") и вызываю калькулятор ":!zc" Это я всякие размеры полей пакета считал, строчка оставшаяся в истории редактора. Про ссылку на reddit вспомнил просто потому что недавно, когда что-то искал по Vim, напоролся на неё. Но из неё узнал что вместо визуального выделения параграфа, можно делать "!}zc" -- куда короче и не загрязняет "историю" визуальных выделений. Всё равно, даже в простых вещах, Vim не перестаёт удивлять маленькими полезностями. В качестве калькулятора уже который год использую обёртку над dc RPN калькулятором (d65882c3c5decb9e2216d7a8de98c1d422c2c42d). $ cat =zc #!/bin/sh exec rlwrap \ --history-filename /tmp/.dc_history \ --substitute-prompt "> " \ --prompt-colour=red \ dc -f ~/.dc -f /dev/stdin Где ~/.dc содержит настройку точности и пока только пару скриптов: * загруженный в "S" регистр суммирует всё что есть в стэке. Это я использую постоянно, без надобности писать кучу "+" * загруженный в "L" регистр вычисляет натуральный логарифм. А для преобразования в другие основания применять формулу из школы, типа: 1000lLx 10lLx /p Вызов zc у меня есть и в tmux по быстрому нажатию prefix+t+c, но когда чисел много, и их надо брать из кучи других мест, то уже не попереключаешься между сессиями tmux удобно. -- 2.48.1