Файл .zshrc с русскими комментариями

04.08.2010

У меня долги, нифига нет денег, но вместо неотложных дел я занимаюсь настройкой Zsh :) Только я так могу. Зато в Рунете теперь наконец-то есть .zshrc, в котором каждая строчка прокомментирована.

Столько тумана вокруг Zsh! Все друг у друга бездумно копируют конфиги, ничерта ничего не понятно было, а ещё опции разных версий Zsh как-то различаются, похоже. Но я всё же прочитал дофига документации и вроде вполне сносно настроил свой з-з-з-з-шелл.

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

Монтирование FTP в каталог

В моём .zshrc прописаны ещё сокращения для удобного монтирования и перехода в каталог, но это личное, у каждого своё будет. Прочитать про curlftpfs можете тут, например, но в сети полно информации по этой теме. Монтировать FTP очень и очень удобно! Не то что раньше…

Несколько заметок про Zsh

Неприятные глюки (или не разобрался)

Раздражает, что введённый текст команды после нажатия Tab дублируется в строке и отодвигается. Вот так это выглядит примерно:

Zsh: набрал m и нажал Tab и вот что вышло

Ужасно. Как победить?

Ещё очень не нравится, что если строка получается длиннее ширины окна, вообще неразбериха какая-то. Может ли строчка переноситься на следующую? Правда, с длинными строками и в Bash была проблема, вроде. Но очень хотелось бы её решить, сильно мешает.

Обе проблемы решены! Спасибо сообществу WeLinux.ru вообще и Мухасу в частности. Теперь всё супер, вообще отлично. Обновил .zshrc на pastie.org.

P.S. Если знаете полезные опции Zsh (которых нет в моём .zshrc), пожалуйста, пишите в комментариях или давайте ссылки. Но обязательно с объяснением: что это и зачем. Я, например, не разобрался, как сделать удобное автодополнение для kill, чтобы там не было кучи лишней информаци в выводе.

