Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
いまさら始める(vimmerのための)Emacs
Search
eniehack
September 05, 2021
Technology
330
1
Share
いまさら始める(vimmerのための)Emacs
電算部老人会 #1 (2021.09.05)で発表したスライド。
Meta = Altである話をすっぽかしてたことに気がついたorz……。
eniehack
September 05, 2021
More Decks by eniehack
See All by eniehack
大学の自販機を一覧できる地図サイトを作ってみた.pdf
eniehack
0
230
Crystalはいいぞ
eniehack
0
190
Other Decks in Technology
See All in Technology
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
920
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
みんなの考えた最強のデータ基盤アーキテクチャ'26前期〜前夜祭〜ルーキーズ_資料_遠藤な
endonanana
0
310
ボトムアップ限界を越える - 20チームを束る "Drive Map" / Beyond Bottom-Up: A 'Drive Map' for 20 Teams
kaonavi
0
190
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
120
React 19×Rustツール 進化の「ズレ」を設計で埋める
remrem0090
1
110
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
170
Agent Skillsで実現する記憶領域の運用とその後
yamadashy
2
1.8k
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
490
Gaussian Splattingの表現力を拡張する — 高周波再構成とインタラクションへのアプローチ —
gpuunite_official
0
150
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
カオナビに Suspenseを導入するまで / The Road to Suspense at kaonavi
kaonavi
1
450
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
440
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
790
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
130
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Ruling the World: When Life Gets Gamed
codingconduct
0
220
The Cult of Friendly URLs
andyhume
79
6.9k
The agentic SEO stack - context over prompts
schlessera
0
770
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
いまさら始める (vimmerのための)Emacs 電算部老人会 #1 2021/09/05 Nakaya
近況 • 大学合格しました • デザイン実験で4bitCPUを作っています • 卒研の進捗は……。 • 日記を書いています→eniehack.hatenablog.com •
工華祭でFM放送局をやる……かも……? • phpでblogサービスを作っています • NimとLuaでノベルゲームエンジン開発中
卒研 • アウトラインプロセッサの制作 – 箇条書きで文章の概形を書いてから、細部の書いて ゆく – 文章を階層構造で
ところで
Q. 使っているエディタは? • メモ帳 • (Neo)Vim • Emacs • VSCode
• Atom • Sublime Text
私はEmacsを使っています
org-mode • 著名なMinor modeの1つ • プレインテキストで – TODOリスト – Read
it laterリスト(like Pocket) – 文章を書く • アウトラインプロセッサ – 表計算(?! アイコン: https://simple-icon.org
org-modeの機能 • 文書のエクスポート先が豊富 – HTML、ODT、Markdown、PDF、 LaTeX、Beamer…… • LaTeX埋め込み可 • 文書内のソースコードを実行可
• 文芸的プログラミングができる
emacs用語 • Buffer: ソースファイルを編集する場所 • Window: frameのペイン • Frame: ウインドウ
• Minibuffer: 一番下のコマンドを入力する場所
Minibuffer Modeline window buffer Window buffer Modeline
mode Minor mode Major mode Major mode Major mode ………
アイコン: https://simple-icon.org
mode • Major mode – 言語、拡張子、バッファ(タブ相当?)ごと – バッファ1つに対し1つのみ – Cpp-mode、org-mode、ruby-mode……
• Minor mode – 1つのバッファに複数使用可 – ddskk(入力メソッド)、ivy/helm(minibuffer補完)、company(補完)……
Emacsを使いたい でも、キーバインドはvimがいい
Evilがある • Extensible VI Layer • Emacsにはvi/vim派を受け入れられる心の広さ がある – vimにはない
画像はGitHubから (https://github.com/emacs-evil/evil)
Q. Emacsは遅い? • daemonを起動しておくと、すぐ起動する – daemonなし(doom emacs): 4s – daemonあり:
1s以下 • Emacs Lispをバイトコンパイルしておく
Emacsだって近代的だもん! • LSP • イカすテーマ
LSP • Language Server Protocol • 補完とかLintとかエラーとか • lspmode •
Eglot
Q.設定が面倒? • スターターキットがある – Spacemacs – Doom Emacs – Scimax
Spacemacs • 元祖vimmerのためのEmacsフレーバー • layerごとに有効無効の設定する • 拡張性はいまいち……
Doom Emacs • ~/.emacs.dにインストール ~/.doom.dに設定を記述 • spacemacsより拡張性がある • Emacs Lispのバイトコンパイルを念頭に置いている
• DSLで必要な機能を直感的に選択可
None
None
Emacsにあるもの • ゲーム • Eliza • Twitter Client
Emacsはゲームセンターだった?! • Tetris • Gomoku