読者です 読者をやめる 読者になる 読者になる

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

emacsでperldocを使うためにperl-completion.elを入れた

 anything-docでperldocを引こうとしていたんだけれど、MANPATHとかperlbrewとかの関係でうまく行かなかったので、perl-completion.elを利用して引くようにしてみた。色々補完とかもできるようになったし便利。昔のPCだと少し重くて動かなかったのだけれど、今だったら普通に動くようになってた。

設定

 結局以下のような設定になった。デフォルトのキーマップはoffにして、必要なのだけ自分で定義するようにした。

(defvar ac-source-my-perl-completion
  '((candidates . plcmp-ac-make-cands)))
(add-hook 'cperl-mode-hook
          (lambda()
            (setq plcmp-use-keymap nil)
            (require 'perl-completion)
            (perl-completion-mode t)
            (add-to-list 'ac-sources 'ac-source-my-perl-completion)
            (local-set-key (kbd "M-RET") 'plcmp-cmd-smart-complete)
            (local-set-key (kbd "C-c d") 'plcmp-cmd-show-doc-at-point)
            ))

PATHの話

 あとperlbrewとか使っている場合は、きちんとemacsのPATHとかexec-pathが設定されている必要がある。

 PATHをterminalと共有する話はシェルと Emacsの PATHを共有する - Life is very shortを見て設定しておくと良い。
 
 あとPATHのハマりどころはemacsにおける$PATHの話 - $shibayu36->blog;に昔書いたのでそれを見てください。