[改訂新版]macOS×コマンド入門 サポートページ
──ターミナルとコマンドライン、基本の力
@c06-p106
macOSのbashでは、ディレクトリへのシンボリックリンクをtabで補完した際に、まずは名前まで補完され、もう一度tabを押すと「/」が補完されるようになっています。通常のディレクトリと同じように名前と一緒に「/」まで補完されるようにするには、bindコマンドまたは「~/.inputrc」で設定します。 まず、どのような動作になるかをbindコマンドで試してみましょう。bindはキーバインド(キーボードの各キーに機能を割り当てること)を設定するコマンドです。
$ bind 'set mark-symlinked-directories on' # キーバインドを変更
$ cd /etc/ # 「cd /etab」で「cd /etc/」まで補完されるようになった
この設定をやめたいときは、bindコマンドで指定している「on」を「off」にするか、ターミナルウィンドウを開き直します。 この設定を常に使用できるようにするには「~/.inputrc」に以下の内容を設定します。
# ~/.inputrcを作成し、以下を記述
set mark-symlinked-directories on
「~/.inputrc」はbashが使用している「readline」というキー入力を処理するライブラリの設定ファイルで、デフォルトでは用意されていません。以下では「»」を使ってリダイレクトすることで、ファイルがあれば追加、なければ新規作成するようにしています(p.149の「リダイレクトでファイルに追加する」を参照)。
# echoコマンドを使って~/.inputrcに追加
$ echo 'set mark-symlinked-directories on' >> ~/.inputrc
この設定は新しく開いたターミナルウィンドウから有効です。設定をやめたい場合は「~/.inputrc」からこの行を削除するか、「~/.inputrc」を削除します。