牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Emacs の shell-mode で bash-completion のメモ

(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 に設定書く。

  1. cd /opt/local/share/bash-completion/completions
  2. sudo chmod 755 port
  3. 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