Alexander Golovankov -> debian-russian@lists.debian.org  @ Fri, 14 Jan 2005 
10:25:07 +0300:

 AG> сразу трудно оценить.  Я предлагаю, просто каждому дать свои
 AG> небольшие примеры работы в шелле без использования MC. Думаю
 AG> несколько дополнительных писем мы сможем пережить. :)

Понимаешь, я не могу дать пример того, как я разгребаю файлопомойки в
zsh.  Ибо я их не делаю.

А сравнивать количество нажатий на клавиши для доступа к тому или иному
файлу я уже несколько забодался...  На задачах, отличных от разгребания
файлопомойки по нажатиям клавиш zsh выигрывает в 2-3 раза.

Но, пожалуй, да, пару приемов расскажу.

Если у тебя есть скрипт в $PATH, который тебе надо, скажем,
поредактировать, можно набрать vim =script.

После настройки bindkey '\ev' edit-command-line в .zshrc нажатие Esc-v
(а при настройке xterm в ресурсах XTerm*metaSendsEscape: true или в
консоли еще и при нажатии Alt-v) запускается редактор на командную
строку - это если тебе надо отредактировать ее сложнее, чем ты умеешь в
командной строке.

Кто тут говорил про то, что Ctrl-PgDn набрать проще, чем cd имя?  Он
может забыть про команду cd после настройки setopt auto_cd.  С setopt
auto_pushd каждый да разберется самостоятельно.

Ctrl-PgUp, действительно, в фаре набрать быстрее, чем даже ..<Enter>.
Ну так после
[[ -z "$terminfo[kpp]" ]] || bindkey -s "$terminfo[kpp]" "cd ..\015"
в том же .zshrc даже Ctrl нажимать не надо...

После настройки 
autoload -U compinit
compinit
zsh умеет дополнять не только имена файлов, как разгребало файлопомоек.
Он в курсе о семантике различных ключей и различных порядков параметров
у команд.  И скажем, не пытается дополнить как имя файла параметр
"регулярное выражение" у grep.  А apt-get install или apt-cache show
дополняет именем пакета. 

 AG> P.S. Тут на днях имел опыт, когда человек изучая linux по манам, уже
 AG> более полугода, не знал что в BASH можно пользоваться <TAB> :) Хотя при
 AG> этом неплохо писал скрипты на шелле. Вот так бывает. :)

Тогда еще один не-то-чтобы-пример.  1. В дистрибутивном /etc/bash.bashrc
строка . /etc/bash_completion за каким-то закомментирована.  2. И если у
тебя свой .bashrc, то системный автоматически не читается.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED]

Ответить