emacs

個人的なemacsのmajor-modeの作成方法についてのまとめ(リンク集)

なんか忘れてしまったので個人用のまとめ。おそらく他の人に役に立つことは無い。 emacswikiから major-modeを定義する方法については概ねemacswikiに説明がある。 from scratch define-generic-mode define-derived-mode define-generic-modeは新しいmajor-…

emacsのtooltip作成用のライブラリのposframe.elの使いかたを調べていた。

経緯 元々の経緯として、補完のinterfaceにivyを検討していたのだけれど、どうも候補選択のUIは現在のカーソル位置からのtooltipのような形で出て欲しいかなと思ったりしていた。 現状はcompany-modeを使っていたのだけれど。ivyでできないかなーと思ったり…

ertを使ってelispのunittestを書く方法のメモ

ertを使ってelispのunittestを書く方法のメモ。ertは標準で添付されているのでインストールは不要(なはず)。 使いかた 以下のような関数を定義しておく(テスト対象) (defun my:add (x y) (+ x y)) テストを書く。 (require 'ert) (ert-deftest add20 () …

emacsのフォントの大きさを調節する方法のメモ

はじめに 遠くの画面に写して作業をしたくなった。デフォルトで用意されているコマンドだけでは特定のバッファのフォントの大きさを調整する方法だけしか見つからなかった。しょうがないのでちょっとしたコマンドを作った。 そのついでにemacsのフォントの大…

dired上でvimっぽい感じでカーソル移動がしたくなった

J,Kでサブディレクトリにカーソル移動するのが便利。lがdiredのredrawと被っているのだけれどとりあえずディレクトリ上以外のときにはredrawすることにした(良い方針ではないかも)。 (defun my:dired-setup () (define-many-keys dired-mode-map `( ("[" .…

Emacsで指定したregionを標準入力として渡した結果をinsertする機能

時折、Emacsで現在のバッファにある文字列を入力として何らかのコマンドに投げて、その結果を取得したいと言うことがある。 単に結果を見たい場合には、shell-command-on-region が M-| などにbindされているので便利なんだけれど。結果を直接現在のバッファ…

手元のファイルのansi color codeを取り除きたい場合の関数

手元でテキトウに正規表現作っただけなのでミスっているかも。 (defun my:strip-ansi-color-region (beg end) (interactive "r") (unless (region-active-p) (setq beg (point-min)) (setq end (point-max))) (save-excursion (save-restriction (narrow-to-…

python-environment.elを使うのにvirtualenvを不要にする

python-environment.elというelispが、jediなどをemacsで使おうとした時に使われます (正確に言うと、emacs上でepc(emacs用のrpc) serverをつかったjediのinterfaceをインストールした際に使われる) 。 このpython-environment.elですが、python2.x系のこと…

melpaからanything.elが消されている事に気づいた

melpaからanything.elが消されている事に気づいた。発端はたまたまEmacsの環境が壊れてしまって復旧しようとしていたときのこと。 PRが作られていて、もうanythingなんて誰も使っていないし移行したい人はhelmを使っているよねという内容。 Remove anything …

emacsで正規表現で置換する場合に入力する値のメモ

emacsで正規表現で置換する場合のメモ。ついついescapeなどの対応関係を忘れてしまうので。 例 int(xxx)をxxxに変換する M-x replace-stringでminibufferで入力する場合 int(\([^)]+\)) -> \1 ちなみに文字列で渡す場合には全部にescapeが要る。 (replace-re…

dabbrev-expandが手元のarchの環境で期待通りに動かない理由を調べた

(これはとても個人的なメモというか備忘録です) dabbrev-expandが手元のarchの環境で期待通りに動かない理由を調べた(付け加えておくと、手元のarchの環境が悪いのであってarchが悪いわけではない)。 はじめに 最近、自分の使っているemacsのdabbrev-expand…

emacsでjqをJSONファイルのformatterとして使う

emacsでjqをJSONファイルのformatterとして使う。方法は2つ。 shell-command-on-regionを使う formatter専用の関数を作る shell-command-on-regionを使う M-|にshell-command-on-regionという関数がbindされている。これに引数を与えてあげると、現在選択さ…

emacs上でmozcを使ったときにC-nとC-pで変換候補中の移動をできるようにする

emacs上での日本語入力にmozcを使うようにしてみた。macではなくlinux上での環境の話。 通常の設定では以下だけなのだけれど(mozcをビルド後に mozc_emacs_helper が使えるようにしないとだめ)。 (require 'mozc) (set-language-environment 'japanese) (set…

EIN(Emacs IPython Notebook)を試してみる

2つrepositoryがあり後者の方がmelpaで入るもの。どうやら後者は前者のforkらしい。 tkf/emacs-ipython-notebook: IPython notebook client in Emacs millejoh/emacs-ipython-notebook: Jupyter and IPython 2.x/3.x notebook client in Emacs install packa…

個人的なyapfの設定

備忘用のメモ。 yapfはgofmtのpython版的なもの。autopep8みたいな代替も存在している。 github.com 少しだけ違うフォーマットでつかいたかった。yayapfを作った。消したい。 github.com こういうformatに対応したかった こういうformatに対応したかった fro…

手軽にes6を試す環境も作っておきたいと思った

はじめに es6を試す環境もほしい。(今回はes2015とか細かい事は気にしない) とりあえず以下の様なことができてほしい es6で作成したコード片のtranspileの結果を手軽に確認できる es6で作成したコード片の実行が手軽にできる ブラウザから試せるrepl 以下の…

pickup.el書いた

emacsでvirtualenvとbuildoutでツクッタpythonを呼ぼうとするときに必要になった。 考え方は単純で「現在の位置から親を再帰的にたどり望みのパスのコードが無いか調べる」というもの。 例えば cwd = ~/venv/foo/bar/boo/bee/boo.py を編集している時、おそ…

emacsの設定ファイルどうするのかというのはおそらく共通の悩み

この記事はemacs advent calendar 2012(http://qiita.com/advent-calendar/2012/emacs)の10日目の記事です。 はじめに emacsの設定どうしてるかなどについてまとめてみました。他の人はどうしているかなど聞いてみたりしたいです。 しばらくemacsから離れて…