Mac OS X: первые впечателения, кнопки Home и End

С компьютерами дружу давно, с 1994 года. Начинал с MS-DOS 6.22, помню DR-DOS 7.0, Windows 3.0 и переход на 3.11 для рабочих групп, с настройкой локальной сети.
В принципе, в той или иной мере знаком с большинством популярных ОС, игрался даже с IBM OS/2 и немного с Solaris.
Честно скажу, самая любимая - GNU/Linux. Семейство этих операционных систем известно невероятной гибкостью и свободой - здесь ты управляешь компьютером, а не он тобой.
Правда, иногда эта свобода (и бесплатность) выходят боком, например при поддержке железа производителями компьюеторв. К примеру, на прошлом ноутбуке Asus n53sv ни в какую не хотел работать nVidia Optimus (это когда 2 видеокарты и более мощная включается только в играх и фильмах).
Я на полном серьезе считаю, что GNU/Linux для web-программиста лучший выбор. К сожалению, когда приходится постоянно дружить железо своего ноута с ОС, терпеть шум, температуру и жить у розетки - ни о какой нормальной работе говорить нельзя.
Поэтому некоторое время назад я приобрёл новый рабочий инструмент - MacBook Pro Retina Mid 2012. Хорошее железо, экран, батарейка и UNIX-подобный Darwin.

Первые впечатления

Поначалу, конечно непривычно. Очень непривычно.
Тупой файловый менеджер Finder, который не позволяет создавать файлы и не умеет показывать директории сверху. Регистронезависимая файловая система, как у Windows, которая путает привыкшего к GNU/Linux человека
Но самое главное, это непривычные комбинации кнопок, некоторые из которых нельзя поменять (прощай Alt+Shift), и недружественное отношение к моей любимой клавиатуре Logitech k800.
Говорят, раньше еще и раскладку нужно было свою устанавливать, иначе кнопочки не то печатали. Внимание! Заметка сильно устарела. В последних версиях OS X почти всё делается через системные настройки.
Делать нечего - это чужой монастырь, тут со своими правилами никак. Mac OS развивается очень давно, мои старые привычки ей совершенно не указ.
Разучил новые хоткеи, купил TotalFinder, который позволил мне более-менее работать с жестким диском и, наконец, настроил клавиатуру.

Клавиатура

Первым делом, нужно установить раскладку "Русская ПК". Именно "ПК", а не обычную. Тогда на кнопке 6 у вас будет двоеточие, а не запятая, на кнопке 7 вопрос, а не точка и т.д.
Затем надо разобраться с кнопками Alt и Cmd. Если кто не знает, на компьютерах Apple нет привычной кнопки с флажком Windows. Вместо неё здесь своя кнопка Cmd, да еще и поменянная местом с Alt.
Именно так устроено на родной клавиатуре, и именно так рботают хоткеи, которых просто огромное количество на все случаи жизни, причем с использованием всех трёх модификатором: Cmd, Ctrl и Alt.
Комбинации менять бессмысленно, привыкнуть гораздо проще, тем более со временем понимаешь, что становится только удобнее. Например, Ctrl+R для обновления страницы в браузере вместо F5. Или Cmd+Space для смены языка, вместо Alt+Shift.
Честного говоря, после этого работать на чужой машине с Windows невозможно - настолько все неудобно. Особенно, когда узнаешь, что можно назначить свои комбинации на любые пункты меню в любой программе!
Поэтому, я сжег мосты и поменял кнопки Alt и Cmd на клавиатуре физически, после того как настроил их работу через DoubleCommand, чтобы они функционировали согласно новому месту.
Жизнь налаживается. Благодаря волшебному DoubleCommand, даже Home и End заработали как следует везде, кроме консоли.
К сожалению, без консоли я как без рук, поэтому пришлось разбираться дальше.

Home и End

Так уже исторически сложилось, что в Mac Os кнопки Home и End переносят курсор не в начало и конец строки, а в начало и конец документа. Почему - мне не ведомо, но так есть.
Очень хорошо, что DoubleCommand позволяет привести это поведение к более привычному, после чего можно работать в любимом редакторе. Но в консоле нажатия этих клавиш игнорируется.
И вот какой способ лечения я нашел: 1. Устанавливаем бесплатный iTerm22. Настраиваем его по вкусу. 3. Переходим в профили, там управление клавишами. 4. Настраиваем кнопки cmd← и cmd→ (это и есть наши home и end после включения опции в DoubleCommand) как на картинке -
То есть, задаем Esc последовательность + OH и OF. 5. iTerm2 долен ругнуться, что эти кнопки уже заняты его глобальными комбинациями, поэтому надо согласиться их перезаписать. 6. А потом заходим в основную вкладку "Keys" и убираем эти комбинации там, чтобы не мешало.
Теперь Home и End работают нормально в чистой консоли. А при редактировании документов в Midnight Commander - нет!
Тогда мы указывает MC напрямую, какие кнопки у нас Home и End - для этого нужно зайти к нему в настройки и научить понимать эти клавиши: -
В родном Терминале мне не удалось настроить Home и End по той причине, что после включения для них опции "Like PC" в DoubleCommand, эти клавиши шлют последовательность символов cmd← и cmd→, а комбинации с cmd Терминал не понимает. Ну, просто нет такой опции при назначении клавиши.
В любом случае, iTerm2 мне нравится гораздо больше. Если вдруг, что-то пошло не так и кнопки не заработали, попробуйте следующие комбинации: - Ctrl+Home и Ctrl+End
  • Ctrl+a и Ctrl+e
  • ←Alt и Alt→ (это для родного приложения "Терминал")
После этого я заметил только один баг - в MC не работала комбинация Alt+Enter, которая копирует имя файла в консоль. Для её активации нужно в настройках кнопок отметить "Left option key acts as:" +ESC (см. скриншот выше). Вот теперь всё!

Заключение

На данный момент я полностью настроил свой Mac, разобрался со всеми шороховатостями, которые меня не устраивали и очень доволен его работой.
Довольно лёгкий, почти не греется, батарейка держит до 7ми часов, офигенный металлический корпус. Настроил на нём Nginx + php5-fpm + mySql, PhpStorm + Git и могу программировать в своё удовольствие и без интернета.
Работает даже бекап TimeMachine на домашний сервер с GNU/Linux.
Конечно, иногда не хватает теплой ламповой Ubuntu с её замечательным менеджером пакетов и бездонными репозиториями, но, по совокупности плюсов и минусов, MacBook для моей работы подходит как нельзя лучше.