Emacs

web-modeで普通にインデントするキーバインド

web-modeをちょくちょく使っていたけど、普通にインデントするする方法がわからなく困っていたがn年ごしにようやく分かった。 <C-TAB> 普通のモードではTABにindent-for-tab-commandが割り当てられているが、おそらくemmet-modeを併用しているとemmetの展開コマンド</c-tab>…

現在開いてるファイルのディレクトリをロードパスに追加する

特定の開いてるファイルのディレクトリをロードパスに追加する場合は以下のようにやる。 M+: *1 のキーバインドを押す ミニバッファにから以下の式を実行する (add-to-list 'load-path default-directory) f.elを使う場合はこんな感じ。 (add-to-list 'load-…

新しいMagitにしたら動かなくなった

こんなエラーが出た。 Error (magit): git-commit-mode has to be removed Magit is no longer compatible with the library `git-commit-mode', which was used in earlier releases. Please remove it, so that Magit can use the successor `git-commit' …

第6回init.el読書会に参加しました

自分も書いてみようと思ったので書いてみます。自分はあまり指摘ができないので、 気づいたこと 自分が知らなかった技術 などを書こうと思います。今回はGithubで検索して見つけたdragonwasrobotさんのinit.elを見ました。 dragonwasrobot/dot-emacs jade.el…

ert-runnerが動かなかったのでとりあえず動かす方法

Macでcask exec ert-runnerを動かすとなぜかCan not load file: subst-kscとなってうまく起動できない。これはMacの古いEmacs(Emacs22)を起動してしまうからうまくいかないわけで。 cask exec ert-runner # Can not load file: subst-ksc # M-: emacs-versio…

Emacs Lispで文字列の要素のアクセス

このコードを実行したかった。 (map 'string #'(lambda (x y) (char "01234567890ABCDEF" (mod (+ x y) 16))) '(1 2 3 4) '(10 9 8 7)) ;; => "AAAA" これだとchar関数がないですって怒られる。このcharは、Common Lispの文字列の要素アクセスになる。この対…

inferior-haskell-modeで設定すると便利なこと

haskell-modeではC-c C-lで現在のファイルをロードしてinferior-haskell-modeでghciを実行できる。 デフォルトではカーソルが新しいバッファに移ってくれない。 これは設定で解決できる。 どこで見つけてきたかがわからないのが問題だけど、貼っておく。 (de…

Chocolateyでつまづいたとこ

最近Chocolateyがまた紹介記事が上がっていたので使ってみた。スルーしたのが悔やまれることがわかった。ダウンロード、インストールを手作業でしなくていいのがやっぱりすごく楽だった。インストールは他の方で任せるとして、自分は引っかかったとこなどを…

Emacsで親指シフトをやってたときに困ったこと

最近親指シフトを使い始めていくらか快適に書くことが出来ているのだけれど、Emacsで入力がうまくいかない事例にあたってしまった。 org-modeで「,」全角カンマを入力しようとしたらM-,と入力されてしまってうまくいかない。 user-error: No M-x tags-searc…

auto-insert-modeでなぜか書き込めなくなる問題について

どうも設定が悪さをしていた。http://d.hatena.ne.jp/higepon/20080731/1217491155 この設定では、 (add-hook 'find-file-not-found-hooks 'auto-insert) こうなっている。 これが入ると何故か File exists, but cannot be readとなってファイルがread-only…

Doctestのスニペット

Emacsのyanippetで使える定義しておくと便利なスニペットをメモしとく。 # -*- mode: snippet -*- # name: doctest # -- {-| ${1:func-name} Test >>> $0 -}これを snippet_dir/haskell-mode/doctest に保存して C-c C-c で読み込んでおけば、テストを書くの…

MacターミナルのEmacsが古かった根本的な原因

根本的な原因は.zshrcのPATH設定が悪かったからだった。自分は export PATH=/usr/bin:/usr/local/binという風に/usr/binの後に/usr/local/binを配置してたのが問題だった。brew doctorをしてみて原因がわかった。brew doctorをすると Error: /usr/bin occurs…

EmacsLispで最小構成(っぽい)テストをする方法

ERTでテストをするやり方が気になったので、Githubでテストしているリポジトリをいくつか見ていった。いくつかのリポジトリを見て、これぐらいなら後々応用が利くかなと程度のものができたので記事にしてみようと思う。テストはEmacs24でついてくるようにな…

Cannot open load file: subst-ksc と出るエラー対策?

根本的な問題解決はこっちかも→MacターミナルのEmacsが古かった根本的な原因 - プログラムとかののblog===============================MacでEmacsのテストをやってみてたらなんかエラーが出てきた。どうもパスを設定できていなかったからうまくいかなかった…

EmacsLispでアナフォリックマクロを使う

Emacsでもアナフォリックマクロは使うことができる。使う場合は M-x package-install anaphora でインストールすればいい。auto-installを持ってる人はこれを M-: で評価したり、*scratch* バッファでC-jで評価すればいい。 (auto-install-from-url "https:/…

Emacsの起動時間を短縮する方法 #Emacs #AdventCalendar

Emacs Advent Calendar 9日目です。すみません書くのがものすごく遅れてしまいました...。なんとか年内に書けた...。前の日は、color-themeでEmacsの見た目をきれいにする - Qiita、次の日は、emacsの設定ファイルをどうするかというのはおそらく共通の悩み …

ghc-mod not found が出たの場合の対応

ghc-mod not foundがよく出てくるのでいい加減書いておく。ghc-mod not found はPATH設定してないのがゲンインらしい。 対処方法 もしghc-modをインストールしていない場合は $ cabal install ghc-modでインストールしておく。LinuxとWindowsの場合の設定の…

Emacsで選択範囲の改行を置換する方法

検索する限りでは、M-x replace-regexpや M-x query-replace-regexpなどを使ってC-q C-jで置換する方法以外で、スクリプトとして置換するやり方はほとんどなかったみたいだった。かろうじてStack Overflowに自分がやりたいことを書いてくれているものがあっ…

バッファのある一行の文字列を取得する

アクセス解析を見てた時に、buffer-substringで行の取得の仕方を検索してた人がいた。そういえば行の取得の仕方を書いてなかったので書いてみようと思う。 やり方 test-string1 ;; <-ここの行にカーソルがあったとする test-string2 ;;(point-at-bol) 現在の…

複数のユーザー別にhowmディレクトリをDropboxディレクトリに設定するやり方

いきさつ 研究室用のEmacsと家用のEmacsの設定の違いを吸収するにはどうしたらいいか考えてたらauto-completeのプルダウンメニューにユーザー関係の変数が用意されてたのを発見した。用意されている変数があるのでよし使おうと思ったら作ってみたら出来た。 …

byte compileの時に出た、Invailid lambda variable(...)というエラー

test.el:2:4:Error: Invalid lambda variable (quote test-list) というエラーがバイトコンパイルの時に出た。なにかと思ったらdefunの後の引数の括弧が抜けてただけだったorz。 (defun my-func (add-to-list 'test-list (?' . ?'))) ↓ (defun my-func () (a…

eval-last-sexp-popupでmake-stringマイナスでバグることの解決方法

どうやったら再現できるバグかはわからないけれど何回も苦しめられたので一応書こうと思う。 もう既に解決された問題だったか、popup.elをアップデートしていなかったことが原因だったかもしれない。エラー文の見た目は下リンクのwholenumpエラーと大体一緒 …

WindowsでEmacsを使ってるときに32bitか64bitかを見分ける方法

Windowsで32bitか64bitかを判別したいというときが、もしかしたらあるかもしれない。そんなときのための最近思いついたelispです。この発想の元は、C:/Program Files (x86)があったらそれは64bitのWindowsじゃないかということだった。下のコードが発想を元…

Emacsでバッファから文字列を取得するやり方

バッファからの文字列取得の仕方がわからなかったのでメモしておく。 バッファからの文字列取得は buffer-substring buffer-substring-no-propeties buffer-string 3つがあるっぽい。この内、buffer-stringは文字列のテキスト属性をもってるため、そのまま…

smartchrの設定例

Emacs Advent Calendar jp: 2011 : ATNDに初参加です。そして遅れてすみませんでした...。28日目はd:id:k1Lowさんの空気のようなEmacs Lisp -2011 冬-です。自分が書く内容はsmartchr.elの設定例が出来上がってしまいましたので、smartchr.elの設定を記事に…

最近思いついたEmacs Tips

どれも日頃のEmacsの不便を少し解消できるはず。 現在のバッファをanythingの選択バッファを出さずに消したい (defun my-kill-current-buffer (interactive) (kill-buffer (current-buffer))) ;;"Ctrl + Alt + k" (define-key global-map (kbd "C-M-k") 'my-…

.emacs設定ファイルを公開している人ちょっとまとめ

Emacsの設定ファイルを公開している人を少しまとめてみました。全部列挙するのはむりっぽかったので途中で諦めています(汗)探せば公開している人はそれなりにいるので参考にすると良いと思います。追記 2014/01/23 ↓のgithubではアクティブな人が晒してるの…

Emacsのマニュアルや、関連書籍

GNU Emacsの公式マニュアル。Emacsで使われている機能のマニュアル一覧を見ることができる。 Gnu Emacs Manuals OnlineネットにあるGNU Emacsマニュアルへのリンクまとめ http://macemacsjp.sourceforge.jp/index.php?EmacsManuals Emacs Manual - メモ用なW…

EmacsWikiの編集で気づいたこと

EmacsWikiの翻訳と整備だれかしてくれないかなと思ってたけど、なんだか誰もする気配がない。はてさてどうしたものかと思って、もう自分が編集するしかないということでいくらか編集した。EmacsWikiの設定とかは膨大なのでどこからしたものかと思ったけど、…

DiredでAlt+↑のキーバインドを作る

Alt+上矢印で上の階層に行くキーバインドが欲しくなって探したらコードはあったのでキーバインドのコードを追加するだけでできた。 設定 25.3.5 フォルダを開く時, 新しいバッファを作成しない ― dired これを.emacsファイルに貼り付ける。init-loaderがある…