↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

? vim
% du ~/.swp ~/.swo
1.6G    /home/minoru/.swp
7.7G    /home/minoru/.swo

Есть идеи, что это может быть? Ну, есть у меня привычка открывать вим, что-то там по-быстрому калякать, править и закрывать, не сохраняя; это как-то связано?

#J6M5BW (1) / @minoru / 3237 дней назад

Накостылял себе удобный интерфейс для приведения 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, так что будьте аккуратны.)

#9ONZ0Z (5) / @minoru / 3308 дней назад
vim

Доставьте пост/коммент на SO/что_это_там_было, в котором автор понятно объясняет, что [Normal mode в] vim — это язык, с глаголами, именами собственными и прочими прелестями.

#DWZI8I (5) / @minoru / 3323 дня назад
Когда в универе/на работе/в Интернете встречаешь ньюфага, не секущего в Git/Vim/whatever, так и хочется порекомендовать ему каких-то ресурсов, чтобы он мог максимально быстро прошариться, а затем, естественно, и что-то более продвинутое. Предлагаю в этом треде собирать ссылки на эти самые ресурсы. Я начну. * Git: * новичку: * книга «Git Magic» Бена Линна (имеются переводы на русский и украинский): http://www-cs-students.stanford.edu/~blynn/gitmagic/ * «A successful Git branching model», Vincent Driessen — это чтобы понять, зачем нужны ветки и как ими лучше всего пользоваться * сайт, позволяющий путём решения задачек понять, как же работать с ветками: https://pcottle.github.io/learnGitBranching/ Помимо прочего, приучает думать о репозитории как о DAG, а о Гите как об инструменте для манипуляции этим самым графом, что, на мой взгляд, является Единственно Верным подходом * опытному: * «Pro Git», Scott Chacon and Ben Straub, https://progit.org/ Рассказывает про всякие более обскурные штуки вроде того, как Git хранит блобы, а также немного рассказывает об организационных вещах, например, как организовать работу и как запилить себе с друзьями ваш собственный GitHub *Tmux: * новичку: * «tmux: Productive Mouse-Free Development», Brian P. Hogan — даёт хороший обзор и в то же время вбивает в голову тот минимум, что необходим для начала работы * среднячку: * tmux(1) — просто чтобы узнать все-все-все опции. Авось какая-то из них вам полезна :) Я, к примеру, не нарадуюсь activity-monitor, но его приходится выключать для некоторых окон, например, из-за htop * Vim: * среднячку: * «Practical Vim: Edit Text at the Speed of Thought», Drew Neil — куча обскурных команд (inb4: все команды в vim обскурны!), несколько полезных шаблонов мышления (сведи всё к одному действию @ жмакай точку до посинения, например) Что можете добавить? В частности, что советовать новичкам по Vim (inb4: Emacs, nano), что почитать после «Pro Git»?
#JFHXA3 (96) / @minoru / 3576 дней назад

