Выкладываю свой zshrc. Немного причесал. С комментариями оказалось 377 строк, без комментариев около ста шестидесяти. Как-то он у меня постоянно растет и изменяется, в общем у меня это единственный конфиг который я допиливаю (добавляю функции и алиасы) для удобства. Все никак не могу придумать нормальный FMMODE, поэтому кусок касающийся его и не привожу. Думаю как небольшой хелп по настройке zsh этот конфиг сойдет.
# загружаем дефолтный профиль оболочки
# Настраиваем безполезные клавиши плюс бекспей
# алиас ибо на некоторых машинах нихера чё-то без алиаса на загружается
# если текущая директория пустая, то удалить ее и перейти в родительскую директорию
rcd(){ local P="`pwd`"; cd .. && rmdir "$P" || cd "$P"; }
# быстрое переименование
name() {
name=$1
vared -c -p 'rename to: ' name
command mv $1 $name
}
# распаковка архива
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "я не в курсе как распаковать '$1'..." ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# упаковка в архив
pk () {
if [ $1 ] ; then
case $1 in
tbz) tar cjvf $2.tar.bz2 $2 ;;
tgz) tar czvf $2.tar.gz $2 ;;
tar) tar cpvf $2.tar $2 ;;
bz2) bzip $2 ;;
gz) gzip -c -9 -n $2 > $2.gz ;;
zip) zip -r $2.zip $2 ;;
7z) 7z a $2.7z $2 ;;
*) echo "'$1' cannot be packed via pk()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
00 восстановление цвета по умолчанию #31 красный текст #41 красный фон
01 включить яркие цвета #32 зеленый текст #42 зеленый фон
04 подчеркнутый текст #33 желтый (или коричневый) текст #43 желтый (или коричневый) фон
05 мигающий текст #34 синий текст #44 синий фон
# ну или color юзать #35 фиолетовый текст #45 фиолетовый фон
# #36 cyan текст #46 cyan фон
# алиасы #37 белый (или серый) текст #47 белый (или серый) фон
# цветной grep
# более человекочитаемые df и du
alias df='df -h'
alias du='du -h'
# переименование-перемещение c пogтвepжgeнueм без коррекции
# рекурсивное копирование с подтверждением без коррекции
alias cp='nocorrect cp -iR'
# удаление с подтверждением без коррекции
# принудимтельное удаление без коррекции
alias rmf='nocorrect rm -f'
# принудительное рекурсивное удаление без коррекции
alias rmrf='nocorrect rm -fR'
# создание каталогов без коррекции
alias mkdir='nocorrect mkdir'
# показ файлов в цвете
alias ls='ls -F --color=auto'
# разукрашиваем некоторые команды с помощью grc
[[ -f /usr/bin/grc ]] && {
alias ping="grc --colour=auto ping"
alias traceroute="grc --colour=auto traceroute"
alias make="grc --colour=auto make"
alias diff="grc --colour=auto diff"
alias cvs="grc --colour=auto cvs"
alias netstat="grc --colour=auto netstat"
}
# разукрашиваем логи с помощью grc
alias logc="grc cat"
alias logt="grc tail"
alias logh="grc head"
# запуск программ
# везде
alias -s {avi,mpeg,mpg,mov,m2v,flv}=mplayer
alias -s {zip,fb2}=fbless
alias -s txt=$PAGER
alias -s py=python
alias -s {ogg,mp3,wav,wma}=mplayer
# в иксах
alias -s {xls,doc,,rtf,ppt,odt,sxw}=soffice
alias -s {png,gif,jpg,jpeg}=feh
alias -s {pdf,djvu}=evince
# без иксов
[[ -z $DISPLAY ]] && {
alias -s {odt,doc,sxw,xls,doc,rtf}=catdoc
alias -s {png,gif,jpg,jpeg}="fbi -a"
alias -s {pdf,djvu}=evince
}
# html сам пусть соображает чё запускать
autoload -U pick-web-browser
alias -s {html,htm}=pick-web-browser
# глобальные алиасы
alias -g H="| head"
alias -g T="| tail"
alias -g G="| grep"
alias -g L="| less"
alias -g M="| most"
alias -g B="&|"
alias -g HL="--help"
alias -g LL="2>&1 | less"
alias -g CA="2>&1 | cat -A"
alias -g NE="2> /dev/null"
alias -g NUL="> /dev/null 2>&1"
конвертим вывод в utf8, а то достало
alias -g KU="| iconv -c -f koi8r -t utf8"
alias -g CU="| iconv -c -f cp1251 -t utf8"
ну и обратно тоже
alias -g UK="| iconv -c -f utf8 -t koi8r"
alias -g UC="| iconv -c -f utf8 -t cp1251"
# куча алиасов
# sudo
alias spacman="sudo pacman"
alias pstop="sudo pppoe-stop"
alias pstart="sudo pppoe-start"
alias halt="sudo halt"
alias reboot="sudo reboot"
alias gparted="sudo gparted"
# родной скрин
alias screen="screen -DR"
# ну так привычнее :)
# lastfm
alias shell-fm="shell-fm lastfm://user/muhas"
# список удаленных файлов с NTFS, FAT, UFS1/2, FFS, Ext2 и Ext3
# пакет sleuthkit, утилита icat для восстановления
Выкладываю свой zshrc. Немного причесал. С комментариями оказалось 377 строк, без комментариев около ста шестидесяти. Как-то он у меня постоянно растет и изменяется, в общем у меня это единственный конфиг который я допиливаю (добавляю функции и алиасы) для удобства. Все никак не могу придумать нормальный FMMODE, поэтому кусок касающийся его и не привожу. Думаю как небольшой хелп по настройке zsh этот конфиг сойдет.
# загружаем дефолтный профиль оболочки
# Настраиваем безполезные клавиши плюс бекспей
# алиас ибо на некоторых машинах нихера чё-то без алиаса на загружается
# в новых версях пути поменялись, после вызова zkbd пишет новые,
# просто у мну старые файлы до сих пор валяются и работают
# PageUp PageDown(в арче лоханулись, забыли прописать)
# тут немного всякой хери, смысл которой я сам не особо понимаю
# Use hard limits, except for a smaller stack and no core dumps
# Установка атрибутов доступа для вновь создаваемых файлов
# Shell functions
# Autoload zsh modules when they are referenced
# Completions
# менюшку нам для астокомплита
# различные опцие шела
# Позволяем разворачивать сокращенный ввод, к примеру cd /u/sh в /usr/share
# файл истории команд
# Число команд, сохраняемых в HISTFILE
# Дополнение файла истории
# Игнорировать все повторения команд
# Игнорировать лишние пробелы
# не пищать при дополнении или ошибках
# если набрали путь к директории без комманды CD, то перейти
# исправлять неверно набранные комманды
# zsh будет обращаться с пробелами так же, как и bash
# последние комманды в начале файла и не хранить дубликаты
# ещё всякая херь про истоию
# Установка и снятие различных опций шелла
# Не считать Control+C за выход из оболочки
# автоматическое удаление одинакового из этого массива
# загружаем список цветов
# Установка PROMT
# левый
# правый
# %(?,%{\e[0;32m%}:%)%{\e[0m%},%{\e[0;31m%}:(%{\e[0m%}
# когда всё гуд хороший смайлик, когда ошибка то грусный, ну и цветные ясен фиг
# вопрос на автокоррекцию
# симпотное добавления для kill
# заголовки и прочее.
# экранируем спецсимволы в url, например &, ?, ~ и так далее
# мои хоткеи
# дополнение по истории, ^X^Z включить ^Z выключить
# peжuм нaвuгaцuu в cтuлe emacs
# режим редактирования команды, вызывает для этого то что в $EDITOR
# Вызов редактора для редактирования строки ввода (хоткей в стиле emacs)
# bindkey -M vicmd v edit-command-line для командного режима vi
завершить слово команду
вызов диалога удаления файлов в папке
# куда же мы без калькулятора
# мои функции
# создать директорию и перейти в нее
# если текущая директория пустая, то удалить ее и перейти в родительскую директорию
# быстрое переименование
# распаковка архива
# упаковка в архив
# мой cd
# mp3 в нормальную кодировку
# конвертируем всякую дурь
# top по имени процесса, правда только по полному
# простой калькулятор
# мой айпишник
# великий рандом для перемешивания строк в файле
# копипаст в консоли
# переменные окружения и прочая чушь
# перенаправляем
оформим подсветку в grep
# если стоит most то заюзаем в качестве $PAGER
# редактор по дефолту
# пути где искать бинарники
# ООо и русские имена файлов
# забыл зачем ставил
разукрашиваем ls и автодополнение
# значение цветов #30 черный текст #40 черный фон
00 восстановление цвета по умолчанию #31 красный текст #41 красный фон
01 включить яркие цвета #32 зеленый текст #42 зеленый фон
04 подчеркнутый текст #33 желтый (или коричневый) текст #43 желтый (или коричневый) фон
05 мигающий текст #34 синий текст #44 синий фон
# ну или color юзать #35 фиолетовый текст #45 фиолетовый фон
# #36 cyan текст #46 cyan фон
# алиасы #37 белый (или серый) текст #47 белый (или серый) фон
# цветной grep
# более человекочитаемые df и du
# переименование-перемещение c пogтвepжgeнueм без коррекции
# рекурсивное копирование с подтверждением без коррекции
# удаление с подтверждением без коррекции
# принудимтельное удаление без коррекции
# принудительное рекурсивное удаление без коррекции
# создание каталогов без коррекции
# показ файлов в цвете
# разукрашиваем некоторые команды с помощью grc
# разукрашиваем логи с помощью grc
# запуск программ
# везде
# в иксах
# без иксов
# html сам пусть соображает чё запускать
# глобальные алиасы
конвертим вывод в utf8, а то достало
ну и обратно тоже
# куча алиасов
# sudo
# родной скрин
# ну так привычнее :)
# lastfm
# список удаленных файлов с NTFS, FAT, UFS1/2, FFS, Ext2 и Ext3
# пакет sleuthkit, утилита icat для восстановления
# хитрожопые алиасы
# пишем диски
# nrg2iso
# ls -l с цифровым видом прав
# показываев дерево директорий
# grep по ps aux
# удаляем пустые строки и комментарии
# создаем пароль из 6символов
# команды при запуске zsh
# фортунки с лора, без них скучно =) http://muhas.ru/?p=55