yuichiro.__blog__

zshの設定ファイルを分割して整理しやすくする

Qiitaで読む

7/16/2014 GitHubで開く

.zshrc before...

初期の設定をし終わったあとでも、zshの設定には追加できるものが多いです。
新しい設定を付け足すたびにごちゃごちゃしがちな設定ファイル群ですがまとめればスマートに出来ると思います

.(source)

.(source)コマンドを使って外部のスクリプトを実行することで変数や関数をそのまま引き継ぐことが出来ます。

$ cat hello.sh
#! /bin/bash

hello="world!"

function hi {
	echo "hi!${hello}"
}

hi
$ bash hello.sh
hi!world!
$ hi
zsh: command not found: hi
$ echo $hello

$ . ./hello.sh
hi!world!
$ hi
hi!world!
$ echo $hello
world!

このコマンドを使って外部にエイリアスなどを移動したいと思います

関数の定義

function loadlib() {
        lib=${1:?"You have to specify a library file"}
        if [ -f "$lib" ];then #ファイルの存在を確認
                . "$lib"
        fi
}

この関数を.zshrcなどの頭に書いておけば loadlib /path/to/lib で外部に分けた設定ファイルを読み込むことが出来ます。

.zshrc after!

.zshrc
function loadlib() {
        lib=${1:?"You have to specify a library file"}
        if [ -f "$lib" ];then #ファイルの存在を確認
                . "$lib"
        fi
}

loadlib $ZDOTDIR/zshfunc		#関数
loadlib $ZDOTDIR/zshautoload	#autoload
loadlib $ZDOTDIR/zshopts		#optset
loadlib $ZDOTDIR/zshalias		#alias
loadlib $ZDOTDIR/zshvars		#変数

スッキリしました
#何をやっているのか分かりにくくなっただk(ry

< プリインストールのzshからHomebrewのzshに移行した

関連記事

プリインストールのzshからHomebrewのzshに移行した

7/17/2014

Why? なんかよさげだったから(コナミカン バージョンが上だし アップデートもしやすそうだし みんなそれでやってるっぽいから(結論) 実際にやってみる とりあえずbrew info zshしてみる なるほど。デフォルトのzshが5.0.2だったから5.0.…

続きを読む

tmux使っている時だけ一部のANSIカラーが表示されていなかったたった1文字のミス

1/15/2021

powerline/zshから脱却できていないせいでエラーメッセージがだんだん増えてきているのでそろそろなんの設定もカスタマイズもしない環境でトレーニングするべきかなと思い始めています。 本日の事件 通常のターミナル(Mac/iTerm2/TERM=xterm-256color…

続きを読む

ShellScriptでフラグ

1/20/2015

Shellでフラグを使いたい!という場合、今まではTest文のANDチェーンで動かしていましたが、trueコマンドとfalseコマンドを見つけたのでメモります。 スマートだけど危なそう。ちゃんとtrueかfalse代入しとけばいいと思うけど。

続きを読む

日本語版のmanページをMacで開く(groffアップデート)

12/31/2014

groff Fatal error 先日「vimをアップデートすると同時にHomebrew管理に移行する」という投稿をしたんですが、その後vimのmanページを開こうとすると、 何やら出てきて怒られてしまいました。 突然manが見られなくなったと思ったらgroff…

続きを読む

vimをアップデートすると同時にHomebrew管理に移行する

12/28/2014

あらすじ viとvi-improved Linuxに触りたての頃、cdでディレクトリ移動、lsでフォルダ内を表示、rmで削除、っていう流れで、ファイル編集はviコマンド!と間違えてるような間違えてないような、適当な感じで覚え、.bashrc一つ編集するのに四苦八苦しながら:wq…

続きを読む