После получаса работы с цветовой схемой badwolf (автор — Steve Losh) все остальные приложения, где используется цвет — XMobar, taskwarrior, mutt, newsbeuter — кажутся очень уж убогими (потому что пользуются дефолтными цветами), и появляется невероятное желание для них всех запилить новые темки. Не хватало ещё начать тратить жизнь на бессмысленные кастомизации :(

#WAI9LY (2) / @minoru / 3991 день назад
vim

Adding Vim support for a new language, by Drew Neil https://vimeo.com/76005856

Хороший доклад про все эти syntax, ftdetect, indent и прочие странные директории, связанные с поддержкой языков в Vim.

#2TSOZP (0) / @minoru / 3993 дня назад
vim

Vim, оказывается, умеет дополнять не только отдельные слова, но и целые строки (:h compl-whole-lines). Я пока нашёл только один, невероятно специфичный use-case, но возможность любопытная. Жаль только, что нет fussy matching: оно именно дополняет уже набранное, а не пытается угадать, какую из уже существующих строк ты хочешь получить.

#D5JBMR (3) / @minoru / 4095 дней назад
vim

Фича дня: 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

#WUGU0U (1) / @minoru / 4194 дня назад
vim

Открытие дня: :help :DiffOrig

#CAZ4ZY (0) / @minoru / 4223 дня назад
? vim

Написал небольшой макрос: yypkV:!wc -c
Jj. Сделал 99400@a и уже несколько минут жду, когда оно пробежится по всем строкам и заменит их на новые. Судя по htop, первые несколько секунд vim что-то усердно считал, теперь же он просто последовательно перерисовывает строчки, не кушая ресурсов. Что это за безобразие и как его устранить?

#QGEGWX (0) / @minoru / 4232 дня назад
Заметил, что команды с префиксом воспринимаются моим мозгом не как цепочка нажатий, а как две отдельные сущности: префикс (сигнал о намерении что-то сделать) и собственно команда (указание, чего же именно я хочу). Поэтому с добавлением в набор повседневно используемых утилит tmux'а мозг начало немного заедать: когда я внутри tmux запускаю vim и создаю в последнем окна, приходится сознательно выбирать, какой из префиксов я хочу нажать.
#M5PNCQ (0) / @minoru / 4310 дней назад
vim
@plhk сказал, что ему всегда было лень прочитать про регистры, так что я взялся сделать это за него :) Итак, :help registers за пять минут (с упущениями и упрощениями). Во-первых, десять цифровых регистров, от "0 до "9. Когда вы делаете, например, dd (удаляете строку) или c$ (меняете всё с текущей позиции и до конца строки), текст помещается в "1; при этом предыдущее содержимое "1 вытесняется в "2, и так далее, а содержимое "9 теряется. Замечу, что при yy (копировании) сдвига не происходит — новый текст просто помещается в "0. Если вы удаляете меньше одной строки (скажем, всего пару слов — d2w), текст помещается не в "1, а в "-. Это small delete register. Black hole register, он же "_ — запись в него не задевает другие регистры (то есть при "_dd, например, содержимое "1.."9 не меняется). При чтении оттуда получите пустоту. Ещё есть unnamed register — "". Он используется по умолчанию для p, d, c, s, y и x, причём даже в тех случаях, когда регистр команде был указан явно (то есть при "3d текст попадёт и в "3, и в ""). Можете думать о нём как об указателе на последний изменявшийся регистр. Именованные регистры "a .. "z используются исключительно пользователем, причём когда они написаны прописью, происходит перезапись, а когда заглавными, то содержимое дополняется. Так что можно бегать по текстам и делать "Add, собирая абзацы, которые нужно вынести в отдельную главу. Всякие специальные штуки:  * ". — последний вставленный текст. Если забыли набрать count перед i, можно потом всё починить, сделав ".p нужное количество раз;  * "% — имя текущего файла;  * "# — имя альтернативного файла (не знаете, что это? :help alternate-file, или ждите моего следующего микропоста! :);  * ": — последняя команда, которую вы *вводили* (то есть текст какого-то маппинга так получить не выйдет);  * "/ — последний шаблон поиска;  * "*, "+ и "~ — первичный и вторичный буфферы X, а также текст, который перетянули в окно GVim. Про регистр "= ничего не расскажу — он связан с некими выражениями (:help expressions), о которых я (пока что) ничего не знаю. Stay tuned!
#W474HK (12+5) / @minoru / 4441 день назад
vim
Продолжаю бросаться рандомными пересказами :help Когда вы удаляете какой-то текст, он помещается в регистр "1. При этом предыдущее содержимое "1 переносится в "2 и т.д., а содержимое "9 теряется. Просмотреть текущее состояние регистров можно с помощью команды :display Так что не волнуйтесь, если вы что-то скопировали, а потом сделали dd — скопированное ждёт вас в "2. Ещё одна классная фича — это особенность работы . (точка, «повтор последней команды») в связке с "1p («вставить после курсора содержимое первого регистра»). Особенность эта состоит в том, что . будет увеличивать номер регистра, то есть после "1p она выполнит уже "2p, а потом "3p, и так далее. Профит здесь в том, что можно накопировать кучу (точнее, до девяти) кусков текста, потом вставить последний с помощью "1p и жмакать u. («отмена последней правки и повтор последней команды») до тех пор, пока не вставится нужный кусок.
#JGH04N (5+2) / @minoru / 4441 день назад
vim
Discovery of the Day: undo отменяет изменения по командам. То есть если вы нажали i и три часа набирали текст, а потом сделали <esc>u, то весь текст пропадёт разом. Ибо команда-то одна всего, i. А вот если эти три часа провести, прыгая между normal и insert, то u станет намного более полезным, потому что будет отменять отдельные правки.
#M3UGHT (5+1) / @minoru / 4441 день назад
Чат, я хочу аналог ZSH'евского foo{bar,baz} для vim. Ну, чтобы одно и то же по сто раз не повторять: ввёл общую часть, указал, что к этому тексту дописать, что-то нажал — и вуаля, куча кода из ниоткуда! Я не представляю даже, что у :help или Google спросить. Подскажите, а?
#EC0CEC (4) / @minoru / 4494 дня назад
? vim
Начитавшись не помню чего, замапил стрелочки, Home/End/PgDown/PgUp и Del на <nop>. Стрелки я и так не очень активно юзал, так что отказаться было сравнительно легко. Единственный юзкейс, для которого я не вижу замены — это когда пишешь какие-нибудь вызовы функций. У меня процесс выглядит примерно так: functionname → functionname() → functionname(args) То есть я сначала набираю скобки, потом жму стрелку влево, а затем набраю аргументы. При отключенных стрелках приходится делать так: functionname → functionname() → <Esc>ci( → functionname(args) То есть вместо нажатия одной кнопки (<Left>) приходится жать четыре (<Esc>ci(). Внимание, вопрос: я чего-то не знаю, или это таки вполне нормальный case scenario? Ибо у меня уже начинают чесаться руки сделать что-нибудь вроде :imap ( ()<esc>ci(.
#W4NROP (3) / @minoru / 4528 дней назад
? vim
Как проскроллить текст так, чтобы строка с курсором оказалась посередине? Что-то типа M, но со скроллингом.
#XSVE9I (7) / @minoru / 4741 день назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.