2

Я использовал vim в течение нескольких месяцев, это были отношения любовь / ненависть. Мне нравится концепция модального редактирования, и мне никогда не нужно убирать руки с клавиатуры. Проблема в том, что многие из этих ключей находятся в неудобных местах, и плагины легко конфликтуют друг с другом с вашим пользовательским файлом vimrc.

Я внес ряд изменений, которые кажутся мне более интуитивными, поэтому мне было интересно, теряю ли я какие-либо преимущества, не используя конфигурации по умолчанию? Кроме того, что Vi и Vim находятся повсюду в мире * nix (так что будет проще перемещаться между компьютерами с использованием настроек по умолчанию), есть ли какие-то другие преимущества, которые я теряю, внося кучу изменений в сопоставления клавиш?

3 ответа3

4

Мне нравится концепция модального редактирования, и мне никогда не нужно убирать руки с клавиатуры.

До перехода на Vim я использовал TextMate на 90% без мыши. Vim позволил мне перейти на 100%, но эти 10% едва заметны.

Проблема в том, что многие из них, кажется, находятся в неудобных местах

Нет, проблема в том, что вы сосредоточены на их физическом местоположении, а не на их значении. Если вы знаете раскладку клавиатуры, где клавиши не имеют значения; важна логическая связь между этими ключами. Но я признаю, что это может занять некоторое время. Я видел несколько графических шпаргалок, которые допускают непростительную ошибку, фактически показывая клавиатуру и привязывая команды к физическому расположению их клавиши. С такого рода представления , что это почти невозможно сделать чувство языка Vim в (потому что это язык).

(И, похоже, существует недостаток дизайна для плагинов: они легко конфликтуют друг с другом и с вашим собственным файлом vimrc).

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

Я переместил "hjkl" в "jkl;", я также переключаю направление перехода с <^ v> (который, по моему мнению, легче перейти с клавиш со стрелками)

hjkl или JKL jkl; имеет смысл только если:

а. ты сенсорный машинистка

б. ваша клавиатура не имеет клавиш со стрелками

с. у вас есть QWERTY клавиатура

Я пытался использовать hjkl когда я переключился, но я не нашел его лучше, чем клавиши со стрелками. Так как я не сенсорный машинистка и использую обычную клавиатуру AZERTY, я вернулся к клавишам со стрелками, которые я не использую так или иначе: Vim's wWEeBbfFtT/? и другие различные движения и текстовые объекты делают посимвольное и построчное движение (hjkl) шуткой.

Опять же, Mac OS X имеет множество мощных, но удивительно широко неизвестных ярлыков редактирования, которые, при их полном использовании, позволяют очень легко перемещаться по файлу без значительного посимвольного перемещения. Вот список ярлыков Какао, и у Windows, и у KDE/Gnome тоже есть свои. Переход от этой системы к крутым движениям и поискам Вима на удивление легко.

Перемещено: на <Tab> поскольку по умолчанию ничего не происходит.

Что вы имеете в виду? Вы нажимаете <Tab> чтобы вызвать командный режим? Если да, то как вы на самом деле вводите вкладку в режиме вставки?

Сопоставлено: для перехода к началу следующего слова (w) и J для перехода к началу предыдущего слова.

Опять же я не : обычно используется для вызова командного режима, то почему бы вы использовать его , чтобы перейти к следующему слову? И J привык к J oin-линиям, какая польза от того, чтобы он делал что-то еще? А что случилось с b eginning и w Орд?

Назначено <C-k> для перехода к началу файла и <C-l> для перехода к концу файла.

Опять же, G и gg слишком сложно печатать или их трудно запомнить?

Кроме того, поскольку я настраиваю, как это работает, это помогает мне помнить (я также веду записи, которые другим людям легко понять, что я делаю).

Я полностью согласен, настройка Vim мне очень помогла.

Теперь, когда я понял это, мне стало интересно, теряю ли я производительность, не используя конфигурации по умолчанию? Кроме того, что Vi и Vim находятся повсюду в мире * nix (так что будет проще перемещаться между компьютерами с использованием настроек по умолчанию), есть ли какие-то другие преимущества, которые я теряю, внося кучу изменений в сопоставления клавиш? Или рекомендуется, чтобы я сделал Vim более удобным для себя и настроил больше для конкретной ситуации?

Я пошел по тому же пути в начале. Переключаясь с TextMate, я решил сделать Vim клоном моего предыдущего редактора. Я дословно скопировал чужие .vimrc , установил десятки плагинов, создал множество странных сопоставлений и так далее, пока однажды не обнаружил, пока SSHed на удаленном сервере вне моего контроля, что я не знал, как использовать Vim без всех этот материал Совсем. Мой ультра-настроенный MacVim больше не был Vim и скрывал всю его удивительность. Поэтому я решил удалить все, начать заново с пустого ~/.vimrc и пустого ~/.vim/ и $ vimtutor .

Это было лучшее решение карьеры моего короткого переднего кодера.

Мой ~/.vimrc вырос, конечно. Конечно, у меня есть куча пользовательских сопоставлений. Я использую плагины, конечно. Но я не зависим от них, сейчас. Я достаточно выучил «путь Вима», чтобы сделать меня более продуктивным, чем когда-либо, и я все еще новичок.

Итак, мой ответ таков: ваши попытки настроить ад из Vim ошибочны, и вы должны сначала изучить основы.

Но это только мое мнение.

3

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

Я не совсем понял, что вы сделали с ключом : (двоеточие), но если вы сопоставили его с чем-то другим, как вы вызываете ex-команды? Это то, что ваш <Tab> делает сейчас?

Плагины, функции которых связаны с отдельными ключами или парами ключей, часто конфликтуют с другими плагинами. Иногда авторы плагинов облегчают выбор других привязок клавиш; иногда нет.

1

Я лично думаю, что вы должны изучить сопоставления. Это облегчает чтение советов или руководств по более неясным функциям.

В будущем вы столкнетесь с проблемой перевода будущих чтений о функциях Vim с сопоставлениями клавиш ваших собственных функций. Во всяком случае, я бы предложил вам создать псевдоним или макрос для определенных рабочих процессов. Например, я почти никогда не могу вспомнить все параметры, которые команда for принимает в пакетных файлах. Поэтому, когда я иду писать пакетный файл, у меня есть псевдоним, который загружает текстовый файл всех переключателей и опций в раздельном окне.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .