Pull to refresh
0
0
Dmitry Gorbik @enl

User

Send message
pcduino это какой-то оверкилл для такой простой задачи.
Насчет «vim не сможет никогда» это очень смелое заявление. Расширение возможностей вима сейчас упирается лишь в ограниченность его текстового интерфейса и не самую лучшую поддержку многопоточности для плагинов. Последнее лечится банальными патчами для MacVim. (Если вкратце, нет возможности отрисовать интерфейс из потока, принадлежащего плагину, так как это должно происходить в основном потоке). Для своих проектов использую самописный плагин, использующий clang, который умеет много из того, что умеет сам xcode, например.
Поясню свою точку зрения. Большинство возможностей вима это кирпичики, из которых можно построить практически всё, что угодно. И в данном случае я говорю не о количестве команд, а о ситуациях, в которых используются те возможности вима, которых (пока еще) нет в vintage. И многими нелюбимый vimscript является одним из тех же кирпичиков. Да, он не очень элегантный, но привычный и выстроен на базе командного режима вима. Я уверен, что большинство вещей можно реализовать на python для sublime, но мы говорим сейчас именно о совместимости с вимом.
Чего лично мне не хватает (судя по sublime 2, в третьем ситуация наверняка лучше):

— Большинства ex команд, начиная с простейших вроде ":reg", заканчивая более сложными, специфическими для vimscript.
— Jumplist (в sublime 3 что-то подобное появилось)
— Text objects. Часть этого есть в sublime. Но в виме гораздо проще добавить свои, а это самое нужное. Я часто использую их для навигации по методам/классам для разных языков.
— Хоткеев в insert-mode вроде c-r, c-o и прочих (удобно в совокупности с '.'). Например, заменить несколько слов на конкретное: yiw, чтобы скопировать слово, на которое заменяем. Далее наводим курсор на слово, которое заменяем ciw<c-r>0. После этого можно продолжать выполнять замены наводя курсор на нужные слова и используя '.' для повторения предыдущей команды. И на самом деле у этого масса применений.
— Buffers, splits
— Undo/Redo. Vim хранит все изменения в виде дерева, которое можно визуализировать с помощью плагина Gundo. Использую каждый день.
— Foldings, особенно возможности их кастомизировать как угодно, например, использовать свою функцию для определения уровня вложенности или изменить внешний вид.
— Взрослой подсветки синтаксиса. Sublime унаследовал от TextMate довольно слабую подсветку синтаксиса. Хотя в последнее время подсветкой синтаксиса я не пользуюсь (кроме изменения цвета комментариев).
— Block selection
— vimdiff, привык использовать его для быстрого отката изменений, особенно в совокупности с плагинами вроде vim-fugitive.
— Команды '.' для повторения последней операции. В упрощенном виде есть в sublime, но не поддерживает увеличение номера регистра, если он был указан в сохранённой команде.
— Вимовской разновидности регулярных выражений. Я не знаю, какие регулярки использует саблайм, но желания выяснять, как переписать мои выражения, не было. Их довольно много в моих скриптах и простейшие выглядят как \%(implementation \|interface \)\@<=[[:alnum:]]*. Как видно, синтаксис специфический.
— Меток. Базовая функциональность реализована в sublime, но при выделении метку использовать почему-то нельзя. Спрашивается, зачем тогда нужны метки, если это самый распространенный случай.
— Команды g. Например, довольно часто использую gv для восстановления предыдущего выделения, gE для перехода к концу предыдущего слова (хотя имитируется с помощью BBE), gq для форматирования текста.
— Многих мелких команд вроде c-a, c-x, выделения последней вставки для форматирования и т.д. Для многих вещей у меня написаны скрипты, их все надо портировать.

Понятное дело, что если много завязано на vim, надо его и использовать. Из того, чего нет в виме, но есть в саблайме, мне очень нравится плавная прокрутка. Этого недостаточно, чтобы пожертвовать тем, что я описал.
Перешёл с вима на саблайм, потом обратно на вим. Первый переход был довольно комфортным, но во время второго я понял, что не использовал 95% функциональности вима, которой в vintage попросту нет. Думаю, на саблайм так же безболезненно перейти, как первый раз, теперь не смогу.
Вы считаете, что в Самсунге менее талантливые инженеры? А google вот отбирает сотрудников исключительно по сообразительности, остальные качества вообще практически не учитываются. Я к тому, что вектор развития всё равно задают совершенно другие люди. А если он уже у компании есть, то вряд ли поменяется.
Installous — ай-ай-ай!
Объясните человеку тогда, что именно из контекста он не понял и расскажите почему такое приведение работает :)
А вообще надо заворачивать такие вещи в NSValue. В документации к property colors написано, что принимает объект типа NSArray, состоящий из CGColorRef, поэтому в данном случае это корректно. Приведение к id нужно исключительно для скрытия ошибок компиляции :) Как устроено оно внутри, я могу только догадываться.
Что значит «нормальных» языков? Objective С не только синтаксисом отличается, если вы не заметили :)
WebKit был в Apple внутренним форком KHTML. Позже его опять открыли.
Пробовать надо было iPhone 4 :) (Просто все почему-то слепо щупают 3g двухлетней давности).
Мне тоже показалось это странным. В WebKit, например, над патчем можно работать несколько дней, а он будет однострочным или двухстрочным в результате :)
Ну, линии не перегибают например. Перегибают палки и переходят границы.
Мы старались :-)
Как пользователь, я предпочитаю проприетарное по, оно сделано добротнее. Хотя это не касается серверов и узкоспециализированных/базовых программ. Сами же и привели пример с Maya и blender.
Вообще мне не нравится этот спор ни о чем. Я знаю кучу отличных программистов, которые постоянно работают в gnome и используют xchat и pidgin вместо irssi, при этом виртуозно работают в консоли. Как я говорил, я сам давно использовал micq, mutt и всё что подобается настоящему гику в голой консоли с frame buffer. Побаловался и хватит.
Какую работу автоматизировать? Плейлисты создавать? В IM рассылки одной командой составлять? У меня всё автоматизировано до разумного уровня.
Телефоны и планшетники вспомнил потому что не всегда применима клавиатура. Мне приятнее ползунок громкости перетащить с большой точностью, чем подбирать нужное значение в командной строке.
Не портируется. Но вопрос не в портируемости, это скорее вопрос личных предпочтений, только свободный софт использовать, или любой.
Читать man для каждой программы как-то надоедает. А память не резиновая. Помимо десктопов есть ещё телефоны и планшетники.
Ничего не предлагаю. Я считаю, что ObjC + cocoa это идеальный баланс производительности/динамики/удобства. И если писать фреймворки, то примерно на языке такого же уровня, как и objc.
Это я могу понять. Я люблю консоль, всякие костыли вроде mc не перевариваю. Использую часто sed, awk и остальной комплект программ :) Но музыкой желания управлять нет из консоли.
Да и не всегда это возможно. Иногда и клавиатуры нет :)
С этого и надо было начинать. Есть разновидность людей, которые всё любят делать в консоли. Через это я прошёл, когда мне было 14 лет. :)
Да, я обожаю vim и ненавижу emacs (по религиозным причинам, конечно же)
1
23 ...

Information

Rating
Does not participate
Location
Cupertino, California, США
Registered
Activity