🥺

Ubuntuにghq+pecoで,幸せになろう.

2022/12/22に公開

この記事は,日本陰キャ協会 Advent Calendar 2022の22日目の記事になります.
日本陰キャ協会 Advent Calendar 2022

さてさて,本格的にクリスマスが近づいてきました.
すごく寒いですね,バイク通学がしんどすぎて布団で一生を過ごしたいくらいです.
もう,お布団と結婚しようかな...///

気温も低くてリア充がたくさん外にいて,陰キャには精神的にも身体的にも寒い時期なので,お茶を飲みながら心温まるエピソードでも読んで,温まりましょう.

今回のエピソードは,「Ubuntuにghqとpecoを導入して,幸せになった陰キャ」の話です.

はじめに

以前に,知り合いから

「GitHubでコード管理するなら,ghqとpecoを使ったらすごく幸せになれるよ」

と言われたので,メインマシンであるWindows機に導入したところ,信じられないくらい楽にリポジトリ管理ができました.

そこで,最近Ubuntu機と化したノートパソコンに,同じような環境を用意しようとする備忘録的サムシングです.
なお,GitHubからクローンするときは,SSH経由でするようにしています.

Linux環境

  • Ubuntu 18.04 LTS
  • CPU: Intel Core-i5 8250U
  • Memory: 8GB

導入手順

Goのインストール

さて,まずはGo言語のインストールからはじまります.
最新版のGoを入れる場合は,ターミナルで以下のコマンドを実行.

$ sudo apt update
$ sudo add-apt-repository ppa:longsleep/golang-backports
$ sudo apt install golang-go

インストールした後は,Goに対してPATHを通します.
.profileをvimでオペーン.

$ vim ~/.profile

そのあと,以下のコードを追加してPATHを通します.

.profile
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

あとは,以下のコマンドでちゃんと認識されているかを確認.

$ source ~/.bashrc
$ go version

バージョンが出力されれば,Goの導入は完了です.

pecoのインストール

次に,pecoをインストールしていきます.
pecoについては,よく以下のような説明がされています.

「標準入力から入力された画面を、インタラクティブに選択して、選択した行を出力するツール」

よくわからんですね.まぁ,入れると便利なので入れましょう.
以下のコマンドを実行して,gzファイルを取得・解凍します.

$ wget https://github.com/peco/peco/releases/download/v0.5.7/peco_linux_386.tar.gz
$ tar xzvf peco_linux_386.tar.gz 

次に,解凍したファイル内のpecoを,/usr/local/binにコピーしてPATHを通します.

$ cd peco_linux_386
$ sudo cp peco /usr/local/bin

あとは,ghqと同じようにパスが通っているかを確認します.

$ peco --version

ghqのインストール

以下のGitHub repositoryを参考にしながら導入します.
x-motemen / ghq - GitHub

ghq getでクローンすることで,特定のディレクトリの下に,リモートリポジトリのURLのホストとパスを使ってディレクトリを作成してくれる優れものです.
デフォルトでは,~/ghqに作成されます.

先ほど,Goを導入したので,"go get"に載っている方法でインストールします.

$ go install github.com/x-motemen/ghq@latest

これだけですね,簡単です(イチケン風).

ghq+pecoの設定

最後に,ghq_pecoを実行したらghq getで取得したリポジトリを選択できるようにします.
ghq_pecoは一例なので,皆様の好きな関数名に変更されてください.

まずは,vimで.bashrcをオペーン.

$ vim ~/.bashrc

.bashrcに以下のコードを追記し,ghqでクローンしたリポジトリにpecoで簡単にアクセスできるようにします.
なお,リポジトリを選択したらVSCodeが起動するようにしています.

.bashrc
function ghq_peco {
  local dir="$( ghq list -p | peco )"
  if [ ! -z "$dir" ] ; then
    cd "$dir"
    code .
  fi
}

あとは,設定反映のためにsourceコマンドを.

$ source ~/.bashrc

これで,HOMEディレクトリでghq_pecoを実行することによって,「リポジトリへの移動+VSCodeの起動」が一括で行えるようになるわけです.
幸せですね,感動的だ...!!

おわりに

どうでしょう,心温まりましたでしょうか.
うんうん,そうですかそうですか.それは大変良かったです.

なお,新規リポジトリを作ろうとすると結構大変なので,これもまた関数を追加するのがオススメです.
以下の記事が参考になるかと思います.
ghq利用時の新規gitレポジトリ作成 - Qiita

それではみなさん,どうか良いクリスマスをお過ごしください.
ハッピー オタクリスマス!!

Discussion