• ..

VSCode

    インストール

    Ubuntu

    Ubuntu なら以下でインストールできます。

    sudo apt-add-repository ppa:fish-shell/release-3
    sudo apt-get update
    sudo apt-get install fish

    bash と fish 変換

    変数

    変数がなかったらデフォルト値を使う

    bash の場合

    foo=${HOGE:-123}
    # foo = 123
    bar=${HOME:-123}
    # bar = /Users/user

    fish の場合

    set -q HOGE; and set -l foo $HOGE; or set -l foo 123
    # foo = 123
    set -q HOME; and set -l bar $HOGE; or set -l foo 123
    # bar = /Users/user

    都度追記

    前回のコマンドの一部を書き換えて実行

    引数が似たようなコマンドを複数実行したい場合とかあると思います。そういう時は以下のように実行すると書き換えたコマンドを実行できます。

    echo nju_nju
    # nju3_nju3
    history | sed -n 1p | string replace -a nju 純
    # echo 純_純

    これはecho nju_njuを最初実行した後、これをecho 純_純と変換して表示するコマンドです。
    string replaceは文字を置き換えるためのfishコマンドで、最初の文字列を後の文字列に変換できます。また、-a--allオプションを使うことですべてのマッチする文字列を後に指定した文字列に変換できます。

    ただしこれはまだ変換したコマンドを表示しているだけなので、それを実行する為にevalを使います。

    echo nju_nju
    # nju3_nju3
    eval (history | sed -n 1p | string replace -a nju 純)
    # 純_純

    純_純と得れました。

    ちなみにsed -n 1pの部分を2p3pと変更すると、2つ前や3つ前のコマンドを置換したものを実行できたりもします。

    python を入れる

    Mac なので Homebrew を使います。流れは、

    1. pyenvを入れる
    2. インストール
    3. パスを通す

    です。

    pyenv を入れる

    以下で入れます。

    brew install pyenv

    またpythonを最新バージョンにしたい場合などは都度

    brew upgrade pyenv

    します。

    インストール

    これを書いている時の最新は3.7.3でした。

     pyenv install --list
     # ...
     # 3.7.3
     # ...

    これを入れます。

     pyenv install 3.7.3
     # 5分ぐらい

    「 メインで使いますよ」と設定します。

     pyenv global 3.7.3

    パスを通す

    .config/fish/config.fishに一行追加します。

    source (pyenv init -|psub)

    または、

     echo 'source (pyenv init -|psub)' >> ~/.config/fish/config.fish

    これでfish-shellが立ち上がるたび先程インストールした3.7.3へのパスが通されるようになります。

    最後に確認で、

    which python                                                                         
    # /Users/nju33/.pyenv/shims/python
    python --version
    # Python 3.7.3

    のように出れば完了です。