Vim Dvorak сочетания клавиш (перепривязки:)
Хотя я играл с ним раньше, я наконец-то начал регулярно использовать Dvorak (Упрощенный). Я был в постоянных отношениях с Vim уже несколько лет, и я пытаюсь найти лучший способ переназначить привязки клавиш в соответствии с моими новыми навыками Дворака.
Как переназначить привязки клавиш Vim для лучшей работы с Dvorak?
Пояснения приветствуются!
7 ответов
Я использую одну из наиболее распространенных рекомендуемых комбинаций клавиш:
Dvorak it!
no d h
no h j
no t k
no n l
no s :
no S :
no j d
no l n
no L N
Added benefits
no - $
no _ ^
no N <C-w><C-w>
no T <C-w><C-r>
no H 8<Down>
no T 8<Up>
no D <C-w><C-r>
Клавиши перемещения остаются в том же месте. Другие изменения:
- Удалить 'D' -> Хлам "J"
- Далее 'n' -> Смотри 'l'
- Предыдущий 'N' -> Оглянись 'L'
Также были внесены некоторые изменения для ознакомления, для доступа к командному режиму можно использовать 's'/'S' (старое расположение:, которое все еще работает).
Дополнительные преимущества
- Конец строки '$' -also- '-'
- Начало строки '^' -также- '_'
- Двигаться вверх 8 'T'
- Двигайтесь вниз на 8 'H'
- Следующее окно
<C-w><C-w>
-Также "N" - Поменять окна
<C-w><C-r>
-также "D"
-Адам
Я не нахожу, что мне нужно переназначить ключи для Дворжака - я очень быстро привык к использованию сочетаний клавиш по умолчанию, когда я переключал раскладки.
В качестве бонуса это означает, что мне не нужно запоминать две разные комбинации клавиш, когда я переключаюсь между Dvorak и Qwerty. Различия в раскладке клавиатуры достаточно, чтобы я не ожидал, что клавиши будут в одном месте.
Немного поздно, но я использую следующее:
" dvorak remap
noremap h h
noremap t j
noremap n k
noremap s l
noremap l n
noremap L N
" easy access to beginning and end of line
noremap - $
noremap _ ^
Это в основном делает следующее:
- Влево-вниз-вверх-вправо все находятся под позициями пальцев по умолчанию в домашнем ряду (т.е. не перемещаются на единицу, как в отображениях QWERTY Vim по умолчанию)
- л / л используется для следующего / предыдущего результата поиска
- используйте -/_, чтобы достичь конца / начала строки
Кажется, это работает для меня...
Я просто использую стандартный qwerty для команд и дворак для режима вставки
Мои перепривязки:
noremap h h
noremap t j
noremap n k
noremap s l
noremap j t
noremap l n
noremap k s
noremap J T
noremap L N
noremap K S
noremap T J
noremap N L
noremap S K
Заметки:
- В qwert vi должен использовать 'h', потому что vi не хочет использовать ';' не письмо. Но в dvroak у нас есть 's', так почему бы не воспользоваться этим преимуществом?
- vi использует заглавные буквы для относительных действий. Это хорошая философия дизайна. Поэтому я стараюсь соответствовать этому.
Значения:
n (Next) -> l (Left) -- "What's left?" resembles "What's next?"
s (Substitute) -> k (Kill then insert)
t (jump Till) -> j (Jump till)
N, S, T are similar.
J (Join lines) -> T (make lines Together)
K (Keyword) -> S (Subject)
L[count] (Line count) -> N (line Number)
Кстати, L идет до последней строки, а N - последняя буква в конце. (Спасибо за tenzu, чтобы указать на это.)
PS Я использовал эти перепривязки некоторое время. Сейчас я не использую его в vim. Я просто использую стандартные.
Vim поставляется с обширным скриптом Dvorak, но, к сожалению, это не напрямую source
-able, так как файл содержит несколько строк инструкций и другой скрипт, который отменяет его эффекты. Чтобы прочитать его, введите следующую команду:
:e $VIMRUNTIME/macros/dvorak
Вы можете использовать это, чтобы Vim использовал Dvorak только в режиме вставки:
:set keymap=dvorak
Таким образом, все команды все еще находятся в QWERTY, но все, что вы введете, будет в Dvorak.
Предостережения: Ну, почти все. Режим вставки, режим поиска и режим замены будут все двораками, а команды ex - нет. Это означает, что вам не нужно переучиваться :wq
, но вам понадобится тип :%s/foo/bar/gc
в QWERTY.
Это не поможет, если вы хотите перемещать только определенные команды, но я обнаружил, что в моей голове "двигаться вперед на одно слово" нужно было "двигать левый безымянный палец вверх", а не "спрашивать отдел печати, где буква" w ', а затем нажмите его ", что сделало этот метод намного проще для меня.