(MacOSX10.8, Emacs24.2)
emacs-bash-completion
init.el
(require 'bash-completion) (bash-completion-setup) ;; (setq bash-completion-initial-timeout 60) (setq bash-completion-process-timeout 7) (setq bash-completion-prog "/opt/local/bin/bash")
MacPorts でコマンドで補完使えるようにインストール
$ sudo port install bash $ sudo port install bash_completion $ sudo port install git-core +bash_completion $ sudo port install mercurial +bash_completion
問題発生
なぜか補完がterminal.app上でできるのに、shell-modeで出来ない。
しかも一部コマンドは補完でき、一部できない。
git はできず、hg は出来る。
他にインストールたしていたものでportはできず、rbenvは出来た。
rbenv
bashrc
eval "$(rbenv init - source opt/local/etc/bash_completion.d/rbenv)"
解決
completions に入っているファイルで使うやつのパーミッションを変更して、bashrc に設定書く。
- cd /opt/local/share/bash-completion/completions
- sudo chmod 755 port
- sudo chmod 755 git
source /opt/local/share/bash-completion/completions/git source /opt/local/share/bash-completion/completions/port
shell-modeでも補完できるようになった。
mercurialが補完できないときは
source /opt/local/share/bash-completion/completions/mercurial