smart-compile.elでできてしまった
前回の続き。トラバまでいただいて恐縮です。
初トラバでうれしはづかし!
目的の補足
何のcompileをしようとしていたか書いていないことに気づいたので、一応こちらで補足を。
C#で簡単な検証コードを書くときにMeadowやEmacsを使っています。
compileをC-c cに割り当てていたけれど、コンパイラにファイル名を与える必要があります。
なので、割り当てキーを押した際に一緒にファイル名も入ればいいなと考えて、.emacsファイルをこちょこちょしてました。
結論を先に
smart-compile.elを導入することで解決しました。
ダウンロード先: Emacs Lisp TIPS
smart-compile-alistの定義に以下の一文を追加*1
("\\.cs\\'" . "gmcs %f")
.emacsに下記を追加
(require 'smart-compile) (global-set-key "\C-c\c" 'smart-compile)
言及いただいたうち、試したこと
executable-interpretがある - ’(rubikitch wanna be (a . lisper))
M-x executable-interpretはデフォルトで現在のファイル名が入力されている。
現在のファイル名は「buffer-file-name」か「(buffer-file-name)」で取得できる。
「現在のファイル名の取得方法」について色々な方法をいただきました。ありがとうございます!
M-x executable-interpretは、現在開いているファイルをシェルから実行する、というコマンドのようですね。シェルスクリプト作成時によさそう。
また、buffer-file-nameはnilを指していました。バッファ内にファイルが展開されてない場合はnilを返すとなっていましたが…
僕が使い方を間違えているようです。
さすがに
もうちょっと色々いじくり回してみないと、さすがにわからない。
使いにくいと思ったところからいじってみよう。
*1:monoの場合。Windowsの場合はgmcs→csc