/dotfiles

Primary LanguageShell

dotfiles

インストール方法

sudo apt install -y curl
mkdir ~/.config/chezmoi/
cat <<'EOF' >> ~/.config/chezmoi/chezmoi.toml
[data]
    cui = true
    gui = true
    programming = true
    research = true
    mac = false
    name = 2lu3
    email = "hi2lu3@gmail.com"
EOF
bash -c "$(curl -fsLS https://raw.githubusercontent.com/2lu3/dotfiles/main/init.sh)"

アップデート方法

chezmoi update

使い方

space, eと書くと、スペースを押した後Eを押します。

space+eは、spaceを押しながらeを押します。

覚え方も記載していることが多いです。

zsh

direnv

それぞれのディレクトリにある.envrcというファイルを自動でsource .envrcする。

例えば、pythonの仮想環境をそのディレクトリに移動したときだけ立ち上げたい場合は、

cd /path/to/dir
python3 -m venv .venv
echo "source .venv/bin/activate" > .envrc
direnv allow

とすればよい。

ghq & peco

ghq get gitレポジトリのURL

とすると、~/ghq以下にgitレポジトリをcloneする。

ctrl+]でgetしたレポジトリ一覧が出現し、1つ選ぶと簡単にそのレポジトリまでcdできる。

この方法のメリットは、どこにgitレポジトリがあったかを覚えておく必要がない。

さらに、通常のgit cloneも使えます。

gpg

gnupg(gpg)がパスワードを暗号化して~/.password-storeに保存してくれる。

gpgはsshの公開鍵のように、鍵を~/.gnupg以下に保存している。

そのため、~/.password-store~/.gnupg以下は他の人に渡してはいけない。

neovim

coc.vim

c++とかpythonとかの構文解析をして間違っているところを教えてくれたりする。

pythonを使うには、

pip install black

をする必要がある。

  • space,f,m,t

    • 今開いているファイルをフォーマット
    • format
  • space,d,f

    • 定義に移動
    • definition
  • space,d,c

    • 宣言に移動
    • declaration
  • space,r,n

    • 変数などの宣言しているところで使うと、その変数などの名前を一括で変更できる
    • rename
  • space,i,f

    • その変数/関数/クラスの情報が表示される。
    • 宣言もしくは定義したときにコメントを書いていたら、そのコメントが表示される
    • info

DoxygenToolKit.vim

c++のdoxygenというフォーマットに従ってコメントを書けます。

image-20220617225505318

  • space,d,o,x
    • 関数や変数の上にカーソルを合わせて、上のようにすると、上の写真のようにコメントができる
    • doxygen

fern.vim

space, Eで左側にファイルツリーを表示できます。

image-20220617140919938

  • j,k - 上下に移動
  • l- フォルダを開く、h - フォルダを閉じる
  • N - 新しいファイルを作成
  • K - 新しいディレクトリを作成
  • R - ディレクトリの名前を変更する

fzf-preview

image-20220617213209596

こんな感じでファイルを検索できます

  • space, f, p
    • ファイル名で検索
    • fzf previewです
  • space, f, g
    • ファイルの内容を検索
    • fzf grep
      • echo ファイル名 | grep 探したい文字列
      • でファイルの中のテキストから文字列を抽出できるのでそれにちなんでgrepという名前です

vim-pydocstring

docstringという形式のコメントを作れる。

image-20220617215859889

  • space,d,o,c
    • 関数の上にカーソルを当てて、上のようにすると、
    • docstringなので

vim-quickrun

neovimの中からc++やpythonなどを実行できる

image-20220617215327877

  • space,r,u,n
    • 今選んでいるファイルを実行する
    • run

winresizer

画面を分割しているときに、大きさを変えることができる。

image-20220617215133617

  • space,r
    • 画面の大きさを変えられるモードになる
    • hjklで大きさを変えて、Enterで永続化
    • resize

フォルダ構成

ファイル構成

TODO

  • dockerのセットアップ

  • tmux

UNATTACHED_LIST=$(tmux ls | grep -v attached | head -n 1)
UNATTACHED_ID=${UNATTACHED_LIST%%:*}

if [ -n "$UNATTACHED_ID" ]; then
    tmux a -t $UNATTACHED_ID
else
    tmux
fi