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
How to Get Started with Tree-Sitter Emacs 29 introduces tree-sitter support, a powerful parsing library that enhances its understanding of source code. With this integration, Emacs gains features like precise syntax highlighting, accurate indentation and easier extensibility. Here's how you install and configure Emacs with tree-sitter support. I think it’s time to talk about how you can start usin
2021-04-27 | 685 Words | 2 minutes | Masanori Mano #Emacs Emacsに来たnative compileを試す で --with-native-compilation オプション付で Emacsをビルドして、とりあえず eln ファイルができて、elファイルがコンパイルされるところは 見たので、今日はその性能について見てみた。 当然ネイティブコンパイルするからには、高速化されていることに期待。 検証用コードhttps://www.emacswiki.org/emacs/EmacsLispBenchmark を見て、バブルソートで測定するのが良さそうだったので拝借。 ただ、リストの数がある程度欲しかったので、10000のリストに対してソートするようにしている。 (defun bubble () "." (let* ((lis
GNU Emacs開発チームは3月25日、テキストエディタの最新版となる「GNU Emacs 27.2」を公開した。 GNU Emacsはフリーのテキストエディタ。Lisp言語の方言であるEmacs Lispを中核とし、拡張性に優れる。シンタックスハイライト、Unicodeサポート、デバッガーとのインターフェイス、プロジェクトプランナーなどの機能を備える。GNU/Linux、BSD系、Windows、macOSで利用できる。Emacs 27.2は、2020年8月に公開したバージョン27系の最新安定版となる。新機能はなく、バグの修正が中心となる。 Lispでは、resize-mini-framesユーザーオプションの振る舞いを変更し、non-nil値に設定時は、行頭または行末の空白文字をスキップする新しい関数のfit-mini-frame-to-bufferを使ってミニフレームのサイズ変更を
これで簡単にインストールできます。が、こちらはterminal版のみです。さらにNative Compも対応してません。 3.Emacs-plus Emacsにオプションてんこ盛りにした物で、こちらも人気があるようです。これはNative Compに対応しています。その他のオプションも色々あります。 オプションの指定はこの後のEmacs-Macと同じです。(もちろんplusにしかない物もあります)こちらも人気があるようです。 4.Emacs Mitsuharu Yamamoto version (emacs-mac) さて、結論をいうと、私はこれを使っています。ネットで検索した時に、一番良いとの声が多かったからです。もちろんそこは個人の感じ方次第でしょうが、使ってみて安定しており、お勧めできます。また特徴として、 Native Comp 対応 スムーズスクロール対応 Apple Event
Updated: 2023-01-06 About a year ago I was bitten by the PL bug. It started with reading Crafting Interpreters and discovering the wonders hidden under the hood of a compiler. I am also been a big fan of Emacs, and this started to get me interested in how its interpreter works. At the same time, I was reading the Rust book and trying to understand the concepts there. This all came to a head, and I
ちょっとNEWSファイルを見てみたら結構長い。 github.com 上は現在1のEmacsリポジトリmasterブランチの/etc/NEWSファイルである。このNEWSファイルには将来リリース予定のEmacs 27での様々な変更点が書かれている。 現在のNEWSファイルは全体で3294行となっていて結構長い。ただ、これが過去バージョンと比べて長いのか短いのかわからないので、過去バージョンはどれくらいだったか調べてみた。 以下バージョンごとのNEWSファイルの行数(2019年11月16日現在)。 NEWSファイル 行数 /etc/NEWS 3294 /etc/NEWS.26 1933 /etc/NEWS.25 1831 /etc/NEWS.24 3866 /etc/NEWS.23 2568 /etc/NEWS.22 5698 /etc/NEWS.21 4903 /etc/NEWS.20 4
Combobulate: Structured Movement and Editing with Tree-Sitter Combobulate is a package that adds advanced structured editing and movement to many programming modes in Emacs. Here's how it works, and how it can enrich your editing experience in Emacs. About a year ago I released an alpha – prototype, really – version of a tool I call Combobulate. I’d been using it personally for a while before I le
Table of Contents org-captureの設定を終えた。 Motivation Method org-capture org-agenda Result org-captureの設定を終えた。 Entered on [2018-07-05 Thu 18:52] 何かふと思い立ってorg-captureの設定を始めた。 org-captureはEmacsにおける強力な環境であるorg-modeを最高に簡単に使えるようにするプラグインの1つである。 私はここ3年ほどVimとEmacsのどちらも試しているが身体に染み付いているのはEmacsであるため、 このような設定をすることになったのである。 Motivation Plain Textベースでの日記を書きたくなった。 Day OneやEver Noteのアプリを開いてでなく 自由なエディタで日記を書きたかったのである。 また
それ以外にもキーバインドたくさんありますが、普段使わないようなものも多いので全部書く、みたいなことはしません。他のキーバインドが気になる方はEmacsを使ってみましょう笑。 歴史的な経緯ってなんや? 今のmacOSは、もともとSteve JobsがAppleから追放された時に作ったNeXTって会社で作っていたワークステーションに搭載されていたNeXTSTEPというOSを源流としています。詳しくはリンク先を読んでもらえればと思うのですが、このNeXTSTEPというOSにEmacsキーバインドが組み込まれていたんですね。なので、今でもmacOS上では上記キーバインドが使えるというわけです。ちなみに、AppleではObjective-Cを公式開発言語の一つとして位置付けていますが、これも元々はNeXTSTEPをObjective-Cで開発していたから、という経緯です。面白いですね。 使えるアプリ
前書き Emacsへの不満としてよく目にするのがウィンドウ管理の訳わからなさです。 勝手に分割したり、閉じたり閉じなかったり、使っているウィンドウに別のバッファーを表示したり、と訳わかりません。 Emacs Lispリファレンスマニュアルとかを読めば、それを制御するウィンドウパラメーターなるものとか記述されてますが、読んでも「えーそこからですか?」という感じで面倒くさくてあきらめてしまいます。 そんな折、redditで高評価だったウィンドウ管理に関する長文のブログ記事を読んでとてもためになったので要約してみました。本当は進歩著しいAIで手っ取り早く和訳orgを作ったんですが(自分用に色々なとこからこつこつためてます; 最近はAIの使い方でサイトごと一気に取り込んで、とか色々あるようですがわたしはセンテンス単位でブラウザ上でカットアンドペースト; わたしはこーゆーやり方じゃないと頭に入らない
いいところ 左コマンドキーで英数、右コマンドキーでかなに切り替えることができるEmacs Markセットがどこでもできるようにしたターミナル(Terminal、iTerm2)側でtmuxを使っているのでそっちのキーバインドを優先できた JSON { "title": "MySettings", "rules": [ { "description": "コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな)", "manipulators": [ { "type": "basic", "from": { "key_code": "left_command", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_m
I am greeted with a terminal interface that says: "Welcome to GNU Emacs, one component of the GNU/Linux operating system". I feel religious already. To open src/main.rs, I can press C-x C-f, where C- means Ctrl+ (and M- means Alt+, at least for me), which opens a "Find file" prompt at the bottom, pre-filled with the current working directory: for me that's ~/bearcove/bottom. There's tab-completion
[This is about Symex.el, the Emacs extension for structural editing with Lisp. If you are unfamiliar with Symex, you could read the post introducing it, or TL;DR: just know that “symex” is short for Lisp symbolic expression / S-expression, and this extension provides a full-featured modal interface / Evil state for editing Lisp code.] This tutorial is modeled after the excellent Animated Guide to
小ネタである。 昔よりは便利になったとはいえ、Gmailのメールとか掲示板の投稿とかをウェブブラウザ上で書くのはめんどくさい。Emacs上で書きたいのである。というか、Emacs以前に「メール」とか「掲示板」とかいう時点ですでに老害感が横溢しており我ながらびびった。 それはさておき、そういうとき一昔前だとウェブブラウザ側にEdit with Emacsというアドイン、Emacs側に edit-server.el というのを入れて使っていたのだが、設定が複雑で何かとうまく行かなかった覚えがある。これが最近だと、ブラウザ側はGhostTextアドイン、Emacs側にatomic-chromeを入れれば楽に実現できる。名前がatomでchromeって大丈夫なのかねという感じだが(Atomはディスコンになってしまったし)、AtomやChromeだけではなくEmacsにもMozilla Firefo
English howm: 一人お手軽 Wiki もどき Emacs で断片的なメモをどんどんとるための環境です. 分類機能はあえてつけません. かわりに, 全文検索とメモ間リンクが手軽にできるようにしました. 自由書式なので改宗も不要 :-) クイックスタート, ダウンロード (スナップショット版 / git) 使い方: UNIX USER 誌の記事 / チュートリアル / 詳細 / → 旧 howm wiki (凍結) (archive) → Meadow memo での紹介 → Andrei Sukhovskiiさんのチュートリアル. howmに関する最も詳しいドキュメントです. (英語・ロシア語) → EmacsWiki (Tipsあり) 質問等: GitHub の Issue へ ( バグの指摘をくださる方へ / ChangeLog Memo と howm ) 移植 vim: →
(2022-08-15追記:CompanyからCorfuへ移行しました) Emacsのバッファ内での入力補完を行うcompany-modeですが、使っていると困ることも色々ありました。それで少し設定を変えて使っていたのですが、まだ不満が残っていたのでここらでゆっくり検討してみました。 一番困るのが誤入力を助長してしまうという点です。テキスト入力中に勝手に候補を出すまでは良いのですが、RETを押すと勝手に出してきた候補を選択してしまい不要な文字列を付け足してしまいます。 例えば 100 と入力して RET を押したら 100 の後に改行が入ることを期待するわけですが、改行を打つ直前に勝手に 100 で始まる文字列を候補に出してきて、それが入力されてしまうわけです。例えばバッファ内に他に 10000 と書いてある部分があると、 100 ではなく 10000 が入力されてしまうわけです。入力時に
tl;dr ox-zennというorgからZenn flavored markdownを生成するパッケージを書きました。 Zennマークダウンは独自記法があるので、orgファイルとの対応について少し注意することがある。 org-modeとは 概要 「org-modeとはEmacsのメジャーモードのひとつです」という説明は正しいのですが、org-modeの力を説明するには全く言葉が足りません。 org-modeの日本語プロジェクトページには Org-mode はノートの保存、TODOリストの管理、プロジェクト計画、文書編集のためのモードです。高速で効率的なプレーンテキストのシステムを使ってファイルを編集します。 と説明されています。 この説明でとても重要なのはorgドキュメントが「プレーンテキスト」であるという点です。 「プレーンテキスト」はロックインを避けるための究極の選択肢です。 「or
;; init.el --- My init.el -*- lexical-binding: t -*- ;; Configurations for Emacs ;; Takeo Obara <bararararatty@gmail.com> (defconst my/loading-profile-p nil "If non-nil, use built-in profiler.el.") (defconst my/enable-profile nil "If true, enable profile") (defconst my/enable-c-h-backspace nil "If true, enable C-h backspace")
topsyは多くのLispパッケージを手がけているalphapapa氏が開発しているLispパッケージです。 MELPAからインストールできます。 これは現在画面に映っている関数の上端が見切れている場合に、関数のヘッダー行をウィンドウのヘッダーラインとして表示するマイナーモードです。 言葉で説明するよりも実際にGIFアニメで見てもらった方が早いでしょう。 言語ごとの関数ヘッダ行の特定は、 topsy-mode-functions でカスタマイズすることもできますが、一般的には beginning-of-defun-function で十分なはずです。自作のメジャーモードで期待通りに動かない場合は beginning-of-defun-function の設定を検討してみてください。 なお、Emacs組み込みの機能ではwhich-function-modeというマイナーモードがあり、これは画
最近チームの同僚がScalaのコードベースにscalafmtでフォーマッタをかけてくれて、ソースコードの見通しがとても良くなった。 VSCodeはセーブ時に自動的にLSP経由でコードフォーマットを呼び出す機能(format-on-save)を持っているのだが、コードベース全体がフォーマットされたことで、この設定を有効化できるようになった。 とてもありがたい。 ところでEmacsにもLSPプラグインがあるので、LSP経由でのフォーマット機能は存在するのだが、セーブ時に自動的にフォーマットする機能はないようだ。 そこで、セーブ時に自動的にフォーマッタをLSP経由で呼び出してくれる機能をEmacs Lispで書いた。ディレクトリ・モード単位で有効・無効の設定が可能な設計にした。 コード まずは、以下のコードを.emacsなどに置く。 (defvar project/format-on-save
はじめに PythonまわりのEmacsの設定を整理したということ。Company-modeの設定は言語共通の部分が多く長くなるので省略した。Language serverの紹介がメイン。 ※最新の設定は2022の記事に tam5917.hatenablog.com Language server Emacsからlanguage serverを使うためにeglotを入れる。MELPAからインストール可能。さらにPython用のpython-language-serverをインストールしておく。ターミナルから以下を実行する。 pip3 install python-language-server関連パッケージをまとめて入れる場合は以下がラク。 pip install 'python-language-server[all]' Flymake flycheckはOFFにして、flymakeを使
前編はこちら。 udzura.hatenablog.jp ここまででスキャナまでは実装し、大体動いたようです(型もちゃんとついたようです)ので、続きの実装をします。 閑話: エディタの型支援を受ける 当方はEmacsなので読者の参考にならないかもしれませんが...。 といっても以下を有効にしたぐらい。 rbs-mode lsp-mode 同梱になった lsp-steep どちらも @ybiquitous さんの力なので、神と崇める他ない。 さらに、RBS有効のプロジェクトだけlspをsteepが用意したものに変えるため、プロジェクトのルートに以下のような .dir-locals.el を用意する。この内容は とんさんのブログ記事 のものを参考にしている。 ((ruby-mode . ((lsp-enabled-clients . (steep-ls))))) これでlspとlsp-uiを有
A lot changed since my 2019 GTD and CRM flow post . After trying lots of new software in 2022, I’ve come back full circle to org-mode. But the experiments with new things were super valuable. I caged and culled new ideas and ways of doing stuff from other software and feel it’s made my GTD setup and system fundamentally stronger and helps me execute better. Here’s how it all works. This is a #Long
金曜日の終業間際に Emacs 環境が壊れてしまい。週末はその復旧にあてがった。 おそらくアップグレードした Emacs 29 と Helm の噛み合わせが悪くなったことが原因 (かもしれない) 。 もともといい加減 Helm から Ivy に変更したかったのと、el-get もあまりうまく活用できている感じではなかったことから、Emacs 環境を再整備する機会として 8 年ぶりに init.el をスクラッチでリライトすることにした。@onk 経由で知った言葉を借りれば、これもまたソフトウェア式年遷宮みたいなものかもしれない。 以下環境構築メモ。 まず anything.el の流れのものがないとどうにもならないので、Helm に変わり Ivy を入れる。2018年くらいに @elct9620 から Ivy が良さそうという話を聞いてからかなり時間が経っていた recentf もないとど
Window management in Emacs gets a bad rap. Some of this is deserved, but mostly this is a consequence of combining a very flexible and granular layout system with rather coarse controls. This leaves the door open to creating and using tools for handling windows that employ and provide better metaphors and affordances. As someone who’s spent an unnecessary amount of time trying different approaches
最近 MacOS で、CapsLock を Control キーの挙動にするよう変更した。tmux を使い始め、(Cmd ではなく) Control キーの使用頻度が上がってきたからだ。 MacOS の US 配列の場合、Control キーはキーボードの一番左下。CapsLock は「A」キーの左にある。CapsLock キーを Control キーの挙動にしてやると、Control + T などを入力する時に、左手小指を下に下げる必要がなくなり、キーの入力速度が上がるのだ。 MacOS の場合は「システム環境設定」→「キーボード」→「修飾キー...」ボタン より、すぐに CapsLock や各種メタキーのアサインを変更できるのでお手軽だ (defaults コマンドでもやれなくはないが、ちょっと設定が面倒らしい)。 CapsLock を Control キーに変更するのが効果的だと実感
EmacsのLSPクライアントとして現在盛んに開発されているlsp-modeと、C/C++/Objective-CのLSPサーバ(言語サーバ)であるcclsを用いて、C/C++の開発環境を整えてみました。 lsp-mode + cclsでC++を書いている様子 私がよく利用しているUbuntu16.04環境(そろそろ18.04にアップグレードします…)へ導入した話なので、他の環境に導入したい方は参考程度にご覧ください。 1. はじめに 今までC/C++のプロジェクトではironyやrtagsを利用していたのですが、最近lsp-modeの存在を知り、試しに導入してみたところ、これがかなり快適でした。 GitHub – emacs-lsp/lsp-mode 冒頭にも書きましたが、lsp-modeとはLSPクライアントとして動作するEmacsのパッケージです。 これに関しては以下の@Ladicl
次に来る自動補完 テキストエディタの入力支援の仕組みは以下のように進化してきました。 辞書データに基づく単語の補完(VimのCTRL-X補完など) 辞書データに基づくコード片の補完(スニペット補完機能) 文脈に応じたルールベースの単語の補完(Language Server Protocolなど) 生成AIを用いたより大きなコード片の補完(GitHub Copilot) いずれの支援機能も登場当時は革命的として歓迎されてきました。では、次に来る革命的な支援機能は何でしょうか?私は操作の補完を提案します。現在の補完機能は、新しくコードを書く(いわゆる新規作成)のタスクに対応しています。しかし、日常的なコーディングのほとんどは新規作成のタスクではなく、編集・更新といった上書き操作です。ここを支援するべきではないでしょうか? ところで、操作の補完はとても難しいです。テキストエディタの気持ちになって
74 Evolution of Emacs Lisp STEFAN MONNIER, Université de Montréal, Canada MICHAEL SPERBER, Active Group GmbH, Germany Shepherd: Brent Hailpern, IBM Research, USA While Emacs proponents largely agree that it is the world’s greatest text editor, it is almost as much a Lisp machine disguised as an editor. Indeed, one of its chief appeals is that it is programmable via its own programming language. Em
Emacs’s Builtin Elisp Cheat Sheet Emacs now has a builtin cheat sheet for a large swathe of common elisp functions. If you can't remember exactly how to do something, then this is a great place to look for it first. Learning Emacs lisp is as much about taming the language as it is the ecosystem of functions and variables that you need to get the job done. The lack of namespaces (notwithstanding sh
Version 27.2 of the Emacs text editor is now available. For more information on Emacs, see: https://www.gnu.org/software/emacs You can retrieve the source from your nearest GNU mirror by using one of the following links: https://ftpmirror.gnu.org/emacs/emacs-27.2.tar.xz https://ftpmirror.gnu.org/emacs/emacs-27.2.tar.gz The tarballs are signed; you can get the corresponding PGP signatures at https:
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く