Upgrade to Pro — share decks privately, control downloads, hide ads and more …

いまさら始める(vimmerのための)Emacs

eniehack
September 05, 2021

 いまさら始める(vimmerのための)Emacs

電算部老人会 #1 (2021.09.05)で発表したスライド。

Meta = Altである話をすっぽかしてたことに気がついたorz……。

eniehack

September 05, 2021
Tweet

More Decks by eniehack

Other Decks in Technology

Transcript

  1. いまさら始める
    (vimmerのための)Emacs
    電算部老人会 #1 2021/09/05
    Nakaya

    View Slide

  2. 近況
    ● 大学合格しました
    ● デザイン実験で4bitCPUを作っています
    ● 卒研の進捗は……。
    ● 日記を書いています→eniehack.hatenablog.com
    ● 工華祭でFM放送局をやる……かも……?
    ● phpでblogサービスを作っています
    ● NimとLuaでノベルゲームエンジン開発中

    View Slide

  3. 卒研
    ● アウトラインプロセッサの制作
    – 箇条書きで文章の概形を書いてから、細部の書いて
    ゆく
    – 文章を階層構造で

    View Slide

  4. ところで

    View Slide

  5. Q. 使っているエディタは?
    ● メモ帳
    ● (Neo)Vim
    ● Emacs
    ● VSCode
    ● Atom
    ● Sublime Text

    View Slide

  6. 私はEmacsを使っています

    View Slide

  7. org-mode
    ● 著名なMinor modeの1つ
    ● プレインテキストで
    – TODOリスト
    – Read it laterリスト(like Pocket)
    – 文章を書く
    ● アウトラインプロセッサ
    – 表計算(?!
    アイコン: https://simple-icon.org

    View Slide

  8. org-modeの機能
    ● 文書のエクスポート先が豊富
    – HTML、ODT、Markdown、PDF、
    LaTeX、Beamer……
    ● LaTeX埋め込み可
    ● 文書内のソースコードを実行可
    ● 文芸的プログラミングができる

    View Slide

  9. emacs用語
    ● Buffer: ソースファイルを編集する場所
    ● Window: frameのペイン
    ● Frame: ウインドウ
    ● Minibuffer: 一番下のコマンドを入力する場所

    View Slide

  10. Minibuffer
    Modeline
    window buffer
    Window
    buffer
    Modeline

    View Slide

  11. mode
    Minor mode
    Major mode Major mode Major mode
    ………
    アイコン: https://simple-icon.org

    View Slide

  12. mode
    ● Major mode
    – 言語、拡張子、バッファ(タブ相当?)ごと
    – バッファ1つに対し1つのみ
    – Cpp-mode、org-mode、ruby-mode……
    ● Minor mode
    – 1つのバッファに複数使用可
    – ddskk(入力メソッド)、ivy/helm(minibuffer補完)、company(補完)……

    View Slide

  13. Emacsを使いたい
    でも、キーバインドはvimがいい

    View Slide

  14. Evilがある
    ● Extensible VI Layer
    ● Emacsにはvi/vim派を受け入れられる心の広さ
    がある
    – vimにはない
    画像はGitHubから
    (https://github.com/emacs-evil/evil)

    View Slide

  15. Q. Emacsは遅い?
    ● daemonを起動しておくと、すぐ起動する
    – daemonなし(doom emacs): 4s
    – daemonあり: 1s以下
    ● Emacs Lispをバイトコンパイルしておく

    View Slide

  16. Emacsだって近代的だもん!
    ● LSP
    ● イカすテーマ

    View Slide

  17. LSP
    ● Language Server Protocol
    ● 補完とかLintとかエラーとか
    ● lspmode
    ● Eglot

    View Slide

  18. Q.設定が面倒?
    ● スターターキットがある
    – Spacemacs
    – Doom Emacs
    – Scimax

    View Slide

  19. Spacemacs
    ● 元祖vimmerのためのEmacsフレーバー
    ● layerごとに有効無効の設定する
    ● 拡張性はいまいち……

    View Slide

  20. Doom Emacs
    ● ~/.emacs.dにインストール
    ~/.doom.dに設定を記述
    ● spacemacsより拡張性がある
    ● Emacs Lispのバイトコンパイルを念頭に置いている
    ● DSLで必要な機能を直感的に選択可

    View Slide

  21. View Slide

  22. View Slide

  23. Emacsにあるもの
    ● ゲーム
    ● Eliza
    ● Twitter Client

    View Slide

  24. Emacsはゲームセンターだった?!
    ● Tetris
    ● Gomoku

    View Slide