Обновить

Комментарии 27

НЛО прилетело и опубликовало эту надпись здесь

Спасибо! Давно искал что-то простое и понятное.

Идея классная и простая в исполнении! Интересно, а может в oh-my-zsh уже есть такой плагин? Никто не встречал?

Идея отличная. Реализация на bash выглядит как mvp, суда прям напрашивается четкая структура файла и полноценная утилита (на go/rust).

Файл может json/yaml, проще парсить, но сложнее редактировать руками или наоборот - md. Если будет md, это можно будет легко интегрировать в obsidian, так получится что в хранилище имеем шпаргалку, там ее правим/читаем/шарим, а в консоли через конфиг или переменную окружения подсовываем в cheat.

А если прям совсем угареть, можно синтегрироваться с fzf и zle (к сожалению не знаю альтернативы для bash) и искать нечетким поиском, а на выходе получить шаблон строки, где курсор уже в нужной позиции будет.

С .md интересная реализация, надо будет подумать. Спасибо!

А еще бы интеграцию терминала с нейросетью сделать...

эээ. Привет из 2025. (начните с Codex, Claude Code, Gemini CLI)

С одной стороны - просто и достаточно удобно. С другой - переизобретаем уже изобретенное.

Для чего делать один файл с секциями если можно на каждую секцию сделать по файлу, и не копать общий файл через awk. Бонусом имеем просмотр всех тем-ключевых слов просто в виде имен файлов, и файловая система будет сама следить за их уникальностью. в одном файле следить за уникальностью секций придется самостоятельно, и в большом файле может быть неудобно.

По большому счету - это переизобретение классического man который есть в любой системе. Добавляем в конфиг мана свою папку, что бы свои читы не класть в системные папки, и все работает. Правда писать странички на языке разметки манов не очень удобно.

Именовать файлы можно с расширением .md и писать с применением разметки. Тот же nano при редактировании .md-файлов автоматом подсвечивает разметку. Даже без исполнения этой разметки, только с подсвечиванием - это уже удобнее. Вывести тест в консоль с подсветкий синтаксиса можно программкой bat (примерно как cat только умеет подсвечивать множество синтаксисов).

Если ключевых слов наберется много, можно написать скриптик с применением fzf который покажет этот список, зафильтрует, даст выбрать один из (или не один) и даже можно сделать показ превью, через тот же bat с подсветкой синтаксиса.

Можно сделать много файлов с уточнением ключей, что бы итоговые файлы получались небольшие. Что бы среди них выбрать - запускаем их список через fzf, набирая буквы быстро фильтруем большой список, уточняя его до потребного состояния, из оставшегося выбираем нужное, выводим на экран. Кстати, через fzf можно не только выбрать, но и передать в командную строку не выполняя, потом подставляем руками нужный аргумент или редактируем - и готово.

Для чего делать один файл с секциями если можно на каждую секцию сделать по файлу, и не копать общий файл через awk

Потому что создавать отдельный файл под одну команду в секции - долго. Да и зачем городить из обычной «шпаргалки» целую базу знаний. Под них действительно хватает качественных решений.

По большому счету - это переизобретение классического man который есть в любой системе. 

Ни в коем случае, man не даст мне настолько просто добавить личную команду с нужными флагами.

Именовать файлы можно с расширением .md и писать с применением разметки. Тот же nano при редактировании .md-файлов автоматом подсвечивает разметку. 

Согласен, тут полностью с Вами согласен, выше уже писали об этом. Со стороны .md на этот вопрос я не смотрел. Для себя искал быстрое и простое решение, а-ля минимализм.

Если ключевых слов наберется много, можно написать скриптик с применением fzf 

Согласен, но это уже на утилиту смахивает, нежели на быстрое «решить здесь и сейчас, да еще и так, чтоб надолго хватило». Мой .cheatsheet состоит буквально из 10 команд, не хочется ради такого количества запариваться.

Подытоживая, свои потребности я закрыл целиком и полностью.

echo "git --log --oneline --graph --all #@brief Красивый лог" >> ~/.local/info/git

Самый минимализм

Запускаем

info --directory ~/.local/info/git git

1) делаем длинную историю

2) при выполнении редких команд в конец добавляем комментарий, например

git --log --oneline --graph --all #@brief Красивый лог

3) делаем grep по history

В oh-my-zsh удобный поиск по истории - по ctrl+r, по подстроке. Вываливается сразу десяток вариантов, остается стрелками выбрать нужный. Только не помню из коробки это или через один из history-плагинов.

В oh-my-zsh удобный поиск по истории - по ctrl+r, по подстроке

По ctrl+r есть базовый поиск, без перегруженного oh-my-zsh (недолюбливаю oh-my-zsh в целом честно говоря). Гораздо лучше выглядит интеграция fzf в zsh - оно перехватывает ctrl+r и дает нечеткий поиск по истории

Очень толковая идея, спасибо !

Говорят для этого даже специальная программа была, man называется. :) Но штатные man слишком подробные. Надо будет на досуге обдумать эту идею, сделать автоматическое построение man файлов по .md...

искал комментарий вида:

зумеры изобрели man

ну а если серьезно, идея прикольная. я бы еще git привязал (чтобы на нескольких рабочих станциях синхронизировать или делиться с кем либо)

Ну да, у man уже есть форматирование. А так вообще win-win ситуация получается. Кому надо - кладёт в git, кому надо - папка в Obsidian. И тут же локально превращается в файлы man...

Я такое делал через make

при вызове без аргументов, имхо, удобнее так:

cat "$CHEAT_FILE" | grep "^- "

т.е. ключевые слова

Делал когда-то для себя "на скорую руку":

choice=$(/bin/ls  ~/my_distributiv/app__hot__key  | rofi -dmenu -i "List:")
DMEDITOR="kitty -e micro"
DMDIRECTORY="~/my_distributiv/app__hot__key/"
FULLNAME=$DMDIRECTORY"$choice"
$DMEDITOR "$FULLNAME"

из зависимостей: rofi, dmenu, kitty, micro.

в папке ~/my_distributiv/app__hot__key находятся *.txt файлы, скрипт запускается по горячим клавишам, из списка выбираем нужную "шпаргалку", открывается текстовый редактор с нужной информацией, которую можно скопировать, при необходимости.

Дебиан, хайперленл, баш.

это ж надо какие-то txt файлы где-то поддерживать, а надо сделать чтобы она по md обсидиана по тегам доставала нужную доку

Согласен с Вами, выше уже подали идею. Думаю над реализацией, крайне интересно.

По итогам комментариев набросал на Rust утилиту, работающую с markdown-файлами:
https://gitflic.ru/project/morthan/cheat

Выглядит, как по мне, неплохо. Удобное редактирование и добавление новых шпаргалок, есть возможность отображать не всю шпаргалку, а конкретный раздел.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации