USキーボードでvimる

Laptopがそろそろスペック的に厳しくなってきたので、新調しました。

機能的にもデザイン的にもいろいろと理にかなっているので、US配列のキーボードにしてみましたが、このキーボードでvimを使うために少し設定が必要になるので、書き留めたいと思います。

JISキーボードとUSキーボードの違い

百聞は一見に如かず。まずはUSキーボードをご覧ください。

USキーボードの概観

  • Enterキーの形状・位置(小指で押すことを考えると、JISよりキー1個分近くなる)
  • ホームポジションがJISキーボードよりも中央寄り(←あまり紹介されていないが重要)
  • Controlキー、Caps Lockキーなどの位置の違い
  • その他中括弧、カギ括弧などの記号の位置の違い

このように結構JISキーボードとの違いが結構みられます。

デザイン的にもUSキーボードの方がすっきりしていてみやすいですね。(今時、どこの誰がJISキーのひらがなの部分を見ながら入力するんでしょうか。。。)

使いやすそうなUSキーボードですが、このキーボードでvimを使うにあたって少し工夫が必要な点がいくつかありますので、見ていきましょう。

controlキーの位置が遠い問題

何かと多用するcontrolキー。JISキーボードではホームポジションに指を置いた時の左小指のすぐ左にあります。(この配置だけが唯一JISキーボードがUSキーボードよりまさっている点だと思います。笑)

しかし、USキーボードでは最下段に配置されており、めちゃめちゃ遠い。
ので、CapsLockとControlキーの位置を入れ替えます。

システム環境設定によるキーボードの装飾キーの位置の入れ替え

Macの場合は、
システム環境設定→キーボード→装飾キー…
とすすむことで装飾キーの位置を入れ替えることができます。

Caps Lock, Control, Shift, Commandキーの位置を入れ替えることができます。Mac officialの機能として入れ替えれるのは良いですよね!

: コロンがshiftを押しながらしか入力できない問題

vimのノーマルモードでコマンドを入力する時に必ず必要な : (コロン)。

今まで :w とか :s が2手で済んでいたところが、shiftが挟まることで3手に。これは流石に使いづらいです。

そこで、vimrc(neovimの方はinit.vim)にて、コロンとセミコロンを入れ替えます。

nnoremap ; :
nnoremap : ;
vnoremap : :
vnoremap : ;

上記設定を行えば、ノーマルモード中のみコロンとセミコロンを入れ替えることができます。
インサートモードでは、セミコロンをshiftキーなしで入力できるのでそのままにしておきます。(行末にセミコロンが必要な言語のコーディングを行う際にJISキーボードより1手少なくなりますね。)

しかし、コロンとセミコロンを入れ替えることにより、「f,Fコマンドでの検索時に次の一致箇所に飛ぶ」動作に1手多く必要になりますね。。。どちらを取るかは皆様にお任せします。私は入れ替えています。

使い始めて間もないので、新たな問題が発覚するかもしれませんが、現状USキーでも(の方が)快適にコーディングできています。PCを新調しようとしているプログラマの皆さんは参考にしてみてはいかがでしょうか。

以上、USキーボードでvimを使う際の設定方法についてでした!