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
0
220
いまさら始める(vimmerのための)Emacs
電算部老人会 #1 (2021.09.05)で発表したスライド。
Meta = Altである話をすっぽかしてたことに気がついたorz……。
eniehack
September 05, 2021
Tweet
Share
More Decks by eniehack
See All by eniehack
大学の自販機を一覧できる地図サイトを作ってみた.pdf
eniehack
0
18
Crystalはいいぞ
eniehack
0
95
Other Decks in Technology
See All in Technology
効果的なオンコール対応と障害対応
ryuichi1208
5
2.6k
20240906_JAWS_Yamanashi_#1_leap_beyond_the_AWS_all_certifications
tsumita
1
270
Eventual Detection Engineering
ken5scal
0
1.3k
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
120
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
220
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
130
自社開発した大規模言語モデルをどうプロダクションに乗せて運用していくか〜インフラ編〜
pfn
PRO
23
6.8k
CRTO/CRTL/OSEPの比較・勉強法とAV/EDRの検知実験
chayakonanaika
1
1.1k
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
120
難しいから面白い!医薬品×在庫管理ドメインの複雑性と向き合い、プロダクトの成長を支えるための取り組み / Initiatives to Support Product Growth
kakehashi
2
180
ナレッジグラフとLLMの相互利用
koujikozaki
0
290
デジタル化・DX推進あるある
y150saya
0
240
Featured
See All Featured
A better future with KSS
kneath
235
17k
Navigating Team Friction
lara
183
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Fireside Chat
paigeccino
31
2.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5k
Gamification - CAS2011
davidbonilla
79
4.9k
Practical Orchestrator
shlominoach
185
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Designing for humans not robots
tammielis
248
25k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Pragmatic Product Professional
lauravandoore
31
6.2k
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