Tips'n'tricks юниксоида Евгений «j1m» Зобнин Хакер, номер #097, стр. 127 (j1m@list.ru) Это очередной выпуск «Tips'n'Triks» и очередная подборка полезных советов по использованию UNIX. Не отклоняясь от курса, мы продолжаем двигаться по направлению к эффективному использованию командной строки и доводить внешний облик X Window до совершенства. Кроме того, этот выпуск охватывает множество интересных особенностей редактора Vim. Особо хочу обратить внимание владельцев материнок на чипсете nForce2, столкнувшихся с проблемой зависания FreeBSD. В разделе «Misc» они найдут рецепт лечения этой болезни. X Window Сменить тему GTK-приложений: $ echo "include \"/путь/до/каталога/с/темой/gtkrc\"" >> .gtkrc Сменить тему QT-приложений: $ qtconfig Включить сглаживание шрифтов в java-приложениях: $ java -Dswing.aatext=true -jar program.jar Снять скриншот, не используя сторонних программ: $ xwd -root -out screenshot.xwd Shell Работа с историей (bash и zsh): !! - выполнить последнюю команду; !N - выполнить команду номер N в истории; !-N - выполнить команду номер N в истории с конца; !строка - выполнить команду, начинающуюся со строки. Отменить последнее действие: Ctrl+- Перейти к концу слова: Ctrl+f Перейти к началу слова: Ctrl+b Уничтожить текст до конца строки: Ctrl+k Уничтожить текст до конца слова: Esc+d Уничтожить текст до начала слова: Ctrl+w Восстановить уничтоженный текст: Ctrl+y Прочитать файл инициализации: Ctrl+x Ctrl+r Выполнить команду только в том случае, если она присутствует в системе: $ test -x /usr/bin/mutt && mutt Midnight Commander Добавить каталог в hotlist: Ctrl+x h Диалог перехода в другой каталог: Esc+c Скопировать имя выделенного файла в командную строку: Esc+Enter Скопировать имена выделенных файлов в командную строку: Ctrl+x t Скопировать имя текущего каталога в командную строку: Ctrl+x p Автодополнение в командной строке: Esc+Tab Показать информацию о файле во второй панели: Ctrl+x i Показать содержимое файла во второй панели: Ctrl+x q Vim Метки: mX - установить метку X; 'X - вернуться к метке X; '. - вернуться к последней измененной строке. Макросы: qX - запись макроса X; @X - воспроизведение макроса X; @@ - повтор макроса; число@@ - повтор макроса несколько раз; Полезные мелочи: K - показать man-страницу для слова под курсором; /K - показать man-страницу в отдельном окне vim; guu - перевести строку в нижний регистр; gUU - перевести строку в верхний регистр; */# - найти слово под курсором (вперед/назад); >>/<< - сдвинуть табулятор (вперед/назад); O/o - открыть новую строку (выше/ниже текущей). Увеличить/уменьшить число под курсором: Ctrl+a/Ctrl+x Выполнение внешней команды: :!date Выполнение внешней команды с записью результата в редактируемый файл: :r !date Конвертирование переводов строк из стиля DOS (/r/n) в стиль UNIX (/n): :set fileformat=unix :w Обратная процедура: :set fileformat=dos :w Показать ascii- и hex-коды символа: :ga Net Скачать все файлы, перечисленные в списке (записи должны быть такими: http://www.host.org/doc.pdf): $ wget -i file.txt Продолжить закачку файла с прерванного места: $ wget -c www.host.org/doc.pdf Создать локальное зеркало сайта: $ wget -r -l inf -k -p www.host.org Misc Выяснить, какими системными вызовами пользуется программа: Linux: $ strace program FreeBSD: $ truss program Борьба с зависаниями FreeBSD 6 на чипсетах nForce2 (в 6.2 проблема устранена): $ echo "hint.apic.0.disabled=1" >> /boot/loader.conf Сборка программы в 2 потока (для многоядерных процессоров): $ make -j2 Привязка команд к определенным типам файлов (добавить строки в ~/.mailcap): text/html; opera %s >/dev/null 2>&1 application/pdf; xpdf %s > /dev/null 2>&1 application/msword; ooffice %s > /dev/null 2>&1 image/*; qiv %s >/dev/null 2>&1 |