Подтвердить что ты не робот

Какая точка плагина viEmu для Visual Studio?

Это может показаться немного провокационным, но на самом деле это реальный вопрос. Не стесняйтесь редактировать, если вам не нравится тон.

Теперь, насколько я понимаю vi из моего короткого опыта с ним, как 10 лет назад, это примитивный текстовый редактор с одной редактируемой строкой в ​​нижней части экрана, созданной до того, как были изобретены полосы прокрутки, с некоторыми сумасшедшими ярлыками для преодоления это ограничение.

Может кто-нибудь объяснить мне, как с ним можно быть более продуктивным, чем с, скажем, обычным редактором VS.NET? Более того, почему кто-то хочет использовать viEmu, который предположительно превращает вашу VS.NET в древний vi?

Я готов попробовать, но мне нужна мотивация для преодоления кривой обучения.

4b9b3361

Ответ 1

На самой странице viEmu есть довольно хорошая статья, которая может помочь ответить на ваш вопрос: Почему, о, ПОЧЕМУ, эти #? @! орехи используют vi?

Я провел последние пару месяцев, пытаясь научить себя использовать vim "правильно", и теперь я с трудом могу использовать других редакторов, потому что они кажутся недостаточно сильными и неуклюжими. Для случайного примера предположим, что у вас есть строка кода, которая выглядит так:

$welcomeMessage = "Welcome to SiteName!"; // shows at the top of homepage

В обычном редакторе, как бы вы изменили строку? Вам, вероятно, придется дотянуться, схватить мышью и тщательно выбрать ее, или вы переместите курсор внутри первой кавычки и удерживайте Shift и стрелку вправо, пока не дойдете до закрывающей кавычки.

В vim, с моим курсором где-нибудь между кавычками, я набираю ci", и он стирает все внутри кавычек и помещает меня в режим insert, поэтому я могу ввести новое значение Я хочу. Мои руки даже не должны были перемещаться из моей обычной позиции ввода.

Есть так много таких вещей, я думаю, вам действительно нужно потратить время, используя редактор, чтобы понять, насколько он силен. Это очень медленно и трудно использовать вначале, поэтому многие люди стараются это на короткое время и думают: "Это глупо, все намного сложнее", но через какое-то время вы начинаете думать с точки зрения движений, все это начинает становиться автоматическим, и это намного, намного быстрее, чем использование "нормального" редактора. Как я уже сказал, я не могу вернуться.

Ответ 2

Это честно звучит так, будто вы никогда не видели, чтобы кто-то использовал Vi, который действительно владеет этим. Когда вы обычно используете Visual Studio, вы часто перемещаете свою руку на вашу мышь, выбираете опции, диалоги, классы и т.д.

С ViEmu ваша рука никогда не покидает клавиатуру. Вы компилируете, переключаете файлы, выделяете группы текста, фиксируете отступы, выполняете сложные движения по вашему коду и выполняете регулярные поисковые запросы в секундах. Для людей, которые являются быстрыми машинистами, это позволяет вам достичь скорости для задач, которые вы бы не смогли в противном случае.

Многие люди будут противостоять этому, говоря такие вещи, как "Большая часть моего времени разработки тратится на размышления. Дополнительная скорость, которую я получаю от использования таких инструментов, ничтожно мала".

Это не аргумент, на мой взгляд. Это правда, что для большинства крупных задач программирования вы тратите гораздо больше времени на планирование и мышление, тогда вы действительно набрасываете код. Но это не означает, что возможность выразить себя через вашу IDE 2x быстрее не влияет на вашу производительность как программиста.

Ответ 3

У меня также возникли проблемы с пониманием того, почему люди выбирают vim в качестве своего редактора, хотя время от времени я использовал его, пока я, наконец, не получил его. Я думаю, что большинство объяснений "почему?" терпит неудачу, потому что они не могут показать пару важных моментов. Чтобы объяснить эти моменты, сначала вам нужно понять, что в vim вы манипулируете текстом, в основном находящимся в командном режиме. Т.е. по умолчанию ваши нажатия клавиш являются командами и обычно не вставляют текст, если только эти команды (например, a ppend, i nsert, c hange) не переключаются в режим вставки. Это позволяет легко перемещаться и редактировать текст, не касаясь мыши или не отрывая руки от "редактирования позы".

Теперь важными моментами являются:

  • Команды Vim делятся на существительные, глаголы и модификаторы.
  • Редактирование выполняется путем их объединения.

И это то, что дает vim силу. Чтобы рассказать об этом, вот несколько наиболее часто используемых команд:

  • Существительные: w ord, s entence, b блокировка, кавычки и фигурные скобки.
  • Глаголы: c изменить, i nsert, v isual, d elete
  • Модификаторы: i nside, a round, t ill

