タイトル画像

CLI環境に移ってきた

あいさつ

こんにちは、静カニです。
この度(言うて2週間くらい過ぎていますが)、GUIからCLI(というかTUI)でのエディターに移ってきました。 理由は、単純にGUIだと少し重い気がしているからです。

エディターの移り変わり

VS Code君

GUI環境は、とりあえずVS Code君にもっぱらお世話になりました(というかVS Code以外にGUIのエディターはIDLEとメモ帳くらいしか使ったことがない)。
だが君、重い!ということで(重いのはたぶん自分が拡張機能を入れまくってるせい)、「よっしゃ、ターミナルで動くやつの方が軽そうだし、GUIなんかやめてやる!」ということで、今回の記事になりました。

vim君

「とりあえず、今インストールせずにに使えるのはvimかな(実はgitに付属してる)」ということで、vimを使おうとしました。
ですが、「VS Codeと同じようにgitのステータス付きの、サイドバーのファイルツリーが欲しいなあ」と思ってしまったのです。
いちおう、ファイルツリー自体はNERDTreeを入れることで解決しましたが、なぜかgitのステータスを表示するためのプラグインを入れられませんでした。

Helix君

「…そういえばターミナルで動くRust製エディターがあったよな…」と思い、Helixをインストールしました。 gitのステータス付きのファイラーに関しては、ファイルビューを使ったり、config.tomlをいじくりまわしたりして対応しました。 ということで(?)現在はこのHelix君に落ち着いています。
ちなみにどうでもいい話ですが、最初はZedと勘違いしていて、入れている途中で、「これ違うぞ…」と調べ直して、 「ああこれか」とHelixにきたという感じです。

Helix君に落ち着いた後のこと

ファイラー

Helixは、ファイルツリーを表示させるのは、プラグインで開発する方針で、そのプラグインも開発されていないそうです。 ネット上には、その代替策として、ターミナルからコマンドで起動できるファイラーを、Helix内で起動させるというものでした。 ですが、gitのステータス表示がうまくいっているように見えませんでした。
そのため、ファイラーに関しては、バニラでspace+fで表示できるもので代用することにしました。

gitのステータス

こちらに関しては、config.tomlを書いてどうにかしました。役に立つ人がいるかもしれないので、ここに載せておきます。


    

簡単な解説
まず、C-gはCtrl+Gという意味。:newでは、バッファ(VS Codeのタブみたいな感じというイメージを勝手に抱いている)を作成。 :insert-ouputは、ターミナルのコマンドを実行するもので、PowerShellからHelixを起動しても、Bashか何かのものが使われていそうだった。 そのため、.gitフォルダーがあれば、git statusとgit tree(こちらはgit configコマンドでエイリアスとして作成。探せば出てくる。)の結果を .git/git_statusの中に保存し、そもそも.gitフォルダーがなければ、メッセージを保存しておく。そしてその.git/git_statusを作成したバッファで開く。
また、C-rはC-gと同じノリでCtrl+Rという意味。こちらは単にバッファを更新しているだけ。

言語サーバー(LSPとかいうやつ)

Python

自分はパッケージや仮想環境の管理にryeを使っているが、helix editorにpython-lsp-serverを入れるという記事は、ほぼすべてpipを使っていた。 最初は、rye add python-lsp-serverでどうにかしようとしたが、うまくいかなかった。 そこで、rye install python-lsp-serverを使うと、うまくいったため、それでどうにかしている。

Rust

こちらはそこらへんに上がっている手順だけでどうにかなった(rustup component add rust-analyzerを打つだけ!)。
ちなみにlanguage.tomlは現時点でこれだけ。


    

はい。至極シンプルです。