シェルアプリ

iSHという iOS 上で動作する Linux エミュレータを使います.

初期設定

シェル

  1. 必要な諸々をインストール

    apk add zsh
    apk add vim
    apk add git
    apk add openssh
    apk add g++
    apk add python3
    
  2. Vim などで/etc/passwdを以下のように編集して, デフォルトシェルを変更

    - root:X:0:0:root:/root:/bin/ash
    + root:X:0:0:root:/root:/bin/zsh
    
  3. oh-my-zshをインストール

    wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh
    chmod u+x install.sh
    ./install.sh
    
  4. ~/.zshrcからテーマを変更

    - ZSH_THEME="robbyrussell"
    + ZSH_THEME="agnoster"
    
    • vcs_infoでエラーが出るとき : ~/.oh-my-zsh/themes/agnoster.zsh-themeを編集

      - vcs_info
      + function _precmd_vcs_info () { LANG=en_US.UTF-8 vcs_info }
      + add-zsh-hook precmd _precmd_vcs_info
      

powerlevel10kを導入する場合

  1. レポジトリを clone

    git clone https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
    
  2. ~/.zshrcからテーマを反映

    - ZSH_THEME="robbyrussell"
    + ZSH_THEME="powerlevel10k/powerlevel10k"
    
  3. source ~/.zshrcすると, powerlevel10kの初期設定が始まります.

    • 再設定したい場合はp10k configure

Vim

  1. テーマ(ここではiceberg)を適用

    mkdir -p ~/.vim/colors
    git clone https://github.com/cocopon/iceberg.vim.git
    cp ./iceberg.vim/colors/iceberg.vim ~/.vim/colors
    echo "colorscheme iceberg" >> ~/.vimrc
    # rm -rf ./iceberg.vim
    
  2. neobundleを導入

    mkdir -p ~/.vim/bundle
    git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim
    
  3. ~/.vimrcをよしなに変更する

    参考にしたリンクを下に載せます.

コンパイルの高速化

#include <bits/stdc++.h>をしてコンパイルをすると死ぬほど時間がかかるので, ヘッダをプリコンパイルしました. これでコンパイル時間が 50 秒から 6 秒になりました!! (ちなみに#include <iostream>だけでも 10 秒かかってたのでかなり感動しています.)

mkdir -p /root/.include/bits/stdc++.h.gch
cp `find / -name stdc++.h` /root/.include/bits/stdc++.h
cd /root/.include/bits
echo 'export CPATH=$CPATH:"/root/.include"' >> ~/.zshrc
# 実行しうるオプション「全て」に対して以下を行う
g++ <オプション> stdc++.h -o stdc++.h.gch/<何か好きな名前を付ける>.gch

フォントを導入

AnyFontというアプリを使いました. フォントによってはアプリ内で選択できないものもあるようなので注意です.

ちなみにぼくはMeslo LG S NF Regularというフォントを入れています.