タグ

emacsに関するkwryのブックマーク (159)

  • おすすめEmacs設定 - 2011-02-16 - ククログ

    注: これの更新版である2012年版があります。 他の人がEmacsを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のEmacsのおすすめ設定をここに記しておきます。 ディレクトリ構成 長年漬け込んできたEmacsの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。 .emacs.d |-- init.el ;; 基的な設定を記述 |-- config ;; 特定のモードや非標準のElispの設定をこの下に置く | |-- builtins.el ;; 標準Elispの設定 | |-- packages.el ;; 非標準Elispの設定 | `-- packages ;; 非標準Elispのうち、設定が多

    おすすめEmacs設定 - 2011-02-16 - ククログ
    kwry
    kwry 2011/02/18
  • emacs lisp でよりよいコーディングを - KAYAC Engineers' Blog

    ようやく社員紹介ページができました。nagata (@handlename) です。 先日の @soh335の記事に感化されて emacs 版を書いてみました。章立てはだいたい同じになってます。 ※ elisp = emacs lisp elispの管理 auto-install.el URLから elisp を直接インストールすることができます。 EmacsWiki: auto-install.el .emacs にはこんな設定を書いておきます。 (require 'auto-install) (add-to-list 'load-path auto-install-directory) (auto-install-update-emacswiki-package-name t) (auto-install-compatibility-setup) (setq ediff-window-

    emacs lisp でよりよいコーディングを - KAYAC Engineers' Blog
    kwry
    kwry 2010/11/04
  • Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami

    先日の関西Emacsでは、Emacs Lisp の入門記事がうけるとか、「書ける」ようになる情報がないらしいという話を聞きました。確かに、Emacsの初歩的な操作入門と、良く書ける人がアプリやブログなどでelispをばしっと書いてるのはよく見ます。入門から書けるようになるまでの間の過程は見たこと無かったかもしれないと思いました。 ということで、Emacsの先人たちにはまだまだ及びませんが、いくつかのアプリを書いてみた自分がたどった方法を書いてみます。先にまとめると以下の2つになると思います。 elispでどうしても書きたい物があること たくさん書いて動かして(こっちが先)、そしてInfoや他人のコードを見て勉強する 書ける以前のまとめ Emacs歴10年以上。すでに生活の一部。 でも設定を書くのに使っていたぐらい。 既存のアプリの分かりやすいバグを手元でちょっと直すとか。 LISP系の言語

    Emacs Lisp が「書ける」ようになるまで - 技術日記@kiwanami
  • emacsの矩形選択モード紹介 - KAYAC Engineers' Blog

    ようやく風邪が治りました。nagata(@handlename)です。 みなさん、矩形選択モードというものをご存知でしょうか? 矩形というのは長方形のことです。 矩形選択というのはつまり、領域を四角形に選択することを指します。 通常選択 矩形選択 通常テキストエディタは行毎に処理を行いますが、 矩形選択を活用すると行をまたいだ操作を行うことができます。 今回はemacsの矩形選択モードを3種類ほど紹介してみたいと思います。 標準の矩形選択 emacsに最初から用意されている関数です。 それぞれの関数にはそれぞれキーバインドが設定されています。 コマンド呼ばれる関数動作 C-x r cclear-rectangle矩形領域を空白文字に置き換える C-x r ddelete-rectangle矩形領域を削除する C-x r oopen-rectangle空白文字で埋まった矩形領域を挿入する C

    emacsの矩形選択モード紹介 - KAYAC Engineers' Blog
  • perl向けのemacs設定 - メメメモモ

    今まではemacsの設定を最低限のものにしていたのですが、やはり生産性というものを上げようと考えた時に、エディタの便利な機能は使いこなしておいた方がいいのかな、と思いました. そのとっかかりとして下記のtypester先生の資料で紹介されている拡張と設定を行ないました。これは前々回のCasualPerlのスライドですね。 http://typester.stfuawsc.com/slides/perlcasual2/start.html 割と手間取ってしまったので、設定メモ。 emacsのアップデート さっそく設定をインストールしようとしたら、失敗しまくり。 その原因がemacsのバージョンでした。 「21.x.x」を使っていました。 現在のEmacsのバージョンは「23.x.x」なので、インストールし直しました。 これで後述の「auto-install.el」が正常に動作するようになりま

    perl向けのemacs設定 - メメメモモ
  • .emacs分割のすゝめ - KAYAC Engineers' Blog

    最近ロードバイクを買いました。nagata(@handlename)です。 前回、安易にも無防備な.emacsを晒したら、我らがtypester先生に 「.emacsに全部書くのは小学生までだよね〜」(大幅に誇張あり) と言われてしまったので、早速.emacsを分割してみたいと思います! (設定ファイル群をgithubにあげました) なんで分割するの? そもそもなんで分割するんでしょうか? メリットとしては、こんなものがあります。 見通しがよくなる 環境依存の設定を切り分けられる 一部のファイルにエラーがあっても他のファイルの設定は適用される それぞれ個別にbyte compileできる 一部のエラーが全体に影響しないっていうのはいいですね。とっても。 では、実際に分割する方法を見ていきましょう。 分割してみよう 分割した設定ファイルを読み込むために、IMAKADOさん謹製のinit-lo

    .emacs分割のすゝめ - KAYAC Engineers' Blog
    kwry
    kwry 2010/07/31
  • .emacsを、晒してみようと、思った。 - KAYAC Engineers' Blog

    最近確実に左手小指が強化されてきました、nagataです。 さてさて、今回は.emacs紹介というベタなテーマです。 いいんです。自分はまだやってないんで。 とりあえず、マイ.emacsの全貌はこちら。 Mac OS X 10.6上のemacs23で使ってます。 せっかくなので上から解説していきますよ! 基的に、.emacsに書いてる内容→解説、の順です。 解説、というか一言コメント 初期設定 (let ((default-directory "~/.emacs.d/site-lisp/")) (setq load-path (cons default-directory load-path)) (normal-top-level-add-subdirs-to-load-path)) お決まり。 elispがつまったディレクトリを指定しています。 normal-top-level-add

    .emacsを、晒してみようと、思った。 - KAYAC Engineers' Blog
    kwry
    kwry 2010/07/19
  • e2wm の設計と実装 - 技術日記@kiwanami

    はじめに e2wm.elのソース読んだり、自分流に拡張するための参考になるように、e2wmの設計と実装について簡単に説明します。 あらすじ 全体の構成の説明 各モジュールの説明 各イベント時の動きの説明 現在の実装と今後の予定 図の一覧@Cacoo 全体の構成 まず、全体構成の図を示します。 全体の構成図 全体的な流れとして、イベントや画面の変化などをパースペクティブ管理に集めてきて、そこでパースペクティブに応じた加工を行い、ウインドウレイアウト制御のライブラリで画面に描画するという形です。 モジュール間の依存関係は次の図のようです。矢印の先が依存先です。 モジュール間の大まかな依存関係 パースペクティブ管理や履歴の情報とウインドウ制御の機能を、各モジュールが参照して使っているというようなイメージになります。 e2wm.elのソースコードの命名も、大体このような分類で並んでいます。 各モジ

    e2wm の設計と実装 - 技術日記@kiwanami
    kwry
    kwry 2010/07/05
  • e2wmについて考えたこと(調査や要件定義など) - 技術日記@kiwanami

    ツールを作るのも好き。昔からツールを作って満足して、そもそもの目的が達成できないタイプ。 はじめに この記事では、e2wm.elがなんでこんなUIになっているかを説明します。UIにはストーリーが重要だと思っていて、e2wm.elについて考えたことをまとめたいと思います。また、e2wm.elやこの記事をきっかけに、Emacsに限らず、今後のIDEの開発の貢献に役立てるといいなと思っています。 あんまりうまく使い分けできていませんが、名称について。 e2wm 仕組みや仕様を指すとき e2wm.el 今回の実装を指すとき あらすじ 画面が広くなって、なぜかEmacsが使いにくくなった そこで他のIDE、アプリなどのUIを調査してみた プログラマ(自分)の業務分析して要件を考えた 最初の実装のゴールを定義した 図の一覧@Cacoo (2010/07/03追記) Emacsと画面のサイズの変化 きっ

    e2wmについて考えたこと(調査や要件定義など) - 技術日記@kiwanami
    kwry
    kwry 2010/07/05
  • oinume journal

    大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codemodで機械的に書き換えたい。 BEFORE package main import ( "slices" "testing" ) func TestContains(t *testing.T) { type args struct { ss []string s string } tests := map[string]struct { args args want bool }{ "empty: false": { args: args{[]string{}, ""}, want: false,

    oinume journal
  • Perl Hacks on Emacs

    Agenda EmacsでPerlコーディング anything.el perl-completion.el auto-complete.el anything-project.el flymake perl-tidy emoji 設定方法

  • C/C++のための開発援助ツール、GCCSenseをリリースしました - Functional Emacser

    未踏プロジェクトの支援を受けて開発していた、C/C++のための開発援助ツールGCCSenseをリリースしました。配布物やドキュメントは次のURLから入手できます。 http://cx4a.org/software/gccsense/index.ja.html 開発援助ツールと銘打っていますが、現状利用できる機能はコード補完と自動構文チェック(Emacsのみ)だけです。将来的には関数ヘルプ機能や型表示機能を実装する予定です。 GCCSenseはコード補完などの機能を搭載した独自のGCCを利用しているため、インストールがかなり面倒です。ドキュメントによってある程度カバーしたつもりですが、環境によってまちまちなのでインストール時に問題が出てくるのは必至だと思います。その際は私に連絡してください。 また、独自GCCを利用している関係上、現状ではWindowsでの利用はできません。自由なソフトウェア

    C/C++のための開発援助ツール、GCCSenseをリリースしました - Functional Emacser
    kwry
    kwry 2010/04/18
  • Software Design連載記事「Emacsのトラノマキ」の原稿 — ありえるえりあ

    技術評論社「Software Design」の2009年5月号から連載している「Emacsのトラノマキ」の原稿を随時公開します。 Emacsの検索機能を使いこなす(菅原泰樹) 「Emacsのトラノマキ」 連載第一回 「Emacsの検索機能を使いこなす」 Emacsの検索機能を使いこなす(2)(菅原泰樹) 「Emacsのトラノマキ」 連載第二回 「Emacsの検索機能を使いこなす(2)」 第一回目の原稿(http://dev.ariel-networks.com/articles/emacs/part1)と重複があります。第一回目の原稿が長すぎて分割したためです。 lispを(なるべく)書かないコマンド作成講座(菅原泰樹) 「Emacsのトラノマキ」連載第三回「lispを(なるべく)書かないコマンド作成講座」 コピーアンドペーストを使いこなす(松山智大) 「Emacsのトラノマキ」連載第四回

    kwry
    kwry 2010/02/25
  • 選択している文字列を camelcase<->snakecase に変換するコマンド - IMAKADO::BLOG

    ;; copied from rails-lib.el (defun ik:decamelize (string) "Convert from CamelCaseString to camel_case_string." (let ((case-fold-search nil)) (downcase (replace-regexp-in-string "\\([A-Z]+\\)\\([A-Z][a-z]\\)" "\\1_\\2" (replace-regexp-in-string "\\([a-z\\d]\\)\\([A-Z]\\)" "\\1_\\2" string))))) (defun ik:camerize<->decamelize-on-region (s e) (interactive "r") (let ((buf-str (buffer-substring-no-prop

    選択している文字列を camelcase&lt;-&gt;snakecase に変換するコマンド - IMAKADO::BLOG
    kwry
    kwry 2009/12/12
  • smartchr.el を使って生産性を上げる - KAYAC Engineers' Blog

    人生初めての萌え神社メイドカフェ体験で、「なむなむ、にゃんにゃん、ラブ込め〜」という呪文(唱えた人の味覚を鋭敏にし、ケーキの味を引き立たせる効果があるらしいです)をテレビ取材で唱えさせられそうになったので、丁重に断りました。今年1年の中でも3の指に入るほどの真面目に人と話した場面だったのではないかと思います。 そんな事があったのが、six days ago! agoではありません、IMAKADOです。 さて、皆さんはプログラム中に = を書くとき、両端にスペースを入れているでしょうか? 私は、入れています。入れないより入れた方が、プログラムがずっと読みやすくなるからです。 ですが、前後にスペースを入れない時と比べて、2回タイプ数が増えてしまうという問題があります。 そういった問題を解決する smartchr.el というemacs拡張をリリースしました。 smartchr.elを使う事で

    smartchr.el を使って生産性を上げる - KAYAC Engineers' Blog
    kwry
    kwry 2009/11/27
  • emacsで正規表現による置換を快適に行いたい件 – taichino.com

    emacsで正規表現による置換を結構快適に使えるようになったので記録しておきます。 emacs標準コマンドのM-x replace-regexpは拡張正規表現と呼ばれる構文に対応していないので、スクリプト言語等で使用できる正規表現よりも機能が低く使いにくいのが問題でした。 結論を先に書きますと、以下手順でemacsから快適に正規表現による置換を行えるようになりました。 .zshrcに[[ $EMACS = t ]と書いてemacsから使用するシェルをzshに設定し .zshenvにsetopt RC_QUOTESと書いて’のネストを許可し、 M-!やM-|から実行したコマンドの履歴もシェルと共有して emacs上でC-u M-|からperl -nle ‘パターン;print’で置換 さて、始まりは前の職場の人のperlの正規表現は凄いという発言です。 その時はあまり興味が無かったのですが、

    kwry
    kwry 2009/09/17
  • Lisp はわからないけどEmacs で選択範囲に対してごにょごにょしたい | ブログが続かないわけ

    Emacs を使っていると、選択範囲に対してなにか処理したいということはよくある。それなのに、Lisp がわからないからということで、あきらめてしまってはいないだろうか。Emacs でいろいろなことをやるにはLisp は必須だけど、「選択範囲に対して何か処理を施す」というだけであれば、Lisp はほとんど知らなくても実現できてしまう。 要は、選択範囲を引数として自作のスクリプトに渡して、それの戻り値を受取ることができればいいわけだ。選択範囲をスクリプトに渡すという部分はLisp で書かなければいけないんだけど、そこはここで示すテンプレートをコピーして使うだけで問題ない。 それでは、例として、選択範囲の小文字を全て大文字に変換するというものを作ってみよう。 (これ自体はEmacs の標準のコマンドでできるけど、ここは例としてこれを作る) まず、雛形となるLisp のテンプレート my-fun

    Lisp はわからないけどEmacs で選択範囲に対してごにょごにょしたい | ブログが続かないわけ
    kwry
    kwry 2009/09/16
  • Emacs使いが幸せにiTermとTerminal.appを使う方法 - hnwの日記

    今回はMacOSXユーザーかつEmacsユーザーの人にのみ関係する話題です。要はKeyRemap4MacBook使うといいよ!ってことです。 以前の記事「一部のCommand+?だけをMeta+?として使うKeyRemap4MacBookパッチ」のパッチに問題があったので修正してみました。これを改めて紹介します。修正してから10日以上使っていますが、僕は違和感なくiTermで作業できています。(Terminal.appでも問題なく使えます) Emacs病とMac Emacs病が悪化してくるとmetaキーを頻繁に使うようになってきます。Macの標準的なEmacsであるCarbon EmacsではデフォルトでCommandキーがmetaキーの意味になっているので、そのままの設定で使っている人が多数派なのではないでしょうか。 一方で、Terminal.appの初期設定ではmetaキーが利用できま

    Emacs使いが幸せにiTermとTerminal.appを使う方法 - hnwの日記
  • SQL扱うのに便利な関数とか、プレースホルダーを埋める関数とか - IMAKADO::BLOG

    Arkのログ、DBIC_TRACE=1 の時に出るやつをごニョゴニョしたいと思って。いろいろやってみた。 SELECT * FROM user me WHERE ( ( me.id = ? AND deleted = ? ) ): '4', '0' を選択して、 M-x sql-fill-placeholders すると、kill-ring に SELECT * FROM user me WHERE ( ( me.id = '4' AND deleted = '0' ) ); が入っている状態になる。埋め込まれている。そのまま実行できるはず。 以下は、応用。 SELECT * FROM user me WHERE ( ( me.id = ? AND deleted = ? ) ): '4', '0' を選択して、 C-u M-x sql-fill-placeholders-and-send

    SQL扱うのに便利な関数とか、プレースホルダーを埋める関数とか - IMAKADO::BLOG
    kwry
    kwry 2009/08/05
  • GitHub - willert/Catalyst-Emacs-Integration: Helpers to ease development of Catalyst projects from within emacs

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - willert/Catalyst-Emacs-Integration: Helpers to ease development of Catalyst projects from within emacs