November 12, 2012

Лайфхак в OS X для терминальщиков

Если вы пользуетесь терминалом (консолью) в OS X то в некоторых местах вам вероятно надоело нажимать лишние кнопки, например Shift чтобы начать писать названия папок и файлов начинающихся с большой буквы либо писать больше когда хотите попасть в ~/Library/Application Support/.

Во-первых добавляем следующую строку в ~/.inputrc:
FIGNORE=".o:~:Application Scripts"
это заставит игнорировать папку Application Scripts когда вы хотите набрать Applications Support, это значит достаточно набрать ~/Library/Ap и нажать таб. Сюда же можно добавить и другие директории на ваше усмотрение.

Во-вторых добавляем туда же следующие строки строку
set completion-ignore-case on
set mark-symlinked-directories on
set show-all-if-ambiguous on
что позволит игнорировать регистр при наборе названия файла или папки (достаточно cd ~/li⇥ вместо cd ~/Li⇥), автоматически добавит слеш если symlink залинкован на директорию и подскажет возможные варианты вместо тупого бибикания если по нажатию на ⇥ есть несколько вариантов автодополнения.

Happy terminaling!

З.Ы. Вы все еще пользуетесь Terminal? Тогда iTerm2 идет к вам.

2 comments:

  1. Пользуюсь родным Terminal, iTerm2 ко мне еще не пришел :-)

    FIGNORE=".o:~:Application Scripts"
    в $HOME/.inputrc у меня почему-то не срабатывает. Более того,
    приводило к странным глюкам в терминале: не мог напечатать
    некоторые буквы, например 'e' или 'F'.

    export FIGNORE=".o:~:Application Scripts"
    в ~/.inputrc тоже не помог.

    Если верить VIM-у, то и не должно работать: в .profile он эти дела красиво разукрашивает, а в .inputrc - нет...


    Засунул
    export FIGNORE=".o:~:Application Scripts"
    в ~/.profile, там вроде работает.

    set completion-ignore-case on
    в ~/.inputrc работает (и разукрашивается VIM-ом),
    set show-all-if-ambiguous on
    - не вижу эффекта, но может не так понял.

    ReplyDelete
  2. show-all-if-ambiguous подсказывает как в стандартном линуксе, набери одну букву и нажми таб 2 раза.

    ReplyDelete