% du ~/.swp ~/.swo
1.6G /home/minoru/.swp
7.7G /home/minoru/.swo
…
Есть идеи, что это может быть? Ну, есть у меня привычка открывать вим, что-то там по-быстрому калякать, править и закрывать, не сохраняя; это как-то связано?
Накостылял себе удобный интерфейс для приведения USE-флагов в системе к желанному состоянию:
##### Describe flags
# For current line:
# 1. Remove use flags
# 2. Call equery uses to pull down the list of existing use flags for this
# ebuild
# 3. Remove equery's legend (four lines at the bottom)
# 4. Stop on the next line (i.e. next ebuild)
# Macro: ^f D^y$;r!equery -NC uses ^R"^M4k5dd
# Yank that into a register (say, "g, for "get flags"), then run :.,$normal @g
# That will run the macro on each line.
#### Disable flag
# 1. Remove first five columns in the line (that would be two signs of
# enabled/disabled plus spacing around them)
# 2. Put minus sign in front of the flag
# 3. Remove flag description
# 4. Concatanate the flag to the line above
# 5. Go to the next line
# Macro: 04dlr-jkf DkJj
# Suggested register: "d
# Suggested mapping: :nmap - @d
#### Enable flag
# Same as above, but puts plus sign instead of minus
# Macro: 04dlr+jkf DkJj
# Suggested register: "e
# Suggested mapping: :nmap + @e
### Preserve flag
# Same as above, but leaves existing sign in place
# Macro: 03xlxf DkJj
# Suggested register: "p
# This is supposed to be run when you get bored with tweaking things:
# :.,$global/^ /execute "normal @p"
(На самом деле @g почему-то иногда оставляет в файле футер вывода equery, так что будьте аккуратны.)
После получаса работы с цветовой схемой badwolf (автор — Steve Losh) все остальные приложения, где используется цвет — XMobar, taskwarrior, mutt, newsbeuter — кажутся очень уж убогими (потому что пользуются дефолтными цветами), и появляется невероятное желание для них всех запилить новые темки. Не хватало ещё начать тратить жизнь на бессмысленные кастомизации :(
Adding Vim support for a new language, by Drew Neil https://vimeo.com/76005856
Хороший доклад про все эти syntax, ftdetect, indent и прочие странные директории, связанные с поддержкой языков в Vim.
Vim, оказывается, умеет дополнять не только отдельные слова, но и целые строки (:h compl-whole-lines). Я пока нашёл только один, невероятно специфичный use-case, но возможность любопытная. Жаль только, что нет fussy matching: оно именно дополняет уже набранное, а не пытается угадать, какую из уже существующих строк ты хочешь получить.
Фича дня: i_CTRL-R
Краткий пересказ для тех, кто не хочет читать справку: трюки вроде <ESC>"api равноценны простому CTRL-R a. Работает также при вводе команд (то есть можно, например, копировать кусок текста и потом быстренько сделать из него :substitute).
Бонус: i_CTRL-R_CTRL-R, который не обрабатывает спецсимволы — если у вас в "a написано "ab^Hc", то так оно и вставится (^H — это backspace).
Для забывчивых: текст последнего y или d помещается в регистр с именем ". Читайте https://bnw.im/p/W474HK
Написал небольшой макрос: yypkV:!wc -c
Jj. Сделал 99400@a и уже несколько минут жду, когда оно пробежится по всем строкам и заменит их на новые. Судя по htop, первые несколько секунд vim что-то усердно считал, теперь же он просто последовательно перерисовывает строчки, не кушая ресурсов. Что это за безобразие и как его устранить?