2021/05/01(土) [n年前の日記]
#1 [pc] pecoを導入してみた
Ubuntu Linux 20.04 LTS上で端末を開いて、あっちこっちのディレクトリに移動するのがツライ。peco と pcd を使って楽になりたい。導入を試みた。
peco は、インクリメンタルサーチができるツール。Go言語で作られていて、1ファイルで動作する。Windows や Linux 上で使える。
_peco/peco: Simplistic interactive filtering tool
peco は、インクリメンタルサーチができるツール。Go言語で作られていて、1ファイルで動作する。Windows や Linux 上で使える。
_peco/peco: Simplistic interactive filtering tool
◎ pecoをインストール。 :
Ubuntu Linux 20.04 LTS上でインストール。apt でインストールできる。ただし、apt で入る版は、最新版ではなくて、ちょっと古い版らしい。
最新版を使いたい場合は以下から入手。
_Releases - peco/peco
peco_linux_amd64.tar.gz をDLして、tar xvf peco_linux_amd64.tar.gz で解凍すると、中に peco という実行ファイルが入っているので、PATHが通っている場所に置く。
Windows上でインストールしたい場合は、以下を入手。
sudo apt install peco
$ peco --version peco version v0.5.1
最新版を使いたい場合は以下から入手。
_Releases - peco/peco
peco_linux_amd64.tar.gz をDLして、tar xvf peco_linux_amd64.tar.gz で解凍すると、中に peco という実行ファイルが入っているので、PATHが通っている場所に置く。
Windows上でインストールしたい場合は、以下を入手。
- 64bit版 : peco_windows_amd64.zip
- 32bit版 : peco_windows_386.zip
◎ pcdを導入。 :
pcd は、peco を利用してディレクトリ移動を楽にするバッチファイル。もしくは、bashで利用できる関数。
Windows版は以下で入手できる模様。pcd.bat を作って、PATHの通った場所に置く。
_Big Sky :: Windows のコマンドプロンプトを10倍便利にするコマンド「peco」
_Windows のコマンドプロンプトで便利なコマンド「pcd」のマルチバイト対応と空白文字対応 - hirocueki's blog
Linux版は以下で入手できる。
_pecoを使ってフィルタリング&ディレクトリ移動 - Qiita
Ubuntu Linux 20.04 LTS 上で設定してみた。
まずは、登録リストファイル、~/.peco/.peco-cd ファイルを作成しておく。
~/.bashrc に以下を追記。環境変数 $EDITOR が設定されてないと pcd edit が使えないのだけど、Ubuntu Linux は標準状態だと $EDITOR が設定されてないので若干修正してある。
source ~/.bashrc で反映。
使い方は以下。
ついでに、peco-lscd というスクリプト(?)も、~/.bashrc に追加してみた。カレントディレクトリの中から絞り込んでディレクトリ移動できる。
_pecoの基礎の基礎 - Qiita
これで、ディレクトリ移動が多少楽になった。ありがたや。
Windows版は以下で入手できる模様。pcd.bat を作って、PATHの通った場所に置く。
_Big Sky :: Windows のコマンドプロンプトを10倍便利にするコマンド「peco」
_Windows のコマンドプロンプトで便利なコマンド「pcd」のマルチバイト対応と空白文字対応 - hirocueki's blog
Linux版は以下で入手できる。
_pecoを使ってフィルタリング&ディレクトリ移動 - Qiita
Ubuntu Linux 20.04 LTS 上で設定してみた。
まずは、登録リストファイル、~/.peco/.peco-cd ファイルを作成しておく。
mkdir ~/.peco touch ~/.peco/.peco-cd
~/.bashrc に以下を追記。環境変数 $EDITOR が設定されてないと pcd edit が使えないのだけど、Ubuntu Linux は標準状態だと $EDITOR が設定されてないので若干修正してある。
function pcd() { local PCD_FILE=$HOME/.peco/.peco-cd local PCD_RETURN if [ $1 ] && [ $1 = "add" ]; then if [ $2 ]; then ADD_DIR=$2 if [ $2 = "." ]; then ADD_DIR=$(pwd) fi echo "add $ADD_DIR to $PCD_FILE" echo $ADD_DIR >> $PCD_FILE fi elif [ $1 ] && [ $1 = "edit" ]; then if [ $EDITOR ]; then $EDITOR $PCD_FILE else editor $PCD_FILE fi elif [ $1 ] && [ $1 = "." ]; then PCD_RETURN=$(/bin/ls -F | grep /$ | peco) else PCD_RETURN=$(cat $PCD_FILE | peco) fi if [ $PCD_RETURN ]; then cd $PCD_RETURN fi }
source ~/.bashrc で反映。
使い方は以下。
- pcd add . で、現在ディレクトリを登録リストに追加する。
- pcd edit で、登録リストファイルを編集する。
- pcd で、登録リストの中からインクリメンタルサーチで絞り込んでディレクトリ移動ができる。
ついでに、peco-lscd というスクリプト(?)も、~/.bashrc に追加してみた。カレントディレクトリの中から絞り込んでディレクトリ移動できる。
_pecoの基礎の基礎 - Qiita
function peco-lscd { local dir="$( find . -maxdepth 1 -type d | sed -e 's;\./;;' | sort | peco )" if [ ! -z "$dir" ] ; then cd "$dir" fi }
これで、ディレクトリ移動が多少楽になった。ありがたや。
[ ツッコむ ]
#2 [basic] sdlBasicを試用
Ubuntu Linux 20.04 LTS のパッケージ一覧を眺めていたら sdlbasic というパッケージが目に入った。気になったので試用してみる。
_SdlBasic - Wikipedia
_sdlBasic
_第408回 Ubuntuで現代芸術を体感する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
aptでインストール可能。
sdlBasic で起動する。sdlbasic では起動しない。「B」が大文字な点に注意。
sdlBasic を起動すると、エディタ部分やツールバーが含まれているウインドウが開いて、ソースを打ち込める。
F5キーで、打ち込んだソースを実行できる。
sdlBrt も一緒にインストールされる。これはランタイムらしい。
sdlBrt hoge.sdlbas でも実行できる。
バージョンを確認。
バージョンが 20070714 と、かなり古いのが気になる…。2012年版が存在するはずなのだけど、Ubuntu (Debian)のパッケージは古いまま更新されてないのかもしれない。
_sdlBasic - Browse /binary at SourceForge.net
_Debian -- buster の sdlbasic パッケージに関する詳細
ひとまず、以下のソースを rectangle.sdlbas として保存して、実行してみた。
_reactangle.sdlbas
以下で実行。
_SdlBasic - Wikipedia
_sdlBasic
_第408回 Ubuntuで現代芸術を体感する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
aptでインストール可能。
sudo apt install sdlbasic
sdlBasic で起動する。sdlbasic では起動しない。「B」が大文字な点に注意。
$ which sdlBasic /usr/bin/sdlBasic
sdlBasic を起動すると、エディタ部分やツールバーが含まれているウインドウが開いて、ソースを打ち込める。
F5キーで、打ち込んだソースを実行できる。
sdlBrt も一緒にインストールされる。これはランタイムらしい。
$ which sdlBrt /usr/bin/sdlBrt
sdlBrt hoge.sdlbas でも実行できる。
バージョンを確認。
$ sdlBrt --version sdlBasic runtime(sdlBrt) release 20070714
バージョンが 20070714 と、かなり古いのが気になる…。2012年版が存在するはずなのだけど、Ubuntu (Debian)のパッケージは古いまま更新されてないのかもしれない。
_sdlBasic - Browse /binary at SourceForge.net
_Debian -- buster の sdlbasic パッケージに関する詳細
ひとまず、以下のソースを rectangle.sdlbas として保存して、実行してみた。
_reactangle.sdlbas
width = 512 height = 512 shades = 128 setdisplay(width, height, 32, 1) paper(rgb(0, 0, 0)) cls setautoback(25) randomize() for i=1 to shades r = rnd(255) g = rnd(255) b = rnd(255) ink(rgb(r, g, b)) w = rnd(width / 4) h = rnd(height / 4) x = rnd(width - w) y = rnd(height - h) rectangle(x, y, w, h, 0) next waitkey(k_escape)
以下で実行。
sdlBrt rectangle.sdlbas or sdlBasic rectangle.sdlbasウインドウが開いて、四角を描画できた。
◎ Windows版も試用。 :
Windows10 x64 20H2上でもインストールしてみた。
_sdlBasic - Browse /binary/2012 at SourceForge.net
sdlBasic-setup.exe と sdlBrt-setup.exe をDLして実行すれば、C:\Program Files (x86)\sdlbasic\ にインストールされる模様。
あるいは sdlBasic-win32-2012-12-15.zip と sdlBrt-win32-2012-12-15.zip を解凍して、任意の場所に置くことでも使えるようになるのかもしれない。
_sdlBasic - Browse /binary/2012 at SourceForge.net
sdlBasic-setup.exe と sdlBrt-setup.exe をDLして実行すれば、C:\Program Files (x86)\sdlbasic\ にインストールされる模様。
あるいは sdlBasic-win32-2012-12-15.zip と sdlBrt-win32-2012-12-15.zip を解凍して、任意の場所に置くことでも使えるようになるのかもしれない。
◎ フォントが汚い。 :
sdlBasic のエディタ画面の、フォントが汚い…。
エディタの基本部分に SciTE を使ってるっぽいので、SciTE の設定が流用できるかと思ったけれど、試してみたら文字描画がめちゃくちゃになった…。
一応、Options → Open User Options File で、以下を記述してみたけど。
更に、Ubuntu版の sdlBasic は、結構な頻度で、終了時に Segmentation fault (コアダンプ) が出力されている模様。
まあ、他のエディタでソースを書いて、sdlBrt hoge.sdlbas で実行しても済みそうではあるけど…。
さておき。この sdlBasic、2012年頃で開発が止まってるようでもあるし、更に Ubuntu版(Debian版)パッケージに至っては 2007年版が配布されてるし、まあ、とにかく古い…。あえて今から使う環境ではなさそうな印象を受けた。もっともソレを言ったら、BASIC言語からしてアレだけど…。
エディタの基本部分に SciTE を使ってるっぽいので、SciTE の設定が流用できるかと思ったけれど、試してみたら文字描画がめちゃくちゃになった…。
一応、Options → Open User Options File で、以下を記述してみたけど。
position.left=16 position.right=0 position.width=800 position.height=800 font.monospace=font:Inconsolata,size:18 font.base=$(font.monospace) font.small=$(font.monospace) font.comment=$(font.monospace) font.code.comment.box=$(font.monospace) font.code.comment.line=$(font.monospace) font.code.comment.doc=$(font.monospace) font.text=$(font.monospace) font.text.comment=$(font.monospace) font.embedded.base=$(font.monospace) font.embedded.comment=$(font.monospace) font.vbs=$(font.monospace) font.js=$(font.monospace) font.string.literal=$(font.monospace)文字サイズは変わるけど、フォント種類が反映されてる気配が無い…。
更に、Ubuntu版の sdlBasic は、結構な頻度で、終了時に Segmentation fault (コアダンプ) が出力されている模様。
まあ、他のエディタでソースを書いて、sdlBrt hoge.sdlbas で実行しても済みそうではあるけど…。
さておき。この sdlBasic、2012年頃で開発が止まってるようでもあるし、更に Ubuntu版(Debian版)パッケージに至っては 2007年版が配布されてるし、まあ、とにかく古い…。あえて今から使う環境ではなさそうな印象を受けた。もっともソレを言ったら、BASIC言語からしてアレだけど…。
[ ツッコむ ]
以上、1 日分です。