2013-09-01から1ヶ月間の記事一覧

emacsclient -c, --create-frameでフォントの設定を反映する

問題 emacsclientで新規フレームを生成したときに, fontの設定が反映されない. 解決方法 default-frame-alistに fontの設定を追加する ;; 追記: 括弧が 1セット多かったので修正 (add-to-list 'default-frame-alist '(font . "VL ゴシック-10"))

自分のプロダクトを海外でも認知してもらうには(Emacs編)

自分のプロダクトを海外でも認知してもらうには - Gosuke Miyashita はじめに Emacsネタを海外で認知してもらうのはなかなか難しいです. 少なくとも Vimや Sublime Textと比べると難しいです. ユーザが多くない 国内の状況を見ても, ユーザ数は Vimの 1/100…

Emacs Lispで Perlでの s/regexp/replaced/e を実現する

Perlでいうところの s/regexp/replaced/e を知りたかったので 調べてみました. 実現方法 search-forward(re-search-forwardと同じ)と replace-matchを組み合わせる ことで実現できます. query-replace-regexp-evalといういかにもな名前の 関数があったのです…

Emacs Lispで正規表現の validation

anzu.elを作成する際, 入力途中の正規表現が不正というか 未完成である場合の判定を行う必要があったので, それについてのメモを残して置きます 対応 不正な正規表現を正規表現を受け取るような各種検索関数に与えると, "invalid-regexp"という例外が飛んで…

emacs-anzu 0.02をリリースしました

anzu 0.02をリリースしました 追記 正規表現検索の判定に不備があったので修正して 0.03を出しました. リポジトリ https://github.com/syohex/emacs-anzu インストール MELPAから数時間後にはインストールできると思います. 修正点 正規表現検索における問題…

検索情報を任意の位置に設定できるようになりました

出るだろうなぁと思っていたら、即効で issueを受け取ったので 対応しました. 設定例 要は anzu-cons-mode-line-pを nilにして, 表示関数の :evalリストを mode-lineの任意の位置に突っ込むだけです. 任意の場所に設定するための 関数等は用意していないので…

shell-popが複数のシェルに対応しました

複数のシェルが立ち上げられると良いという要望があったので 対応しました. 設計的に辛いかなと思っていたんですけど, 足りないなりにも頭をひねったらなんとかなりました. リポジトリ https://github.com/kyagi/shell-pop-el 利用方法 数値プレフィックスを…

emacs-anzuが migemo対応しました

https://github.com/syohex/emacs-anzu/issues/2 要望があったので対応しました. 設定 anzu.elを最新版にして下記の設定を追加してください (setq anzu-use-migemo t) イメージ おわりに 問題があれば, githubの issuesまでお願いします.

Goで ANSI color code

go

