РЕДАКТИРОВАТЬ
После прочтения вашей правки и вашего комментария вот радикальное решение, которое я предлагаю: переназначить hjkl
, чтобы делать супер раздражающие вещи:
nnoremap h $
nnoremap l 0
nnoremap j gg
nnoremap k G
" and so on for other modes
hjkl
сопоставлены с предельной противоположностью их первоначальному поведению, что делает их совершенно непригодными для использования.Вы должны сделать то же самое для их синонимов (:h h
, :h j
, :h k
, :h l
) тоже для полноты, но есть случаи, когда полезно посимвольное / построчное перемещение.В таких случаях вы будете рады иметь +
или -
или <Space>
.
Хотя мне не очень нравится такой тип павловского метода.Я нахожу это слишком жестоким, и риск того, что вы действительно привыкнете к этим странным сопоставлениям, кажется довольно высоким.
END EDIT
Короткая версия:
Ни клавиши со стрелками, ни hjkl
не стоят того, чтобы их переназначение было бесполезным.Через некоторое время вы привыкнете к движениям и текстовым объектам Vim.Используйте то, что кажется вам более естественным.Не торопись.Он придет.Естественно.
Длинная версия:
Вы печатник?Или вы планируете изучать сенсорный набор текста?
Я не сенсорный машинистка и никогда не планирую им заниматься: я использую hjkl
только для фактического ввода hjkl
в режиме INSERT.
Когда мне нужно переместить 1 или 2 строки выше или ниже без определенной «цели», я использую клавиши со стрелками, когда мне нужно переместить пару букв влево или вправо, я использую клавиши со стрелками,В этом нет ничего постыдного.
Однако есть проблема, когда вы набираете jjjjjjjjjj
или нажимаете клавишу со стрелкой вниз 10 раз, чтобы переместиться на 10 строк: jjjjjjjjjjj
, очевидно, так же плохо, как и ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
Эта глупая мантра "не используйте клавиши со стрелками" - это просто дерево, которое скрывает лес: оно повторяетсянастолько часто, что это заставляет вас сосредоточиться на бесполезных шаблонах / антипаттернах вместо того, чтобы на самом деле учиться более мощным способам.
Я не хочу перефразировать прекрасное Ваша проблема с Vim в том, что вы не впадаете в vi. но вы можете видеть это как "уровни просветления":
Уровень 0 будет
jjjjjjjjjjj
или ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ затем все необходимые горизонтальные перемещенияпытается достичь вашей цели.
Читая строку выше, разве не очевидно, что hjkl
Vs ← ↓ ↑ → дебаты абсолютно глупы?
Независимо от того, используете ли вы один или другой метод, вы в итоге нажимаете на клавиатуру, двигаясь вертикально и горизонтально, чтобы достичь значения, которое вы хотите редактировать.Какая трата.И какая пустая трата времени и энергии, чтобы заставить себя использовать один метод над другим, поскольку оба одинаково плохи.
Уровень 1 будет
10j22l
, чтобы пройти 10 строк вниз и достичь своей цели на 22 символа справа.Хотя печатать стало намного меньше, теперь вам нужно считать строки и символы, что не особенно хорошо.
Уровень 2 будет
10jwww
чтобы спуститься на 10 строк и достичь цели на 3 слова вправо или 10jf#
, чтобы спуститься на 10 строк и перейти к первой букве вашей цели (шестнадцатеричное значение цвета).
Хмм, этонамного лучше.
Уровень 3 будет
/#<CR>
, чтобы прыгнуть прямо к вашей цели (шестнадцатеричное значение цвета, как и раньше),Если она выше вашей текущей позиции, вы должны сделать ?#<CR>
.
Если вы печатаете на сенсорном компьютере или тренируетесьчтобы стать единым целым, дебаты исчерпаны: hjkl
(или jkl;
, как некоторые любят их переназначать), быстрые и естественные, и вам вообще не нужны клавиши со стрелками, а если нет, то преимущества использования hjkl
более ← ↓ ↑ → в лучшем случае минимально.
Сосредоточьтесь на eEbBwWfFtT/?}
и Ко,Один бит за раз.Не заставляйте себя.