Файл .zshrc с русскими комментариями
04.08.2010 технологии изучение Линукса
У меня долги, нифига нет денег, но вместо неотложных дел я занимаюсь настройкой Zsh :) Только я так могу. Зато в Рунете теперь наконец-то есть .zshrc, в котором каждая строчка прокомментирована.
Столько тумана вокруг Zsh! Все друг у друга бездумно копируют конфиги, ничерта ничего не понятно было, а ещё опции разных версий Zsh как-то различаются, похоже. Но я всё же прочитал дофига документации и вроде вполне сносно настроил свой з-з-з-з-шелл.
Файл получился не слишком большой, потому что в нём только то, что я понимаю, никаких левых строк неясного назначения нет и не будет.
Монтирование FTP в каталог
В моём .zshrc прописаны ещё сокращения для удобного монтирования и перехода в каталог, но это личное, у каждого своё будет. Прочитать про curlftpfs можете тут, например, но в сети полно информации по этой теме. Монтировать FTP очень и очень удобно! Не то что раньше…
Несколько заметок про Zsh
Неприятные глюки (или не разобрался)
Раздражает, что введённый текст команды после нажатия Tab дублируется в строке и отодвигается. Вот так это выглядит примерно:
Ужасно. Как победить?
Ещё очень не нравится, что если строка получается длиннее ширины окна, вообще неразбериха какая-то. Может ли строчка переноситься на следующую? Правда, с длинными строками и в Bash была проблема, вроде. Но очень хотелось бы её решить, сильно мешает.
Обе проблемы решены! Спасибо сообществу WeLinux.ru вообще и Мухасу в частности. Теперь всё супер, вообще отлично. Обновил .zshrc на pastie.org.
P.S. Если знаете полезные опции Zsh (которых нет в моём .zshrc), пожалуйста, пишите в комментариях или давайте ссылки. Но обязательно с объяснением: что это и зачем. Я, например, не разобрался, как сделать удобное автодополнение для kill, чтобы там не было кучи лишней информаци в выводе.
P.P.S. Аноним, я пробовал Fish. Он дико, просто ужасно тормозил :(
Комментарии
Комментирование этой статьи закрыто.
Ксттаи — я пытался Фиш отмучать пару дней — автоподстановка бесит просто. В з она лучше.
А меня в Zsh начинает бесить автоисправление. Наверно, отключу. Ну или постоянно в .zshrc тогда лазить придётся и ставить исключения.
Это шо таке? Как работает?
cd /urs/bin
Не, чувак, может /usr/bin? (Y, N)
Не, не пробовал такое. Автодополнение — кул, а это для идиотов.
Я, кстати, на винде уже давно никаких файловых менеджеров не использую :) Местной консольки хватает.
Ну спасибо :) Так у тебя нет проблем с отодвиганием и дублированием строки при нажатии Tab? А с длинными строками?
Che, врёшь ты всё :) А фотки чем открываешь? Я уверен, что у тебя есть файлопомойка, а с ней из консоли тяжело управляться.
Фотки смотрю встроенным просмоторщиком. Хыхы, он gif-анимированный не понимает, и открывает в IE, мне лень чего-то с этим делать :) Так и живу.
Хотя сегодня, поставил просмоторщик от фотика, чтобы raw-ы проявлять, может он понимает.
А я для картинок подумываю косольную хрень какую-нибудь найти. Что-то меня прямо всё больше консоль засасывает. И мне это нравится!
Надо попробовать на досуге zsh.
в 106 строчке ты случайно mv с rm не перепутал?
В смысле консольную хрень для картинок, ты их в тексте собрался смотреть? :)
Не перепутал, но спасибо за замечание. Я вообще не правильно понял эти опции. Оказывается, они для того, чтобы Zsh не выдавал лишние предупреждения (вернее, предложения). Возможно, я вообще correctall отключу в будущем.
Думаешь, Mplayer, например, кино текстом показывает? :) Есть такая штука, как framebuffer.
P.S. Хотя в Mplayer ради шутки есть опция показа в ASCII.
Ты сейчас как-то хитро на вопрос ответил, попробую завтра с утра ещё раз перечитать :)
Бесхитростно: современная консоль не только текст показывает, но даже видео и картинки. Без проблем.
P.S. А я не буду спать опять.
Это не консоль, а какой-то комбайн получается ;)
Консоль и есть комбайн.
Консоль при включенном KMS не будет показывать видео/картинки.
Sad, but true.
Что за KMS?
Kernel-mode setting. Очень полезная штука, позволяет переключать tty (Ctrl+Alt+fX) почти мгновенно, кроме того при включенном KMS не нужен Xorg.conf.
По умолчанию включен для видеокарт производства intel и radeon.
Но вот видео и картинок пока не посмотреть в консоли. Пока KMS этого не позволяет.
Быть может его стоит в какой-нибудь публичный git/svn репозиторий засунуть, дабы обновлять и свои правки делать легче было?
Я на git.com зарегистрировался, но там, оказывается, надо ключ какой-то, а я не знаю как их делать, решил пока отставить. Боюсь, если бы начал ещё с этими ключами разбираться, это ещё на несколько дней, блин. Я ЖЕ ТОРМОЗ! ((
А вот здесь, студенты, вы можете наблюдать, типичный случай разжижения мозг зен-линуксом. Шо, никогда не юзал SSH-ключи? :)
Кстати — на Гитхабе для дебилов сделано: написаны все команды, думать не надо ваще.
Ты в конфигах довольно левые параметры заюзал, хоть и хвалился, что разобрался.
Меня заела кривая работа истории (я, как можно понять, не фанат бряцать всё время одно и то же на клаве), поэтому ковырнул маны:
HIST_IGNORE_ALL_DUPS — глупо. Т. е. будет только в первых строках истории команда. Если делать ctrl+R будут вылазить команды из последних строк истории, которые начинаются на эти же буквы.
Я поставил HIST_EXPIRE_DUPS_FIRST— новые дубли команд вытесняют старые.
INC_APPEND_HISTORY — хз, как это работает, но мне не помогает :) Я поставил:
SHARE_HISTORY — мега-опция! История сразу же доступна во всех окнах терминала по обновлению состояния (т. е. после ввода какой-то команды или просто после нажатия энтера).
Ещё довольно наша команда — HIST_REDUCE_BLANKS, чистит лишние пробелы, как итог — больше дублей выявит.
Ха, ещё отрыл параметр, из-за которого всё убого работает:
HISTSIZE
Дефолт = 30. Т. е. сколько ты не ставь SAVEHIST, доступно тебе только 30. Лучше ставить столько же, сколько и в SAVEHIST. То-то я думаю, что по ctrl+r вообще нифига найти нельзя было.
М-дя, убогие умолчальные параметры.
Согласен, зря они не продумали нормальный умолчальный конфиг. Твои «исторические» изыскания не очень понял. Я Ctr+R вообще не пользуюсь, настроил автодополнение как у Vim: вводишь, например команду, нажимаешь стрелочку вверх и выдаётся история уже от этой команды.
То есть SAVEHIST и HISTSIZE обязательно одновременно должны присутствовать? Не понимаю, чем отличаются эти опции.
Ну, это один хрен, тут жмёшь ctrl+r и пишешь буквы — тебе показывается последнее совпадение их истории. Суть в том, что, допустим, ты написал:
В истории при твоей команде удаления дубликатов будет:
Т. е. если я буду автодополнять man — мне покажется сначала man find, хотя мне нужна, скорее всего, команда из последних. Вот та опция борьбы с дубликатами стирает старый дубликат.
Далее. SAVEHIST — это сколько строк в файле. HISTSIZE — в текущем буфере истории, который доуступен по стрелочкам, по ctrl+r, по твоей стрелке вверх. Путь хоть мульон записей будет в файле — по дефолту HISTSIZE=30, и хер ты что найдёшь. Не заметил, разве, что ничего не ищется?
Про SHARE_HISTORY понятно?
Да, теперь понял. Спасибо.
Кстати, а автоподстановка из хистори в стиле vi — это binkey -v? А что ещё меняется? Можно как-то только это врубить, без врубания остальных вишных штучек?
Не, такая автоподстановка делается в .zshrc, стырил отсюда. Там смотри bindkey`s, поиск «стрелочки».
Да, круто, оно. Значит — ты не обновляешь тот конфиг выложенный?
Не, там много уже личных настроек, которые нафиг никому не нужны. Да и чтобы удобно обновлять, Git надо, а чтобы пользоваться Git, надо в нём разбираться :)
Мужчина, не, гонишь ты про стрелку вверх. Не, иногда это полезно. Но ctrl+r — однозначно полезнее. Это поиск по любому набору символов в истории.
Т. е. если я писал ssh tormoz@brokenbrake.biz — то я могу найти это по какому-нить
«broke» или даже «h torm». Я хз, как без этого вообще можно было жить. Стрелку жать тыщу раз вверз или грепать вывод history? :)
Прикольно. А у меня Ctrl+R не работает. Как его включить?
А хз :) Забайндь вручную, чтоль :)
history-incremental-search-backward (^R ^Xr) (unbound) (unbound)
history-incremental-search-forward (^S ^Xs) (unbound) (unbound)
Спасибо, попробую.
Не так надо было, а вот так:
bindkey '^R' history-incremental-search-backward
И не работал Ctrl+R потому что режим vi был включен. И в нём, по идее, свой какой-то поиск должен быть, наприимер после ESC слэш работает, но как-то коряво.