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

Как свести к минимуму использование клавиш со стрелками при вводе кода?

При наборе кода я обычно закрываю скобки, возвращаюсь внутрь, выхожу на улицу, печатаю точку с запятой и т.д.:

Я мог бы начать с (| является кареткой):

System.out.println()|

Затем перейдите влево:

System.out.println(|)

Затем это:

System.out.println(foo()|)

Снова отмените пробел:

System.out.println(foo(|))

Котировки ввода аналогичны:

System.out.println(foo(""|))

... и т.д..

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

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

Спасибо.

4b9b3361

Ответ 1

Прежде всего, в Vim можно многое сделать с помощью h, j, k и l вместо клавиш со стрелками. См. Изучение Vim the Pragmatic Way для обзора ключей.

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

System.out.println(|)

к

System.out.println(foo(|))

к

System.out.println(foo("|"))

Если вы затем наберете ")), каретка "переместит" закрывающие символы вместо того, чтобы вставлять новые. Хотя, более быстрый способ добраться до конца строки, вероятно, <Esc>A.

System.out.println(foo(""));

Итак, чтобы подвести итог, вышесказанное может быть получено путем ввода System.out.println(foo("<Esc>A;.

Для редактирования парных символов, в отличие от их вставки, см. surround.vim.

Ответ 2

Хорошо, что Java. Если вы используете более или менее хорошую среду IDE, вы должны иметь возможность автозаполнения, таким образом, когда вы вводите "System.out.println" и нажимаете enter для принятия автозаполнения, появятся скобки и карет будет посередине (о, и тоже будут цитаты!)

Ответ 3

Если вы уже в vim, попробуйте сыграть с клавишами h, j, k и l. Они делают то же самое, что и клавиши со стрелками, но гораздо удобнее. Попытка получить привычку печатать на заказ, вероятно, также поможет, но это что-то, что требует определенных усилий.

Ответ 4

Не.

Ваша привычка заканчивать то, что вы начали, будь то закрывающая скобка, скобка, скобка или вызов .Close() для соответствия .Open() или удаление/бесплатный вызов в соответствии с вашим новым /malloc - это отличный. Даже если вы намерены "закрыть" свой объект в другой области (например, функцию завершения), ваша привычка заставляет вас думать о правильном выпуске ресурсов.

Да, есть полезные редакторы, которые позволяют вам быстрее кода, которые вы обязательно должны использовать, но не позволяйте им становиться костылем, который позволяет забыть закрыть объекты/ресурсы выпуска.

Прямой ответ на ваш вопрос: большинство хороших редакторов-программистов могут быть настроены/настроены, поэтому вам просто нужно немного почитать о расширенной настройке редактора по вашему выбору - vim, emacs, редактора Visual Studio.

Ответ 5

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

Ответ 6

Попробуйте AutoHotKey и мой script:

*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}"
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}"
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}"
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}"
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}"
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}"
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}"

LAlt и Shift:: ('дополнительная строка')

Это о том, чтобы удерживать LAlt + нажав что-то от: i, k, j, l (клавиши со стрелками), u, o (home, end) или h (delete). Последняя строка является необязательной, если вы не хотите менять клавиатуру. layout by LAlt + Shift

Вы можете использовать его даже в сочетании с модификаторами, такими как shift и ctrl.

наслаждайтесь;)

Ответ 7

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

Ответ 8

Еще одно голосование за Vim. Кроме того, есть несколько отличных плагинов для более стандартных IDE, которые используют Vi keybindings. Я использую jVI в Netbeans время от времени.

Вы обнаружите, что чем больше вы используете Vim, тем проще на запястьях. Вы также обнаружите, что достаточно умная находка/замена может сэкономить вам немало нажатий клавиш, а также глобальное действие regex-y.

Привязать: tabn и: tabp к чему-то доступному, например, и заставлять себя делать что-то без сдачи и использования соответствующего графического редактора.

Ответ 9

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

Тем не менее, теперь я использую Eclipse - он создает их для меня, когда я иду, поэтому в конце чего-то с a) ")) беспорядок Я просто ударил конец и набрал a, не нужно иметь дело с ним вручную вообще Что иногда меня смущает, но это нормально.

Ответ 10

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

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

Ответ 11

Хорошая среда IDE (galileo почти здесь) будет автоматически закрывать скобки, круглые скобки и т.д. и будет разумно вставлять точку с запятой в конце инструкции. Не нужно использовать стрелки вообще!

Конечно, для println в Eclipse вы можете просто ввести sysout, но, вероятно, это плохая привычка.

Но будьте осторожны! Если вы слишком быстро, ваши коллеги всегда заставят вас двигаться: P