いくつかありましたが, ansiがお手軽に 使えたのでメモ. 現状 256 colorsには対応していないようです. インストール % go get -u github.com/mgutz/ansi コード package main import ( "fmt" "github.com/mgutz/ansi" ) func main() { color := map[string]s…

anzu.vimを Emacsに移植しました

@manga_osyoさんの anzu.vimを Emacsに移植してみました. 誰か作ってそうな感じもするのがですが, 少し調べた程度では見つからなかったので 作りました. 実質 50行程度です. 機能 検索を行ったときに, ヒットした数と現在のポイントがその中のどこで あるか…

Emacsで clever-f.vim的な動作を実現する

本家を一切使ったことがない上, あまり考えていない実装なのでたぶん機能的に 大幅に劣ると思うのですが, 実装してみました. コード (defvar my/last-search-char nil) (defun my/forward-to-char (arg &optional char) (interactive "p\n") (unless char (i…

zsh-completionsの cpanmが 1.7に対応しました

https://github.com/zsh-users/zsh-completions 各種コマンドの zsh補完を集めた zsh-completionsの cpanmの補完が cpanm 1.7に対応しました. cpanmの補完自体は以前からできたのですが, かなり古いバージョンが対象で, 新しく追加された機能を指定するため…

リージョン内の全角カタカナのみを半角文字に変換する

M-x japanese-hankaku-region、選択範囲の”カタカナだけ”を全て半角カタカナにして欲しい 2013-09-15 18:59:56 via YoruFukurou ということで書いてみました. はじめに Emacsには japanese-hankaku-regionという関数があって, 全角文字を 半角文字に変換して…

macdict.vimの Emacs版を作成しました

VimからMacの内蔵辞書を引きたい - Self Reference Linuxでは簡単に辞書を引けるようにしているのですが, Macでは 特に何もしていなかったので, Vimのものを移植させていただくことにしました. リポジトリ https://github.com/syohex/emacs-macdict イメージ…

Emacsで tmuxの zoom, unzoomを実現する zoom-window.el書きました

tmux 1.8で導入された機能に zoom, unzoomがあります(Prefix + z). いくつかの paneに分割した windowを一時的に 1つの paneのみを表示(zoom)し, 再度同コマンドを実行することで元の状態に戻す機能です. Emacsでもそんな機能があったらいいなぁと思ってこの…

Riji向け Emacsユーティリティを書きました

空前のRijiブームに乗り遅れるな!(棒) | おそらくはそれさえも平凡な日々riji.vim を書きました | metropolis コードは @bool_foolさんの riji.vimを参考に書きました. リポジトリ https://github.com/syohex/emacs-riji 機能 riji.vimと同じです. M-x riji…

gomの zsh補完

gomは @mattn_jpさんによって開発されている go版 bundlerです. その zsh補完を書いてみました. リポジトリ https://github.com/syohex/zsh-go-completions イメージ サブコマンド補完 サブコマンドオプションの補完 サブコマンドオプションの補完 その 2 サ…

rijiの zsh補完

空前のRijiブームに乗り遅れるな!(棒) | おそらくはそれさえも平凡な日々 空前のブームなので, zsh補完を書いてみました. リポジトリ https://github.com/syohex/zsh-perl-completions コード #compdef riji typeset -A opt_args local context state line …

quickrunバッファでの 'q'キーの動作を改善しました

quickrun 1.9.1をリリースしました. quickrunバッファでの 'q'キーの動作がまともになりました. リポジトリ https://github.com/syohex/emacs-quickrun 概要 今までは quickrunバッファが表示される windowを deleteしている だけでした. frameを分割せずに…

shell-popが full-frameに対応しました

shell-popが full-frameに対応したので, 紹介します. リポジトリ https://github.com/kyagi/shell-pop-el 設定 shell-pop-window-position変数に "full"を設定すれば, full-frameで シェルを起動します (setq shell-pop-window-position "full") イメージ fr…

とりあえず .tmux.confに追加しておいた方がいい設定

それは "escape-time"です. 著名な tmuxユーザの方の dotfilesを 見てもそこまで設定している人がいなかったので, メモ代わりに 残しておきます. 概要 escape-timeとは Escapeキーが実際に入力されるまでの遅延時間です. デフォルトではこの値が 500に設定さ…

sysfsを使って interfaceの状態を確認する

方法 "/sys/class/net/インタフェース名/operstate"を読み出せばよい 例 % ls /sys/class/net eth0 lo wlan0 % for interface in $(ls /sys/class/net) do echo -n "$interface:" cat /sys/class/net/$interface/operstate done eth0:down lo:unknown wlan0:…

新しい magit向け magit-statusの設定

https://github.com/magit/magit magitが新しくなって, コミットメッセージを今まで独自のものから git-commit-modeを使うようになりました. そのせいかどうかは断定 できないんですが, commitメッセージを書き終えて, C-c C-cで それを反映させた後の Windo…

cpanfileに関するユーティリティ

cpanfile に依存を書き忘れない為に - その手の平は尻もつかめるさ コード scan-prereqs-cpanfileを実行しているだけなんですが, scan-prereqs-cpanfileと いう名前がそもそも忘れがちなので. (defun cpanfile--check () (let ((file (buffer-file-name))) (…

keyfreqで Emacsの使い方を見直す

コマンドの使用頻度を表示してくれる keyfreqの紹介 目的 効率的な移動コマンドをちゃんと使っているかとか, ユーティリティ 書いたけど, 全然使ってないとか判断するのに使えます. リポジトリ https://github.com/dacap/keyfreq インストール MELPAからイン…

bufferの移動には buffer-moveがいい感じ

frameをいくつかの windowに分割して作業している時, 今右側の やつを左にしたいとか, 上にあるやつを下にしたいっていうときが ありますよね. 習慣なのか効き目なのかわからないですけど, 私は普通編集するものはだいたい左に置いて, 眺めるだけのものを 右…

補完候補をページ単位でスクロールする

popup.elにページ単位で候補を切り替える関数が実装されたので それを使って実装してみました. 補完候補が大量にあるときに、 ざっと眺めることができて便利です. 実際に書く際は補完候補を 検索していった方がいいと思いますが, どんなメソッドがある とか…

Devel::Coverから出力した HTMLで C0なカバレッジのコードを Emacsで表示

Devel::Cover::Report::VimででC0なカバレッジのコードを vim で表示 - dann's blog - # 本当であれば, Devel::Cover::Report::Emacs的なものを使ってすべき なんでしょうけど, HTMLを解析して表示させるようなものを作ってみました. Devel::Cover::Report::…

Emacsユーザが「実践Vim」を読んだ感想

vim

はじめに 私はにわか Emacsユーザであり, 定期的に Vimへの乗り換えを試み, 挫折を繰り返していました. なんで最近は諦めて Emacsの使い方をまともに 覚えようという方向でやっていこうと決めたんですが, この本を 読んでまた気持ちがぐらついてしまいました…