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
260
いまさら始める(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
120
Crystalはいいぞ
eniehack
0
120
Other Decks in Technology
See All in Technology
[JAWS-UG栃木]地方だからできたクラウドネイティブ事例大公開! / jawsug_tochigi_tachibana
biatunky
0
130
さいきょうのアーキテクチャを生み出すセンスメイキング
jgeem
0
270
Tokyo RubyKaigi 12 - Scaling Ruby at GitHub
jhawthorn
2
210
信頼性を支えるテレメトリーパイプラインの構築 / Building Telemetry Pipeline with OpenTelemetry
ymotongpoo
9
5k
EDRからERM: PFN-SIRTが関わるセキュリティとリスクへの取り組み
pfn
PRO
0
100
panicを深ぼってみる
kworkdev
PRO
2
140
Skip Skip Run Run Run ♫
temoki
0
360
アーキテクチャわからん、の話
shirayanagiryuji
0
150
RevOpsへ至る道 データ活用による事業革新への挑戦 / path-to-revops
pei0804
3
800
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
340
攻撃者の視点で社内リソースはどう見えるのかを ASMで実現する
hikaruegashira
4
2.1k
Oracle Cloud Infrastructure:2025年1月度サービス・アップデート
oracle4engineer
PRO
0
180
Featured
See All Featured
Music & Morning Musume
bryan
46
6.3k
Into the Great Unknown - MozCon
thekraken
34
1.6k
The Language of Interfaces
destraynor
156
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
19k
Making Projects Easy
brettharned
116
6k
The Cult of Friendly URLs
andyhume
78
6.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Six Lessons from altMBA
skipperchong
27
3.6k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Designing for Performance
lara
604
68k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Unsuck your backbone
ammeep
669
57k
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