И чтобы показать, как вы можете их смешивать:

  • Хотите изменить слово? c w
  • То же самое, но курсор в середине слова? c a w
  • Изменить текст внутри кавычек? c i ", также изменить кавычки? c a "
  • Удалить тело функции? d i {
  • Удалить до первой запятой? d t ,
  • Удалить до второй запятой? d 2 t ,
  • Перейти к первой запятой? t ,
  • Выберите слово? v i w

Также обратите внимание, как все команды прекрасно переводятся на естественный язык:

  • d elete w ord
  • c hange i nside {

В vim, если вы изучаете новый глагол, существительное или модификатор, вы можете легко смешивать и сопоставлять то, что вы уже знаете. Таким образом, в основном, изучая только одно, вы узнаете, как делать много разных вещей.

Еще одна замечательная вещь: vim помнит, какие команды вы использовали, и вы можете повторить последовательность, просто нажав .. Для этого сообщения мне пришлось окружить много букв тегом <kbd> . Но я сделал это только один раз, а затем просто просмотрел каждую букву и нажал ..

И это в основном то, что вам нужно "понять", чтобы понять силу vim и стать передовым пользователем за одну ночь.

P.S. если вам не нравится vim, потому что он основан на консоли и нужен современный текстовый редактор, то я предлагаю заглянуть в редактор Sublime Text, который является отличным редактором, а также поддерживает режим vim.

P.S.2. Я также рекомендую сопоставить ключ Esc с j j и k k, что значительно упростит работу.

Ответ 4

Вы ошибаетесь в отношении "одной редактируемой строки в нижней части экрана". Весь текст в окне доступен для редактирования. И он выполняет прокрутку (все версии), а в случае gvim - полосы прокрутки.

Возможно, вы случайно поместили его в "ex mode". Это легко сделать и может ввести в заблуждение.

Ответ 5

Еще один ответ заставил меня подумать, что просмотр некоторых опытных редактирования с помощью vim будет довольно показательным, поэтому я выкопал это видео, показывая основные и более продвинутые движения во время кодирования. Этот человек может получить даже немного эффективный с помощью некоторых меток и т.д., Но он дает представление.

http://www.youtube.com/watch?v=FcpQ7koECgk&feature=related

Ответ 6

Если вам нужно вдохновение или хотите увидеть кого-то, кто действительно знает, что они делают с Vim, посмотрите Gary Bernhardt String Calculator Kata In Python, посмотрите на него! http://vimeo.com/8569257

Ответ 7

Я думаю, что у них есть длинный и приемлемый ответ на ваш вопрос о vEemu hompage:

Еще один более мощный пример: пусть возьмите команду "ce", которая состоит из "c" и "e". Команда c'hange удаляет диапазон, указанный следующей командой перемещения, а также переходит в режим вставки. Это то же самое, что и "d", но с тем отличием, что он входит в режим вставки, вместо того, чтобы оставаться в нормальном режиме. Благом, что текст, который вы вводите в следующем (коротком) сеансе ввода, также является частью команды. Итак, если вы делаете "ceHello > ", то вы заменяете от курсора до конца слова "Hello", а "." команда будет работать точно так же: замените до конца слова "Hello".

С: http://www.viemu.com/a-why-vi-vim.html

У меня есть viEmu, установленный ~ полгода назад. Но я должен сказать (может быть, без сильного опыта Linux), я никогда не использовал его. Слишком чужой, слишком далеко, слишком сложно.

Итак, IMHO viEmu это отличный технический и исторический вызов, но не более того для 95% разработчиков.

Ответ 8

В основном с Vi (или ViM) вы получаете быстрее, потому что вам не нужно прикасаться к мыши, а карта-карта улучшается (это означает стоимость обучения, но стоит усилий) для любых манипуляций с текстом в очень простой как только вы узнаете основы.

Топ-10 вещей, которые пользователь Vi должен знать о Vim

Ответ 9

У меня нет опыта работы с VS.Net, но я предполагаю, что он имеет те же функции, что и в любой другой среде IDE.

Я обнаружил, что изучение всех ключевых команд редактора в моей среде IDE было достаточной заменой для Vi. Такие вещи, как переименование, отступы, форматирование, перемещение линий и т.д.

Итак, я думаю, что главная победа будет для тех, кто уже знает, что Vi будет продуктивным, не имея необходимости изучать VS.Net.

Но опять же Vi обладает действительно эзотерическими, но мощными функциями, которые, вероятно, не могут быть сопоставлены стандартным редактором IDE.

Ответ 10

Я думаю, вы действительно должны дать Vim попробовать.
Если вы быстро попробовали Ви десять лет назад, я могу понять, что вы этого не ценили. На первый взгляд это не очень удобно. Фактически, его реальная сила раскрывается, когда вы начинаете чувствовать себя комфортно с движениями и начинаете делать это самостоятельно с настройкой. Когда Вим вам знаком, вы можете понять, почему он заслуживает изучения.

Ответ 11

Я фактически использую VS только для отладки в эти дни. Кодирование с помощью vim (real vim, not viemu) - это просто лучший опыт.

Теперь я не буду утверждать, что использование одного над другим имеет какое-то значение в производительности - ведь я трачу большую часть своего времени на то, чтобы выяснить, как решить проблему - ввод кода является легкой частью.