書影

[改訂新版]macOS×コマンド入門 サポートページ

[改訂新版]macOS×コマンド入門

──ターミナルとコマンドライン、基本の力

@c06-p106

Column ディレクトリへのシンボリックリンクの補完方法を変更する(bash)

 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」を削除します。


[[改訂新版]macOS×コマンド入門 ──ターミナルとコマンドライン、基本の力