Pull to refresh

Comments 57

man git init:

GIT-INIT(1)                                                                                                                                           Git Manual                                                                                                                                          GIT-INIT(1)

NAME
       git-init - Create an empty Git repository or reinitialize an existing one

SYNOPSIS
       git init [-q | --quiet] [--bare] [--template=<template_directory>]
                 [--separate-git-dir <git dir>]
                 [--shared[=<permissions>]] [directory]
...


Чем это отличается от вашего велотренажёра?
Не вся информация есть в формате man pages. Кроме того, в этот велотренажер можно положить какие-то нюансы, которые лично вы часто забываете или путаете.
Если мы про команды, то в дебиане, например, есть полиси, что каждая команда должна иметь страницу man'а. Насчёт другого не скажу, хотя sysctl'ы и сишная stdlib тут водится.
Не про команды. Например, копаетесь в какой-то редкой либе или изучаете новый язык.
Отличается многим, в первую очередь man намного полнее моего решения, но Dic преследует цель создать свой справочник с быстрым поиском (ведь в своем всегда ориентироваться проще).
UFO just landed and posted this here
У манов есть одна большая беда: секция EXAMPLES если и есть, то отличается поразительнейшей куцестью и бессмысленностью, потому что простейшие применения команд и так понятны, а более заковыристые в примерах никогда не пишут. А дополнить ман-страницу — та ещё морока и получишь ты своё обновление релиза через два своего дистрибутива. Офигенно.

Потому и клепают эти велосипеды.
Двумя руками за! Всегда убивало — ну что сложно что-ли пару — тройку примеров в конце привести?!
Ещё в копилку: info — гипертекстовые мануалы, причём можно легко свои делать.
UFO just landed and posted this here
В какой-то убунте:
$ man complete
No manual entry for complete
В макоси открывается список встроенных команд bash, без пояснений как этим пользоваться.

Справка внутри программы:
usage: complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]

Все очень плохо.
Это не программа, а внутренняя функция Bash. В убунте по-моему используется не Bash, а дебиановский Dash — разные оболочки, поэтому я не удивлён, что в Dash такой функции может и не быть вообще. В макоси всё правильно открывается — ман по Bash, дальше поиском можно найти подробную справку по complete.

С аналогичным успехом можно смотреть справку по if или echo.
Эта команда в dash есть. Ну и да, я все понимаю, только меня это никак не приблизило к использованию этой команды.
(См. комментарий, на который я отвечал, для контекста.)
Эта команда в dash есть.

Разве? У меня что-то нету.

app-shells/dash-0.5.7.3-r1
Значит, я ошибся. На той машине с убунтой она у меня запускалась, хотя там запросто мог быть bash, я не посмотрел.
В Ubuntu, как и во всех известных мне Debian-based дистрибутивах, в интерактивном режиме используется bash, потому что dash пригоден только для выполнения скриптов и в консоли совершенно неюзабелен.
UFO just landed and posted this here
man bash?
   Completing
       complete (TAB)
              Attempt  to  perform  completion on the text before point.  Bash attempts completion treating the text as a variable (if
              the text begins with $), username (if the text begins with ~), hostname (if the text begins with @), or command (includ‐
              ing aliases and functions) in turn.  If none of these produces a match, filename completion is attempted.
Это справка про нажатие клавиши TAB. А мне надо про встроенную команду, у которой 25 флагов, так пока и оставшихся для меня восхитительной тайной:
usage: complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [name ...]
Сколько времени вы тратите на поиск ответа в man или в интернете? Пробовали ли вы когда-нибудь писать свои собственные справочники и чем это заканчивалось?
Часто бывает «сделал и забыл», а через год снова нужно сделать, и я помню, что когда-то как-то я это уже делал, но в интернетах почему-то то старое решение не находится, или же находится пять разных решений, и я не помню, каким я воспользовался в прошлом.
Поэтому я завёл блог, в котором записываю свои «лайфхаки», чтобы, когда понадобится, быстро найти. Думал использовать для этого Wiki, но там пришлось бы больше заниматься каталогизацией и структурированием информации. Блог с тегами проще.
Я тоже думал о блоге и Wiki (у меня даже есть одна), но отказался от этого по двум причинам:
1. Чтобы воспользоваться нужен интернет, а бывали случае (находился в глуши), когда вопрос срочный, а интернета под рукой нет;
2. Чтобы вести Wiki и блог нужно тратить довольно много времени на добавление информации, ведь хочется чтоб это было достаточно «красиво» для уровня блога, а тут все пишется на скорую руку.
1. Для меня это не проблема, но теоретически можно держать локальную копию блога в том или ином виде.
2. «Красиво» мне не нужно (хотя красивую темку установил, каюсь :), я пишу для себя, поэтому там самый минимум информации, просто пошаговые инструкции или команды для терминала, чтобы быстренько копипастнуть и снова забыть.
На написание этого комментария я потратил в пять раз больше времени, чем на один пост в блоге :)
Хм… на мой взгляд, вики лучше чем блог… И суть как раз в том, чтоб, наоборот, потратить время на структуризацию и удобное оформление… Да на это уходит в разы больше времени, но информация укладывается намного лучше и в дальнейшем быстро восстанавливается. У меня даже две вики =) Одна локальная, в которой проделанные работы и планы, а другая с общей информацией, которая доступна с внешки.

Да и по теме… Если не можешь вспомнить команды vim или git — это означает, по моему опыту, что не так уж часто ими пользуешься. А если это так, то через какое-то долгое время, одна строчка из словаря всё равно не поможет вспомнить всё что необходимо.
Можно ещё Evernote использовать для этого, тогда всегда в кармане будет вся информация.