P.P.S. Аноним, я пробовал Fish. Он дико, просто ужасно тормозил :(

Комментарии

  1. # samlowry

    Ксттаи — я пытался Фиш отмучать пару дней — автоподстановка бесит просто. В з она лучше.

  2. # Тормоз

    А меня в Zsh начинает бесить автоисправление. Наверно, отключу. Ну или постоянно в .zshrc тогда лазить придётся и ставить исключения.

  3. # samlowry

    Это шо таке? Как работает?

  4. # Тормоз

    cd /urs/bin
    Не, чувак, может /usr/bin? (Y, N)

  5. # samlowry

    Не, не пробовал такое. Автодополнение — кул, а это для идиотов.

  6. # che: 

    Я, кстати, на винде уже давно никаких файловых менеджеров не использую :) Местной консольки хватает.

  7. # Тормоз

    Не, не пробовал такое. Автодополнение — кул, а это для идиотов.

    Ну спасибо :) Так у тебя нет проблем с отодвиганием и дублированием строки при нажатии Tab? А с длинными строками?

    Я, кстати, на винде уже давно никаких файловых менеджеров не использую :) Местной консольки хватает.

    Che, врёшь ты всё :) А фотки чем открываешь? Я уверен, что у тебя есть файлопомойка, а с ней из консоли тяжело управляться.

  8. # che: 

    Фотки смотрю встроенным просмоторщиком. Хыхы, он gif-анимированный не понимает, и открывает в IE, мне лень чего-то с этим делать :) Так и живу.
    Хотя сегодня, поставил просмоторщик от фотика, чтобы raw-ы проявлять, может он понимает.

  9. # Тормоз

    А я для картинок подумываю косольную хрень какую-нибудь найти. Что-то меня прямо всё больше консоль засасывает. И мне это нравится!

  10. # nugops: 

    Надо попробовать на досуге zsh.
    в 106 строчке ты случайно mv с rm не перепутал?

  11. # che: 

    В смысле консольную хрень для картинок, ты их в тексте собрался смотреть? :)

  12. # Тормоз

    в 106 строчке ты случайно mv с rm не перепутал?

    Не перепутал, но спасибо за замечание. Я вообще не правильно понял эти опции. Оказывается, они для того, чтобы Zsh не выдавал лишние предупреждения (вернее, предложения). Возможно, я вообще correctall отключу в будущем.

    В смысле консольную хрень для картинок, ты их в тексте собрался смотреть? :)

    Думаешь, Mplayer, например, кино текстом показывает? :) Есть такая штука, как framebuffer.

    P.S. Хотя в Mplayer ради шутки есть опция показа в ASCII.

  13. # che: 

    Ты сейчас как-то хитро на вопрос ответил, попробую завтра с утра ещё раз перечитать :)

  14. # Тормоз

    Бесхитростно: современная консоль не только текст показывает, но даже видео и картинки. Без проблем.

    P.S. А я не буду спать опять.

  15. # che: 

    Это не консоль, а какой-то комбайн получается ;)

  16. # Тормоз

    Консоль и есть комбайн.

  17. # x-demon

    Консоль при включенном KMS не будет показывать видео/картинки.
    Sad, but true.

  18. # Тормоз

    Что за KMS?

  19. # x-demon

    Kernel-mode setting. Очень полезная штука, позволяет переключать tty (Ctrl+Alt+fX) почти мгновенно, кроме того при включенном KMS не нужен Xorg.conf.
    По умолчанию включен для видеокарт производства intel и radeon.
    Но вот видео и картинок пока не посмотреть в консоли. Пока KMS этого не позволяет.

  20. # Alek$

    Быть может его стоит в какой-нибудь публичный git/svn репозиторий засунуть, дабы обновлять и свои правки делать легче было?

  21. # Тормоз

    Я на git.com зарегистрировался, но там, оказывается, надо ключ какой-то, а я не знаю как их делать, решил пока отставить. Боюсь, если бы начал ещё с этими ключами разбираться, это ещё на несколько дней, блин. Я ЖЕ ТОРМОЗ! ((

  22. # samlowry

    А вот здесь, студенты, вы можете наблюдать, типичный случай разжижения мозг зен-линуксом. Шо, никогда не юзал SSH-ключи? :)

    Кстати — на Гитхабе для дебилов сделано: написаны все команды, думать не надо ваще.

  23. # samlowry

    Ты в конфигах довольно левые параметры заюзал, хоть и хвалился, что разобрался.

    Меня заела кривая работа истории (я, как можно понять, не фанат бряцать всё время одно и то же на клаве), поэтому ковырнул маны:

    HIST_IGNORE_ALL_DUPS — глупо. Т. е. будет только в первых строках истории команда. Если делать ctrl+R будут вылазить команды из последних строк истории, которые начинаются на эти же буквы.

    Я поставил HIST_EXPIRE_DUPS_FIRST— новые дубли команд вытесняют старые.

    INC_APPEND_HISTORY — хз, как это работает, но мне не помогает :) Я поставил:
    SHARE_HISTORY — мега-опция! История сразу же доступна во всех окнах терминала по обновлению состояния (т. е. после ввода какой-то команды или просто после нажатия энтера).

    Ещё довольно наша команда — HIST_REDUCE_BLANKS, чистит лишние пробелы, как итог — больше дублей выявит.

  24. # samlowry

    Ха, ещё отрыл параметр, из-за которого всё убого работает:
    HISTSIZE
    Дефолт = 30. Т. е. сколько ты не ставь SAVEHIST, доступно тебе только 30. Лучше ставить столько же, сколько и в SAVEHIST. То-то я думаю, что по ctrl+r вообще нифига найти нельзя было.

    М-дя, убогие умолчальные параметры.

  25. #  Тормоз

    Согласен, зря они не продумали нормальный умолчальный конфиг. Твои «исторические» изыскания не очень понял. Я Ctr+R вообще не пользуюсь, настроил автодополнение как у Vim: вводишь, например команду, нажимаешь стрелочку вверх и выдаётся история уже от этой команды.

  26. #  Тормоз

    То есть SAVEHIST и HISTSIZE обязательно одновременно должны присутствовать? Не понимаю, чем отличаются эти опции.

  27. # samlowry

    Ну, это один хрен, тут жмёшь ctrl+r и пишешь буквы — тебе показывается последнее совпадение их истории. Суть в том, что, допустим, ты написал:

    man curl

    man find

    man curl

    В истории при твоей команде удаления дубликатов будет:

    man curl

    man find

    Т. е. если я буду автодополнять man — мне покажется сначала man find, хотя мне нужна, скорее всего, команда из последних. Вот та опция борьбы с дубликатами стирает старый дубликат.

    Далее. SAVEHIST — это сколько строк в файле. HISTSIZE — в текущем буфере истории, который доуступен по стрелочкам, по ctrl+r, по твоей стрелке вверх. Путь хоть мульон записей будет в файле — по дефолту HISTSIZE=30, и хер ты что найдёшь. Не заметил, разве, что ничего не ищется?

    Про SHARE_HISTORY понятно?

  28. #  Тормоз

    Да, теперь понял. Спасибо.

  29. # samlowry

    Кстати, а автоподстановка из хистори в стиле vi — это binkey -v? А что ещё меняется? Можно как-то только это врубить, без врубания остальных вишных штучек?

  30. #  Тормоз

    Не, такая автоподстановка делается в .zshrc, стырил отсюда. Там смотри bindkey`s, поиск «стрелочки».

  31. # samlowry

    Да, круто, оно. Значит — ты не обновляешь тот конфиг выложенный?

  32. #  Тормоз

    Не, там много уже личных настроек, которые нафиг никому не нужны. Да и чтобы удобно обновлять, Git надо, а чтобы пользоваться Git, надо в нём разбираться :)

  33. # samlowry

    Мужчина, не, гонишь ты про стрелку вверх. Не, иногда это полезно. Но ctrl+r — однозначно полезнее. Это поиск по любому набору символов в истории.

    Т. е. если я писал ssh tormoz@brokenbrake.biz — то я могу найти это по какому-нить
    «broke» или даже «h torm». Я хз, как без этого вообще можно было жить. Стрелку жать тыщу раз вверз или грепать вывод history? :)

  34. #  Тормоз

    Прикольно. А у меня Ctrl+R не работает. Как его включить?

  35. # samlowry

    А хз :) Забайндь вручную, чтоль :)

    history-incremental-search-backward (^R ^Xr) (unbound) (unbound)

    history-incremental-search-forward (^S ^Xs) (unbound) (unbound)

  36. #  Тормоз

    Спасибо, попробую.

  37. # Тормоз

    Не так надо было, а вот так:
    bindkey '^R' history-incremental-search-backward
    И не работал Ctrl+R потому что режим vi был включен. И в нём, по идее, свой какой-то поиск должен быть, наприимер после ESC слэш работает, но как-то коряво.

Комментирование этой статьи закрыто.

Интересное Покупки ТехникаРазное Отдых Статьи Строительство Услуги Общество Хобби Культура Советы Уют