@ka2n

Technology and beer

最近使った項目をアプリケーションごとに設定する(Xcodeとか)

macOSのTIPSです。 基本的に最近使った項目は使わないので、システム環境設定で0にしているのだけど特定のアプリケーションでだけあると便利な場合がある。

そういった場合はターミナルで

$ defaults write <bundleID> NSRecentDocumentLimit 5

という感じで好きなアプリケーションのbundleIDを指定してあげると特定のアプリケーションだけ設定を変更できるようだ。 Xcodeでは起動時のプロジェクト一覧の表示数を変更できた。めでたしめでたし。

シェルスクリプトの変数が空だったら指定の値にする時のTips

シェルスクリプトで変数が空の場合にだけ代入することができる便利な機能がある。

${variable:=value}

$variableが空の場合のみvalueが値に入ります。

しかし、実際に入力してみるとcommand not foundになる。

bash-4.3$ ${variable:=value}
bash: value: command not found

これはなぜかというと、変数への代入と同時にシェルに対してその値を返すから。 valueという文字をシェルが実行しようとする。

こういう場合は

bash-4.3$ : ${variable:=value}

:で返り値を無視してやればよいようだ。

related: シェル変数の定義状況に応じて任意の値を返す方法 - Qiita

tmuxで画面分割時に現在のディレクトリを開く

画面分割(と新規window)には初期ディレクトリを指定する-cオプションが用意されているので、各キーバインディング-cオプション付きにbindし直してやると実現できる。

bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"

source: unix.stackexchange.com