Когда часто пользуешься, то и не нужны никакие справочники, а вот какие-нибудь консольные команды в Linux или OS X, которые нужно вводить один раз в год-два, их и не нужно вспоминать, достаточно скопировать в Терминал.
Дома я пишу на PHP, JS, Vim и Bash (не считая HTML и CSS), а на работе на Java, тут ненароком забываешь некоторые мелочи при переходе от языка к языку, и совсем не оттого, что у меня мало опыта )
Вы меня не совсем правильно поняли. Какой бы большой у Вас бы небыл опыт, то всегда будет та информация, которой Вы пользуетесь постоянно, и та которой редко. Ваш велосипед покрывает середину между этими крайностями. Но тут, есть одна загвоздка, допустим у меня. Если какие-то конфиги редко меняются, то их синтаксис совершенно забывается и пару строк, которые я себе когда-то оставлял, только вгоняют в больший ступор и путают. То, что используется реже со временем забывается.
Всё это сугубо индивидуально и специфично. Надеюсь Ваш скрипт кому-нибудь поможет.
Спасибо, завёл себе файлик.
Я использую с этой целью приватный гугло-сайт. Все готовое, можно структурировать информацию, если сильно захочется (вложенные странички), готовый хороший поиск по сайту, можно расшаривать отдельные странички другим пользователям (хоть на просмотр, хоть на редактирование).
explainshell сделан несколько для другого, он показывает man файл с отфильтрованными аргументами
Это выдача и обычного man.
Wikipedia:
Torvalds has quipped about the name git, which is British English slang roughly equivalent to «unpleasant person». Torvalds said: «I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'git'.» The man page describes git as «the stupid content tracker».
Спасибо, проект полезный. Здорово подходит в качестве общего источника своих руководств.

В последнее время много странных попыток сделать свои manpages. Странных с точки зрения выбранных инструментов: node.js (tldr), Ruby on Rails (bropages), — чудовищный overhead. Проект Delphinum лишён такого недостатка: bash + text = сама простота. Полагаю, популярны были бы обычные полноценные manpages, но заточенные именно под примеры и краткие сведения о командах.

Недавно подобный файлик для Vim создали: master.vim. Скрипт для vim, который позволяет учить vim в vim. И создавать собственные руководства, которые забываете.

Я пока не завёл себе своего словарика, по старинке пользуюсь обычными manpages и крутейшей книгой их мейнтейнера The Linux Programming Interface, для vim встроенным help и всяческими vimcasts.
А при чем тут Rails? Обычный ruby gem.
Как я упоминал выше — это всё от того, что в манах примеров почти не пишут. А синтаксис у команд иногда такой, что ман приходиться очень долго раскуривать, чтоб понять как вообще оно запускается.
Да, и ещё в Zsh есть отличное автодополнение, которое показывает возможные команды и опции: link.
Он Dr. Dick.
Увидел этот клип по ТВ в конце 90-x и посмеялся.
Предлагаю посмотреть в сторону Bash completion — поддерживается куча утилит, можно писать свои правила автодополнения на Bash. Идея Zsh на два комментария выше интересная и её можно реализовать на Bash.

Ещё есть apropos — это агрегатор мануалов, помогает, если помните, что должна делать команда, но не помните её названия.
Идея интересная. Надо будет прикрутить это к Alfred.
Если вы пишете в своем словаре
git init — создание нового репозитория

А потом делаете
dic git | grep ''инициализация нового репозитория''

То так вы ничего не найдете.

С другой стороны, Яндекс, с его морфологией и блекджеком что-нибудь да найдет.

А если знать английский, и поискать гуглем на stackoverflow… :)
Согласен. Dic не претендует на полноценную поисковую систему )
А если знать английский, и поискать гуглем на stackoverflow…

Надо для этого удобный консольный клиентик сделать (:
А я записываю все что нужно в файлик tips. Когда что-то надо, пишу в терминале cat ~notes/tips или сразу грепаю вывод :)
UFO just landed and posted this here
Насколько я понял, была поставлена одна задача, а решена другая. Предлагаемый инструмент дает возможность, грубо говоря, поиска по словарю, где в качестве ключа используется слово. Этим же свойством обладают обычные словари (толковые и переводные), а также традиционные средства: man, info, apropos, apt-cache search и т.п. За счет узкой специализации, разумеется, можно что-то оптимизировать и настроить под себя, так что Dic безусловно имеет право на существование.

Но изначальная проблема состоит в том, что айтишнику не хватает идеографического (семантического) словаря. Проблема достаточно серьезна, поскольку типичная задача формулируется как «угадай, что нужно угадать» или «вспомни слово, которое я забыл». Косвенным подтверждением того факта, что Dic полностью не решает проблему, является использование grep'а как штатного механизма поиска:
dic git | grep ''инициализация нового репозитория''

Я не знаю хороших готовых средств решения этой проблемы, сам бы хотел найти.

PS.
c того самого времени, как я перешел на Xmonad, понял — дело вовсе не во мне.
Что-то не пойму, причем здесь Xmonad.
Начну с конца:
Xmonad — отложил мышку и, соответственно, теперь нужно что-то сугубо консольное и клавиатурное
Семантический словарь — я об этом очень много думаю, и вскоре решу и эту задачу, но все же цель была именно та, которая решена с помощью Dic, а именно вспомнить что делает та или иная команда зная ее имя
Ээх!
Почитайте, пожалуйста, про zsh autocomplete

Вот как это выглядит
image

Дополнения уже написаны для большого количества приложений, и можно их писать самому. Плюс в том, что вам достаточно нажать tab, и все эти магические подсказки появятся. Причем дополнения многоуровневые и не только текстовые.
man -k bash
man bash | grep -i alias -C 5
Примерно так.
Sign up to leave a comment.

Articles