ちょっと前に導入して便利だったので書き残しとく。
CLIを使ってターミナル上であれこれ操作するようになり、CLI上でのエディタも色々試してみた。
初心者的にはやはりキーバインドのくせがハードルになる。
vimは当然わからないし、初心者向けと言われるnanoですら、最初はちょっと戸惑った。
そこで調べたところ、いくつか馴染みあるキーバインドのエディタがあることを知った。
micro
GitHub - micro-editor/micro: A modern and intuitive terminal-based text editor · GitHub
最初に知ったのがこれだったと思う。
情報が比較的多くてとっつきやすい。
edit
GitHub - microsoft/edit: We all edit. · GitHub
Microsoftから最近出たエディタ。
どこか懐かしい見た目をしている。
どちらもショートカットキーが馴染みあるバインドに近いのでわかりやすいのだが、MacだとどちらもCtrl+○がショートカットキー。
一方、Macの普段のショートカットキーは⌘+○なので、行き来するたびに間違えてしまい、コピペできずイライラしていた。
そこで、上記のエディタのキーバインドを変えられないか試行錯誤したのだが、どうやら⌘はMacのシステムの関係なのか設定できないらしい……。
でも他ので使えてるのある気がするから、探せばあるのでは?と思いさらに調べたら、見つけた!
novim
公式ページはこちら↓
novim - A friendly terminal editor
このnovimというエディタは、その名の通り、どうやらneovimをもとに、キーバインドを馴染みある設定に変えてあるものらしい。
これだと⌘C、⌘Vなどのショートカットキーが使える!
設定項目からテーマなどの設定もできる。
novimのgithubページはこちら↓
GitHub - link2004/novim: A friendly terminal editor for vibe coders. Not vim. · GitHub
インストール方法は公式・githubに記載がある通り、
curl -fsSL novim.dev/install | bash
詳しくはリンク先を確認してください。
問題点と対策
ひとつ致命的な問題で、日本語入力が入らないときがある。
対処法は、“一旦英字にしてなにか入力→日本語に切り替えて入力” で効くようになる。
ちょっと面倒だが、使えなくはないのでこれでやってる。
もしかしたら以下の設定で対処できるかも?今度試そう。
設定を変える
novimの設定をいじることで、さらに細かくカスタマイズできる。
novim ~/.local/share/novim/config/nvim/init.lua
設定項目はこちら(環境によって違うかも)。
あとはAIにききながら調整した。
じぶんが設定変更したのは以下のようなところ。
--markdown太字をカラーにする
vim.api.nvim_set_hl(0, "@markup.strong", { fg = "#ff9e64", bold = true })
vim.opt.wrap = true -- 行を折り返す
vim.opt.linebreak = true -- 単語の途中で切れないようにする
vim.opt.breakindent = true -- 折り返し後のインデントを揃える
-- undo履歴をファイルに保存する設定
vim.opt.undofile = true
-- 保存先ディレクトリの指定(任意ですが、一箇所にまとめると管理が楽です)
vim.opt.undodir = vim.fn.expand("~/.local/state/nvim/undo")
-- Ctrl+Q で終了(保存確認付きの関数を呼び出す)
vim.keymap.set({ "n", "i", "v" }, "<C-q>", quit_with_confirm, { silent = true })
⌘Qだとアプリ自体の終了に割り当てられてるので、ここはctrl+Qにしておいた。
vimのこと何も知らないけど、これで⌘Cなどのいつものショートカットキーが使える!便利。
まとめ
というだけの紹介でした。
ブラウザAIにコード書いてもらってる時などは頻繁に行き来するので、そういうときに間違わなくて便利。
あとはmarkdown入力時に、自動で次のリスト記号入れれたらなぁ……。
とりあえず今のメインCLIエディタはこれになってる。