Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.4.239] |
|
Страницы: (32) « Первая ... 3 4 [5] 6 7 ... 31 32 ( Перейти к последнему сообщению ) |
Сообщ.
#61
,
|
|
|
Ну вот наверное и не стоит делать заявлений?
С незнающими vim очень забавно спорить - можно любую хрень утверждать -- всё-ровно проверить не смогут, ибо даже для примерного понимания его возможностей, нужно весьма неплохо разобраться с ним. |
Сообщ.
#62
,
|
|
|
Цитата negram @ Ну вот наверное и не стоит делать заявлений? Однако "знающие" очень ведомы эмоциями Как-то на хабре обсуждали Vim, я дай да ляпни "vim - неудобен, в одном режиме пищит, а во втором - все портит". Люто заминусовали! |
Сообщ.
#63
,
|
|
|
Цитата negram @ Ну вот наверное и не стоит делать заявлений? Т.е. писать "вим мощный инструмент" можно, а обратное - нет? Цитата negram @ С незнающими vim очень забавно спорить - можно любую хрень утверждать -- всё-ровно проверить не смогут, ибо даже для примерного понимания его возможностей, нужно весьма неплохо разобраться с ним. Ровно этот же аргумент можно применить зеркально - знающий vim может утверждать любую хрень, и её тоже не проверить. |
Сообщ.
#64
,
|
|
|
Цитата OpenGL @ Это дествительно мощный инструмент ты это либо знаешь и пользуешься, либо не знаешь, но зачем тогда что-то говорить? Т.е. писать "вим мощный инструмент" можно, а обратное - нет? получается такой разговор: - "вим мощный инструмент" - нет, IDE мощьный инструмент, а вим я не знаю Цитата OpenGL @ Это не зеркальный вариант, я именно это и сказал. Наверное, правильнее было бы (мне) написать "им можно любую хрень втирать". Я хотел прокомментировать контекстное дополнение и дебаг (и что там ещё было?), но поймал себя на мысли, что толку в этом будет немного Ровно этот же аргумент можно применить зеркально - знающий vim может утверждать любую хрень, и её тоже не проверить. |
Сообщ.
#65
,
|
|
|
OpenGL, ты загоняешься. Просто погугли типа "vim автодополнение", "vim рефакторинг", "vim отладка" ... ты удивишься, но все это есть. И часто предлагается не в одном варианте. Более того, став фанатом - можешь пилить сам.
В одно время я работал в конторе, в которой правились тексты нормативок. Пересадил всех на Far, по мере пожелалок написал около 15 уникальных для "исходного формата" плагинов (еще под Far 2.x). Я уверен, с vim'ом так же можно творить чудеса. |
Сообщ.
#66
,
|
|
|
Цитата OpenGL @ Это само-собой. Но как показывает моя практика мощный рефакторинг и контекстное автодополнение - не более, чем приятные плюшки, слабо влияющие на произодительность программиста.Вряд-ли допилено до состояния, близкому к таковым в IDEA. Слышал, что они даже в динамических языках а-ля js научились делать что-то похожее на контексно-зависимое автодополнение. О рефакторинге умнее чем "греп по всему коду" наверняка тоже можно мечтать. Что касается vim, то это настолько мощный инструмент, что для его настройки впору писать отдельную IDE По мне так, сей редактор слишком альтернативен. Я предпочитаю Sublime Text. |
Сообщ.
#67
,
|
|
|
Цитата JoeUser @ А такой есть?Пересадил всех на Far, по мере пожелалок написал около 15 уникальных для "исходного формата" плагинов (еще под Far 2.x). local strip = function(str) local i i = 1 while str:sub(i, i) == " " or str:sub(i, i) == "\t" do i = i + 1 end str = str:sub(i) i = -1 while str:sub(i, i) == " " or str:sub(i, i) == "\t" do i = i - 1 end str = str:sub(1, i) return str end local newLine = function() local F = far.Flags local ei = editor.GetInfo(nil); local x = 1 local y = ei.CurLine local curStr = editor.GetString(nil, y, 0).StringText while strip(curStr) == "" and y ~= 1 do y = y - 1 curStr = editor.GetString(nil, y, 0).StringText end while x <= #curStr do if curStr:sub(x, x) == " " or curStr:sub(x, x) == "\t" then x = x + 1 else break end -- if string.sub(curStr.StringText,x,1) == "\t" then x = ei.TabSize * ei.math.floor((x + ei.TabSize-1)/ei.TabSize) end end editor.UndoRedo(nil, F.EUR_BEGIN) editor.InsertString() if strip(editor.GetString(nil, ei.CurLine, 0).StringText) == "" then editor.SetString(nil, ei.CurLine, "") end editor.SetPosition(nil, ei.CurLine+1, x, -1, -1, -1, -1) curStr = strip(editor.GetString(nil, 0, 0).StringText) if #curStr ~= 0 then editor.SetString(nil, 0, string.rep(" ", x-1)..curStr) end editor.UndoRedo(nil, F.EUR_END) end local newTab = function() local F = far.Flags local ei = editor.GetInfo(nil); local x = ei.CurPos local y = ei.CurLine local curStr = "" while strip(curStr) == "" and y ~= 1 do y = y - 1 curStr = editor.GetString(nil, y, 0).StringText end while x <= #curStr do if curStr:sub(x, x) ~= " " and curStr:sub(x, x) ~= "\t" then x = x + 1 else break end end while x <= #curStr do if curStr:sub(x, x) == " " or curStr:sub(x, x) == "\t" then x = x + 1 else break end end if x > #curStr then x = (math.floor((ei.CurPos-1) / ei.TabSize) + 1) * ei.TabSize + 1 end local pos = ei.CurPos while pos < x do editor.UndoRedo(nil, F.EUR_BEGIN) local tmpPos = (math.floor((pos-1) / ei.TabSize) + 1) * ei.TabSize + 1 if tmpPos > x then tmpPos = x end editor.InsertText(nil, string.rep(" ", tmpPos-1 - pos+1)) editor.UndoRedo(nil, F.EUR_END) pos = tmpPos end end Macro { area="Editor"; key="Enter"; flags=""; description="Insert new line"; action = function() newLine() end; } Macro { area="Editor"; key="Tab"; flags=""; description="Insert new tab"; action = function() newTab() end; } Добавлено P.S. Это SmartTab на LUA |
Сообщ.
#68
,
|
|
|
Цитата negram @ Это дествительно мощный инструмент Я в курсе, что он мощный инструмент. Но автодополнения с пониманием контекста как в IDEA в нём нет. Рефакторинг? И что - он, например, будет переименовывать только один метод по всему проекту во всех классах, производных от данного, а не тупой Search&&Replace? И работает ли оно с каким-нибудь var из C#? Дебаг? Ну, допустим, есть. Банальнейшая задача - выделить текст во время отладки и посмотреть, что выполнение этого метода вернёт - сможет? Или опять какую-то четырёхбуквенную команду учить, а перед этим спрашивать на форуме, какой плагин это делает? И это самые простые вещи. Что-то менее тривиальное вроде отладки шейдеров в виме вообще не появится ещё лет десять, наверное. Цитата JoeUser @ росто погугли типа "vim автодополнение", "vim рефакторинг", "vim отладка" ... ты удивишься, но все это есть. См выше. Если так рассуждать, то у меня в sublime из коробки это есть. И даже отладка наверняка - с плагином. Но от этого IDE он не становится. Цитата JoeUser @ Пересадил всех на Far, по мере пожелалок написал около 15 уникальных для "исходного формата" плагинов (еще под Far 2.x). Я уверен, с vim'ом так же можно творить чудеса. Можно, конечно. Но это будет означать либо любовь чесать левое ухо правой пяткой, либо написание чего-либо относительно простого, где не требуются возможности IDE. |
Сообщ.
#69
,
|
|
|
Цитата OpenGL @ Но автодополнения с пониманием контекста как в IDEA в нём нет. Откуда такая уверенность? Цитата Но от этого IDE он не становится. А должен? Насколько нужен полноценный IDE для всех программистов? Как показывает практика люди разные и инструменты они выбирают, соответственно, разные. |
Сообщ.
#70
,
|
|
|
Цитата applegame @ Но как показывает моя практика мощный рефакторинг и контекстное автодополнение - не более, чем приятные плюшки, слабо влияющие на произодительность программиста. Вполне вероятно. А что твоя практика про удобный отладчик говорит? |
Сообщ.
#71
,
|
|
|
Цитата OpenGL @ А что твоя практика про удобный отладчик говорит? У меня вот почти на всех проектах если юнит-тесты пропускают что-то, то проявляются баги на объеме данных, на которых отладчики не очень хорошо работают. Разве что корки потом смотреть, но тут я с gdb могу вполне работать. Хотя я наверное от жизни отстал и есть нормальные инструменты... |
Сообщ.
#72
,
|
|
|
Цитата D_KEY @ Откуда такая уверенность? Пытался как-то примерно год назад понять, стоит ли водиться с вимом - понял, что многих привычных вещей (и в том числе автодополнения сильно умнее саблаймовского) нет, а плюсы вроде легковесности и возможности работы с консоли меня не интересуют. Цитата D_KEY @ А должен? Насколько нужен полноценный IDE для всех программистов? Для всех - не нужен. Добавлено Цитата D_KEY @ У меня вот почти на всех проектах если юнит-тесты пропускают что-то, то проявляются баги на объеме данных, на которых отладчики не очень хорошо работают. А у тебя тестами что ли всё покрыто? Потому что если нет, а ошибку искать надо, то без отладчика лично я вижу в качестве альтернативы только printf-ы. Но это же неудобно |
Сообщ.
#73
,
|
|
|
Цитата OpenGL @ Ага, расскажите мне про автодополнение с пониманием контекста в IDEA Но автодополнения с пониманием контекста как в IDEA в нём нет. * да, плагин к Scala установлен. Метод serialize() там есть, но эта ваша хвалёная IDE не видит вообще ни одного метода в closureSerializer Прикреплённая картинка
|
Сообщ.
#74
,
|
|
|
Цитата OpenGL @ Мне не нужен отладчик. Я предпочитаю юнит-тесты и дебаг-сообщения, но ЕМНИП, как раз с отладчиком и vim и Sublime Text хорошо дружат.А что твоя практика про удобный отладчик говорит? Насчет автодополнения наверняка есть что-то основанное на парсере clang-а. |
Сообщ.
#75
,
|
|
|
applegame а какие юнит-тесты юзаешь?
Добавлено я вот тоже хочу перейти от отладки к юнит-тестам |