24 ноября, 2009

Trip’n’tricks (2)

Еще триксы от журнала 

Shell

Модификаторы имен файлов в ZSH (пример: STRING=»a/b/c»; echo «$STRING:модификатор»):

  • :h — начальный каталог (аналог команды dirname);
  • :t — имя файла (аналог команды basename);
  • :e – расширение;
  • :r — удалить расширение;
  • :l — конвертировать в строчные буквы;
  • :u — конвертировать в прописные буквы.

X Window

Включить поддержку колесика мыши (добавить в секцию InputDevice файла /etc/X11/xorg.conf):

Option «ZAxisMapping» «4 5»

Разрешить запуск X-сервера без мыши (добавить в секцию ServerFlags):

Option «AllowMouseOpenFail» «true»

Копирование и вставка из командной строки:

$ cat file | xclip

$ xclip -o

Циклическое переключение разрешения экрана:

Ctrl+Alt+’+’

Ctrl+Alt+’-‘

X-сервер в окне X-сервера:

$ Xnest -ac -geometry 1024×768 :1 &

Сетевой доступ к X-серверу (192.168.3.3 — X-клиент, на нем исполняются программы; 192.168.3.1 — X-сервер, отрисовывает картинку):

  • Открываем доступ:

[server]# xhost +192.168.3.3

[client]$ export DISPLAY=192.168.3.1:0.0

Второй графический сеанс на локальной машине:

$ startx — :1

Виртуальные файловые системы Konqueror:

  • audiocd:/ — аудио CD;
  • fish:/ — SSH;
  • ftp:/ — FTP;
  • http:/ — HTTP;
  • imap:/ — IMAP;
  • info:/ — страницы info;
  • ldap:/ — каталоги LDAP;
  • man:/ — man-страницы;
  • nntp:/ — NNTP;
  • pop3:/ — POP3;
  • print:/ — система печати;
  • rapip:/ — подключение к КПК;
  • sftp:/ — SFTP;
  • slp:/ — Service Locator Protocol;
  • smb:/ — SMB (Samba);
  • ssh:/ — SSH (запускается Konsole);
  • vnc:/ — диалог подключения к VNC.

Замена оконного менеджера в KDE:

$ export KDEWM=»icewm»

Ускорение KDE путем отключения поддержки IPv6:

$ export KDE_NO_IPV6=TRUE

Multimedia

Запись интернет-радио:

$ mplayer http://www.host.ru:8128 -dumpstream \

-dumpfile music.mp3 -vc dummy -vo null

Vim

Убираем из окна gvim все ненужное (вроде панели инструментов) и включаем меню, вызываемое нажатием второй кнопки мыши:

:set guioptions=acmgrL

:set mousemodel=popup

Включаем «фолдинг» (все строки, находящиеся между «{{{» и «}}}», будут автоматически свернуты):

:set foldmethod=marker

:set foldmarker={{{,}}}

Делаем работу с закладками (табами) более удобной (<F11> — предыдущий таб, <F12> — следующий):

:map <F11> :tabprevious<CR>

:map <F12> :tabnext<CR>

Просмотр содержимого ftp-ресурса:

$ vim ftp://ftp@host.ru/pub

Редактировать файл по протоколу scp:

$ vim scp://user@host.ru/.vimrc

Редактировать файл по протоколу sftp:

$ vim sftp://user@host.ru/.vimrc

Mutt

Учим mutt показывать появление новых писем в ящике флагом ‘N’:

mailboxes `echo ~/Mail/*`

Используем различные методы сортировки для разных ящиков (содержимое ящика Inbox сортируется по датам, всех остальных — по тредам):

folder-hook . ‘set sort=threads’

folder-hook Inbox ‘set sort=date-received’

Screen

Отключаем приветствие:

startup_message off

Настраиваем статусную строку (время дата юзер:хост [ открытые окна ]):

caption splitonly «%{wb} %=%n %t «

hardstatus lastline «%{+b wk} %c %D %d %M %Y %=[ %w ] «

Вешаем на клавиши запуск программ (нажимать следует в сочетании с <Ctrl>):

bind ‘q’ screen mc

bind ‘w’ screen mutt

bind ‘e’ screen elinks

Клавиши <F1> и <F2> для навигации по окнам:

bindkey -k F1 prev

bindkey -k F2 next

System

Включение поддержки высоких консольных разрешений во FreeBSD:

# cd /usr/src

# echo «options VESA\noptions SC_PIXEL_MODE» >> sys/i386/conf/GENERIC

# make kernel

Misc

Создание локали (на примере cp1251):

# localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

Очень простой способ бэкапа домашнего каталога с исключением некритичных каталогов:

$ ARCHIVE=»~/tmp/backup.tar.bz2″

$ NO_DIRS=$HOME’/(music|image|video)’

$ find $HOME | egrep -v -e $NO_DIRS | tar -c — | bzip2 -c > $ARCHIVE

Источник: www.xakep.ru

Trip’n’tricks

[announce]Приемы работы в Unix[/announce]

X Window

Включить сглаживание шрифтов в 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

Выяснить, какими системными вызовами пользуется программа:
$ strace program

Привязка команд к определенным типам файлов (добавить строки в ~/.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

Источник: www.xakep.ru