##直前に実行したコマンドの引数を再利用する
# 最初の引数
!^
# 最後の引数
!$
# 指定の引数(n番目)
!:n
# すべての引数
!*
具体的には、以下の様な利用方法が考えられます。以下のコマンドは、フォルダを作成し、作成したフォルダに移動しています。
mkdir -p ~/Pictures/applet
cd !$
この場合、!$
は~/Pictures/applet
になっているわけです。
##実行したコマンド自体を利用する
# 直前に実行したコマンド
!!
# コマンド履歴を検索して、最初にヒットしたコマンド
!hoge
# 直前に実行したコマンドのfooをbarにして実行
!:s/foo/bar
##パスを利用する
# 拡張子を除いたパスを取得
!$:r
# 拡張子だけを取得
!$:e
#パスのディレクトリ部分を取得
!^:h
#ファイル名だけを取得
!^:t
##現在地(ドット)
# 現在地
.
# Finderで現在地を開く
open .
例えば、以下の様な使い方ができます。
cp ~/Dropbox/icon_512x512.png .
これは、~/Dropbox/icon_512x512.png
にあるファイルをpwd
で表示される場所にコピーするというコマンドです。
例えば、pwd
コマンドを実行すると、~/Pictures/applet
が表示されるとします。とすれば、.(ドット)
は~/Pictures/applet
を意味します。
##iTerm2にフォーカスを戻す
tell application "iTerm" to activate
という内容のAppleScriptをアプリケーション形式で作成することにより、ターミナルにフォーカスを戻せます。
結構、様々なコマンドとの組み合わせで使用することがあるので、便利です。
以下のコマンドを実行することで、AppleEditor
を開き、記述すべき内容を書き込めます。
open -a AppleScript\ Editor && echo 'tell application "iTerm" to activate' | pbcopy && echo "
tell application \"AppleScript Editor\"
activate
tell application \"System Events\"
delay 0.4
keystroke \"v\" using {command down}
delay 0.4
keystroke \"s\" using {command down}
end tell
end tell
" | osascript -
あとは、C-s
でも押して、保存しましょう。保存は、以下の形式に則ってください。
これで、open -a it2_f.app
とすることで、iTerm2にフォーカスを戻すことができます。
なお、好きな名前を設定した方は、it2_f.app
の部分を変更します。
Mac起動時に端末にフォーカスしておきたいなら、ログイン項目に登録しましょう。
open -a "system preferences"
→ユーザーとグループ
コマンドとの組み合わせでは、例えば、VirtualBox
を起動するときなどに使っています。VirtualBoxを起動すると、やはりフォーカスは当該アプリに移ってしまいますので、それをターミナルに戻します。
VBoxManage modifyvm archlinux --vrde on && VBoxManage startvm archlinux && open -a it2_f
ちなみに、osascript -e
でもできるのですが、おすすめはしません。
##アプリケーションのアイコンを変更する
AppleScriptをアプリケーションフォルダに置くと、見栄えがあまり良くありませんので、アイコンを変更してみます。
アプリケーションのアイコンを変更する方法は、アイコンに使う画像ファイルを特定のサイズに変換し(16,32,128,256,512)、特定の名前に変更します(icon_512x512.png)。
そして、当該画像ファイルを指定のフォルダに置きます(hoge.iconset)。
最後に指定のフォルダ内にあるファイルを特定のファイル形式に変換します(png→icns)。
mkdir -p ~/Pictures/applet.iconset
cd !$
cp ~/Dropbox/icon_512x512.png .
mogrify -resize 512x512! icon_512x512.png
cd ..
iconutil -c icns applet.iconset
open .
これで、開いたフォルダにhoge.icns
というファイルが出来上がっていると思います。
このファイルをアプリケーションのパッケージ内、指定の場所/Applications/hoge.app/Contents/Resources/
に保存(上書き)します。
ちなみに、上書きするため、hoge.icns
のファイル名は、ls /Applications/hoge.app/Contents/Resources/*.icns
の結果にしておいてください。
mv applet.icns /Applications/it2_f.app/Contents/Resources/
killall Finder
open /Applications/
最後に、アイコンが変わっているか見てみましょう。