36

以前は遊んでいましたが、ようやくDvorak (Simplified)を定期的に使い始めました。私は数年間 Vim と安定した関係を築いてきましたが、新たに発見した Dvorak のスキルに合わせてキー バインドを再マップする最善の方法を見つけようとしています。

Dvorak で最適に動作するように、Vim のキー バインディングを再マップするにはどうすればよいですか?

説明が奨励されました!

4

7 に答える 7

35

私はより一般的な推奨されるキーバインドの 1 つを使用します。

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' を使用してコマンド モードにアクセスできます (: の古い場所はまだ機能します)。

追加特典

  • 行末 '$' -また- '-'
  • 行頭 '^' - また - '_'
  • 8 'T' 上に移動
  • 8 'H' 下に移動
  • 次のウィンドウ<C-w><C-w>- また - 'N'
  • ウィンドウ<C-w><C-r>を入れ替える - また - 'D'

-アダム

于 2008-10-03T00:41:15.750 に答える
20

Dvorak のキーを再マップする必要があるとは思いません。レイアウトを切り替えたときに、デフォルトのキーバインドを使用することにすぐに慣れました。

おまけに、Dvorak と Qwerty を切り替えるときに、2 つの異なるキーの組み合わせを覚える必要がありません。キーボード レイアウトの違いは十分なので、キーが同じ場所にあるとは思えません。

于 2008-10-03T10:32:32.163 に答える
10

少し遅れましたが、私は以下を使用します:

" 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 _ ^

これは基本的に次のことを行います。

  • left-down-up-right はすべて、ホーム行のデフォルトの指の位置の下にあります (つまり、デフォルトの QWERTY Vim マッピングのように 1 つ移動しません)。
  • l/L は次/前の検索結果に使用されます
  • -/_ を使用して、行の末尾/先頭に到達します

これは私にとってはうまくいくようです...

于 2009-01-27T15:37:38.917 に答える
9

コマンドには標準のqwertyを、挿入モードにはdvorakを使用するだけです

設定方法はこちら

于 2008-10-10T16:34:26.137 に答える
4

私の再バインド:

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」を使用する必要があります。非文字。しかし、dvroak には 's' があるので、これを利用してみませんか?
  • vi は、相対的なアクションに Caps を使用します。これは優れた設計哲学です。だから私はこれを一致させようとします。

意味:

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)

BTW L 自体は最終行に移動し、N は fin の最後の文字です。(てんず様ご指摘ありがとうございます。)

PS私はこれらの再バインドをしばらく使用しました。今はvimでは使っていません。私はデフォルトのものを使用しています。

于 2010-07-13T06:00:08.123 に答える
2

sourceVimには広範なDvorakスクリプトが付属していますが、ファイルには数行の命令とその効果を元に戻す別のスクリプトが含まれているため、残念ながら直接使用することはできません。これを読むには、次のコマンドを発行します。

:e $VIMRUNTIME/macros/dvorak
于 2008-10-03T09:18:02.360 に答える
1

これを使用して、Vimに挿入モードでのみDvorakを使用させることができます。

:set keymap=dvorak

このように、すべてのコマンドはまだQWERTY配列にありますが、入力するものはすべてDvorak配列になります。

警告:まあ、ほとんどすべて。挿入モード、検索モード、置換モードはすべてdvorakになりますが、exコマンドはそうではありません。これは、再学習する必要がないことを意味しますが、QWERTY:wqと入力する必要があります。:%s/foo/bar/gc

これは、特定のコマンドだけを移動したい場合には役立ちませんが、私の頭の中では、「文字をどこに置くかをタイピング部門に尋ねる」ではなく、「1単語前に移動する」が「左薬指を上に移動する」にバインドされていることがわかりました。 w'はそれからそれを押します。」これは私にとってこの方法をはるかに簡単にしました。

于 2013-02-09T19:44:30.763 に答える