1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NushellでGitを便利に使う

Last updated at Posted at 2024-10-02

目的

Nushell で Git 補完と現在のブランチが表示されたらうれしい。
こんな感じで
image.png

環境

WSL 上の Ubuntu 22.04

手順

Nushell インストール

https://github.com/nushell/nushell/releases から自分の環境にあったバイナリーをダウンロードできます。
私は nu-0.98.0-x86_64-unknown-linux-gnu.tar.gz をダウンロードします。

自分でビルドする方法や cargo でインストールする方法もあります。詳しくは公式で。
https://www.nushell.sh/ja/book/installation.html

ダウンロードしたファイルを展開し、nu ファイルをパスの通っているディレクトリにコピーします。

wget https://github.com/nushell/nushell/releases/download/0.98.0/nu-0.98.0-x86_64-unknown-linux-gnu.tar.gz
tar zxvf nu-0.98.0-x86_64-unknown-linux-gnu.tar.gz
sudo cp nu-0.98.0-x86_64-unknown-linux-gnu/nu /usr/local/bin/

ここで nu と実行すると Nushell が起動します。初回は env.nu を作るか聞かれるので Y と答えておきます。

$ nu
No environment config file found at /home/user/.config/nushell/env.nu
Would you like to create one with defaults (Y/n):

Git Completions の追加

https://github.com/nushell/nu_scripts を clone します。

git clone https://github.com/nushell/nu_scripts.git

この中にある custom-completions/git/git-completions.nu が目的のファイルです。
これを適当な場所にコピーします。
私は ~/.config/nushell/ にコピーしました。

cp nu_scripts/custom-completions/git/git-completions.nu ~/.config/nushell/

最後に ~/.config/nushell/env.nu の最終行に設定を追加します。最後の * は消さないでください。

~/.config/nushell/env.nu
use ~/.config/nushell/git-completions.nu *

再度ターミナルを立ち上げれば Git コマンドの補完が効くようになっています。

プロンプトの装飾

プロンプトに現在のブランチ名などを表示するには先ほど clone した nu_scripts の中の modules/prompt にあるスクリプトを使います。
私は oh-my.nu というのを使いました。

Nerd Font のインストール

https://www.nerdfonts.com/ から好きなフォントを選んでインストールしてください。
インストールしなくても動作するのですが、表示が微妙なことになってしまうので、インストールした方がよいです。

gstat のインストール

Git のステータスを取得するのに使う gstat プラグインをインストールします。

https://github.com/nushell/nushell/releases からダウンロードし展開したファイルの中にプラグインが入っています。
必要なプラグインだけ ~/.config/nushell/ にコピーしておきます。
plugin add コマンドでインストールします。

cp nu-0.98.0-x86_64-unknown-linux-gnu/nu_plugin_gstat ~/.config/nushell/
plugin add ~/.config/nushell/nu_plugin_gstat
plugin use gstat

plugin list コマンドを入力して gstat と表示されれば大丈夫です。

 ~> plugin list
╭───┬───────┬─────────┬────────────┬─────┬────────────────────────────────────────────┬───────┬───────────────╮
│ # │ name  │ version │ is_running │ pid │                  filename                  │ shell │   commands    │
├───┼───────┼─────────┼────────────┼─────┼────────────────────────────────────────────┼───────┼───────────────┤
│ 0 │ gstat │ 0.98.0  │ false      │     │ /home/user/.config/nushell/nu_plugin_gstat │       │ ╭───┬───────╮ │
│   │       │         │            │     │                                            │       │ │ 0 │ gstat │ │
│   │       │         │            │     │                                            │       │ ╰───┴───────╯ │
╰───┴───────┴─────────┴────────────┴─────┴────────────────────────────────────────────┴───────┴───────────────╯

oh-my.nu の設定

on-my.nu を適当な場所にコピー。
私は先ほどと同様 ~/.config/nushell/ にコピーしました。

cp nu_scripts/modules/prompt/oh-my.nu ~/.config/nushell/

~/.config/nushell/env.nu の最終行に以下を追加します。

~/.config/nushell/env.nu
use ~/.config/nushell/oh-my.nu git_prompt
$env.PROMPT_COMMAND = { (git_prompt).left_prompt }
$env.PROMPT_COMMAND_RIGHT = { (git_prompt).right_prompt }
$env.PROMPT_INDICATOR = " "

再度ターミナルを立ち上げればプロンプトが派手な表示に変わっています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?