Как свести к минимуму использование клавиш со стрелками при вводе кода?
При наборе кода я обычно закрываю скобки, возвращаюсь внутрь, выхожу на улицу, печатаю точку с запятой и т.д.:
Я мог бы начать с (| является кареткой):
System.out.println()|
Затем перейдите влево:
System.out.println(|)
Затем это:
System.out.println(foo()|)
Снова отмените пробел:
System.out.println(foo(|))
Котировки ввода аналогичны:
System.out.println(foo(""|))
... и т.д..
Моя правая рука постоянно перемещается между домашним строком и клавишами со стрелками. Я пробовал vim, и хотя я знаю основы, мне все равно очень неудобно.
Как мне это сделать? Должен ли я просто вводить слева направо (открывать скобки, затем содержимое, затем закрывать скобки, затем точку с запятой)?
Спасибо.
Ответы
Ответ 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