Skip to content

soblin/dotfiles

Repository files navigation

dotfiles

個人用の dotfiles のレポジトリ.

依存コマンドのインストール・シンボリックリンクの設定

./install.sh

する.

日本語入力

mozc

mozcで入力を切り替えた際に始めから日本語入力になっていて欲しい(デフォルトでは直接入力).このオプションは入ったが,Ubuntu22.04で入るmozcではまだ利用できない.そのためこちらに従って上書き更新する.

Dockerfileとしては代わりに

curl -O https://raw.githubusercontent.com/google/mozc/b0a604f110e01d11107ebbaad09e674cecee34f5/docker/ubuntu22.04/Dockerfile

を用いること.その後~/.config/mozc/ibus_config.textprotomozc-jpのフィールドを以下のように更新する.

engines {
  name : "mozc-jp"
  longname : "Mozc"
  layout : "default"
  layout_variant : ""
  layout_option : ""
  symbol : "あ"
  composition_mode: HIRAGANA # これが一番重要
}

その後ibus write-cacheしてから再起動すると始めから日本語入力ができるようになる.

Ctrl-Spaceで日英の切り替え

英語の次にJapaneseで"Japanese (Mozc)"を選択する.

add-mozc

"Ctrl-Space"でInput Sourceを切り替えるように変更する.

| View And Customize Shortcuts | Typing | Switch | | shortcut-1 | shortcut-2 | shortcut-3 |

gnome-terminal

gnome-terminal上での入力だけ遅れる現象が起きる場合は https://askubuntu.com/questions/1509058/input-delay-on-terminal-ubuntu-22-04-4 に従ってmutterを更新する.

tmux

tmuxのキーバインドは以下の通り.

  • C-z cホームディレクトリで新しいwindowをつくる
  • C-z C-c現在のディレクトリで新しいwindowをつくる
  • C-z kで現在のwindowを消去
  • C-z n(p)でnext(right), previous(left)のwindowへ移動
  • C-z {0-9}で番号のwindowに移動
  • C-z |現在のディレクトリで縦にpaneを作る
  • C-z -現在のディレクトリで横にpaneを作る
  • C-z o, C-z C-oで隣のpaneに移る
  • C-z Mでsessionを名前付きで保存
  • C-z Nでsessionを名前付きで復帰(補完はできなさそう)

コピーアンドペーストは以下の手順.

  1. C-z [で画面上をカーソルで移動するモードに入る.
  2. C-z @で現在のカーソル位置からカーソルを動かしたところまでを選択するモードに入る.
  3. C-z {p, n, f, b}(Emacsと同じ)で範囲を選択.
  4. Alt-wでコピーできる.
  5. C-z C-yでペースト.

これをシステムのクリップボードに移すためにpbcopyコマンドを作った.マウスで範囲を選択した場合もpbcopyコマンドが必要.

languages

Julia

~/.local/opt/julia-x.x.xのディレクトリをインストールし,~/.local/bin/juliaへのsymlinkを張る.

Rust

~/.local/bin/にツールチェーンをインストール.

ROS2

colconに付属するargcompleteはバージョンが古いためfishに対応していない.

pip3 install --user argcomplete==2.0.0

すれば,aptで入ったargcompleteとconflictせずに済む.

fishについてはこちらの記事を参照

sudo apt-get install fzf fd-find jq
ln -s $(which fdfind) ~/.local/bin/fd

勝手にsourceするのを防ぐには

auto_source_disable

すれば良い.

Emacs

gccemacsを使う

kelleyk:ppaですでにemacs-nativecompが提供されている.Ubuntu22では

sudo snap install emacs --classic

でnativecompが手に入るようになったので,こちらの方がすぐにDLできて良い.

plists

lspを高速にするにはplistsを使うようにコンパイルすべきであるらしい.eln-cacheを削除してから

export LSP_USE_PLISTS=true
OR
set -x export LSP_USE_PLISTS true

した上で再度コンパイルするとバイトコードに埋め込まれるようだ(?).

elpaの扱い

elpaのパッケージは別のレポジトリで管理する.

doom-modelineのアイコン

M-x all-the-icons-install-fonts, nerd-icons-install-fontsをする必要がある.

LSP

キーバインドは以下の通り

  • M+.で定義へのジャンプ,M+,で戻る

clang

clang/clang++/clang-tidy/clangdなどは全てllvmのバージョンが同じになっていないと不整合が生じる.

sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
sudo apt-get install clang-18 clang++-18 clang-tidy-18 clangd-18 clang-format-18 libomp-18-dev

一つづつupdate-alternativeを適用する.

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 18
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 18
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-18 18
sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-18 18
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-18 18

またコンパイルするために,Ubuntu22では

sudo apt-get install libstdc++-12-dev

が必要(https://stackoverflow.com/questions/74543715/usr-bin-ld-cannot-find-lstdc-no-such-file-or-directory-on-running-flutte).

コンパイラとしてclangを使わないとしてもLSPでclangdを利用するにはclangの設定が必要になる.そのため

sudo apt-get install libstdc++-12-dev libomp-18-dev

がないと標準ライブラリーやomp.hが見つからずLSPとして機能してくれない.

python

pip3 install --user python-language-server rope autopep8 black pyright

Pipfileなどで管理されたプロジェクトで補完を行うにはpyvenvパッケージを利用する.

M-x pyvenv-activateでPipfileがあるフォルダーを選択しlsp-workspace-restartすると仮想環境にインストールされたパッケージが認識される. --> もしかするとpipenvに入った状態でemacsを立ち上げる必要もあるかも.

aptで入るnodeのversionがpyrightに対して古い場合があるので https://qiita.com/nouernet/items/d6ad4d5f4f08857644de に従ってnodeのバージョン管理を行うと良い.

rust

rustup component add rls rust-analysis rust-src

node

nをinstallしてそれ経由でnpmをinstallした方が良い.npmをupdateするには

sudo n stable

で良い.ローカルのnodeプロジェクトでは

export PATH=$PATH:.local/.bin

.envrcに記せば良い.

参考

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published