【nvim + 大西配列】→やめます

2024/11/17に公開

【nvim + 大西配列】vimのキーマップを変えて乗り切った
という記事にする予定でしたが、配列を変えるのを、やめることにしました。

先輩に、配列を覚えることを強制されることってありますよね。

私にとって、それは大西配列でした。
大西配列をvimのキーマップに適用しようとしても、そんな変態は見つけられませんでした。
この記事が、さらなる変態に見られたら嬉しいです。

githubに設定ファイル置いときます。
https://github.com/new-umechan/my-setting-of-neovim

すでに、このファイルは、QWERTY用に戻しまてあります。

大西配列とは

大西拓磨さんによって作られた、日本語ローマ字入力、英語に配慮されたキー配列。
めっちゃ打ちやすいらしいです。

公式ホームページに導入方法も書いているので、参照あれ。
https://o24.works/layout/

vimとの相性は最悪

vimはQWERTY配列が前提です。
HJKLとか、押しやすいけど、意味なんてない。
場所さえHJKLであれば、ぶっちゃけなんでもいいんですよね。

いろんな記事を彷徨っても、「通常モードはQWERTYでよくない?」「ちょっとづつ変えよう」「おにぎり食べたい」としか書かれていません。

何言ってんだよ、お前ら

ということで、頑固者として、最初からNeovim + QWERTYをやっていきます。

思想

ただの高専生に思想もなにもありません。
とりあえず、

  1. HJKLの場所でカーソル移動
  2. dとかcとかは、大西配列になれるという意味でキーマップを設定しない
  3. HJKLの場所を潰した分は、、いい感じに調整

を意識してやっていきます。

設定

環境

  • mac/ wezterm
  • luaで設定書いてる

cd .config/nvim
nvim

以下のコードを追加

-- キーマップを簡潔に設定するための関数を定義
local function map(mode, lhs, rhs, opts)
  opts = opts or {}
  opts.silent = true -- デフォルトでサイレントモードを有効化
  vim.api.nvim_set_keymap(mode, lhs, rhs, opts)
end

-- ノーマルモード
map('n', 't', 'h', {})
map('n', 'n', 'j', {})
map('n', 's', 'k', {})
map('n', 'h', 'l', {})

-- インサートモード
map('i', '<C-t>', '<Left>', {})
map('i', '<C-n>', '<Down>', {})
map('i', '<C-s>', '<Up>', {})
map('i', '<C-h>', '<Right>', {})

-- ビジュアルモード
map('v', 't', 'h', {})
map('v', 'n', 'j', {})
map('v', 's', 'k', {})
map('v', 'h', 'l', {})

-- コマンド
vim.cmd([[
cnoremap <C-t> <Left>
cnoremap <C-n> <Down>
cnoremap <C-s> <Up>
cnoremap <C-h> <Right>
]])

ここから、ytなども設定する。めんどくさい。あとでいいか。

三週間経過しました。

ごめんなさい。

あれから、悩みに悩みまくった結果、変えないことにしました。

  1. vim以外にも、あまりにも、QWERTY前提のものが多すぎる。
  2. 将来への不安。結局、QWERTYも使わなければいけないんじゃないか、、
  3. あまりタイピングって早くならないのでは?というか、思考の速度以上でもうすでにタイピングしてるから、これ以上早くしても、頭にふと思い浮かんだ言葉を打っちゃう

Macのキートップ剥がして、Oを壊してまでやったのに、、、

QWERTYはゴミ。だけど強すぎ。

QWERTYは本当に効率が悪いです。母音とか、もっと打ちやすいとこにしよ。というかなんでこんな変な並びなんだよ。
ただ、これが世間で使われていて、覚え直すことに非常に手間がかかることから、これからもう変わっていきません。
これからもっと広まっていけば、また、大西配列+Vimみたいなきもい組み合わせも考えたいな。

もし、ごりごりにカスタマイズするのであれば、SKKとかもおもしろそうです。
https://dic.nicovideo.jp/a/skk

最後に

環境のカスタマイズには終わりはありませんが、私にとってラインが、「人のパソコンを使いにくいと感じつつも触れる」レベルでした。

今回の一件で、どこかに線を引いておくことは必要だと感じました。

Discussion