Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Emacs on WSL

392 views

Published on

WSL上でEmacsを使うお話

Published in: Technology
  • Be the first to comment

Emacs on WSL

  1. 1. Emacs on WSLEmacs on WSL kai2nenobukai2nenobu 2019-05-082019-05-08 東京Emacs勉強会 端午の節句東京Emacs勉強会 端午の節句 1
  2. 2. Table of ContentsTable of Contents 1. Emacs on Windows 2. Emacs on WSL 3. まとめ 2
  3. 3. Emacs on WindowsEmacs on Windows 3 . 1
  4. 4. ⾃⼰紹介⾃⼰紹介 GitHub Twitter init.el   SIerでJavaとか書いてます。 kai2nenobu @kai2nenobu https://github.com/kai2nenobu/.emacs.d 3 . 2
  5. 5. Emacsの主な⽤途Emacsの主な⽤途 、markdownでのメモ書き(80%) でGitリポジトリ操作(10%) ビルドスクリプト、シェルスクリプトなどの 短いコード書き(10%) 開発にはIDEを使う 開発環境はほぼWindowsばかり org-mode magit 3 . 3
  6. 6. Emacs on WindowsのつらみEmacs on Windowsのつらみ 重い(起動も動作も) 突然落ちる 外部プログラム連携しにくい 外部プログラムのインストールがめんどくさい ⽂字コードがつらい(CP932なにそれ) trampが使いにくい sshプロトコルを使うとハング 代わりにplinkプロトコル(putty)を使う ⇒秘密鍵の形式が違う⇒めんどくさい 3 . 4
  7. 7. WindowsがだめならLinuxだWindowsがだめならLinuxだ はWindows 10で導⼊された Windows上でLinuxを動作させるためのサブシステム。 Linux上で動作しているEmacsを X Serverで表⽰すればWindowsアプリの如く使える︕ Windows Subsystem for Linux 3 . 5
  8. 8. Emacs on WSLEmacs on WSL 4 . 1
  9. 9. 前提前提 Windowsバージョン Windows 10 Pro 1803以降 Linuxディストリ Emacsバージョン 26.2 X Server ⽇本語⼊⼒ Emacs以外のGUIアプリは使わない ⽇本語⼊⼒するのはEmacsのみ 主にメモ書き、Gitリポジトリ操作⽤途 がっつりプログラミングはしない Ubuntu 18.04 VcXsrv Windows X Server Google⽇本語⼊⼒ 4 . 2
  10. 10. Emacsを使う準備(Windows側)Emacsを使う準備(Windows側) Windowsで Windows Subsystem for Linux を有効化 UbuntuをWindowsストアか でインストール VcXsrvをインストール&起動 LxRunOf ine 4 . 3
  11. 11. Emacsを使う準備(WSL側)Emacsを使う準備(WSL側) bashを起動 Emacsをインストール Emacsを起動 これだけでLinux上のEmacsをGUIで操作可能になる。 クリップボードの同期などもできる。 $ sudo add-apt-repository ppa:kelleyk/emacs $ sudo apt update $ sudo apt install emacs26 $ DISPLAY=:0 emacs & 4 . 4
  12. 12. よくある課題よくある課題 1. ワンクリックで起動したい 2. ⽇本語⼊⼒ 3. 半⾓/全⾓リピート問題 4. ssh秘密鍵管理 4 . 5
  13. 13. ワンクリックで起動したいワンクリックで起動したい いちいちbash端末を開いてから emacs と⼿打ちするのはだるい。 wsl.exe コマンドでWSL上のコマンドを呼び出せる。 ⇒ wsl.exe でEmacsを起動するバッチスクリプトを⾃作︕ ダブルクリックや右クリックメニューから 起動できるようになる。 全体は⻑いので 参照Gist 4 . 6
  14. 14. ⽇本語⼊⼒ 1/2⽇本語⼊⼒ 1/2 mozc_emacs_helper.exe を使⽤すると、 Windows側のGoogle⽇本語⼊⼒を WSLのEmacsから使⽤できる。 (設定や辞書は共有) (⾃作)を使うと 簡単にインストールできる。 chocolateyパッケージ > choco install mozc-emacs-helper --source https://www.myget.org/ka i2nenobu 4 . 7
  15. 15. ⽇本語⼊⼒ 2/2⽇本語⼊⼒ 2/2 Emacs側の設定 (use-package mozc :config (setq mozc-helper-program-name "mozc_emacs_helper.exe") (setq mozc-helper-process-timeout-sec 10) ;; Windows の mozc では、セッション接続直後 directモード になるので hira ganaモード にする (advice-add 'mozc-session-execute-command :after (lambda (&rest args) (when (eq (nth 0 args) 'CreateSession) ;; (mozc-session-sendkey '(hiragana))))) (mozc-session-sendkey '(Hankaku/Zenkaku )))))) (use-package mozc-im :config (bind-key "<zenkaku-hankaku>" #'toggle-input-method) (setq default-input-method "japanese-mozc-im")) (use-package mozc-popup :config ;; 変換候補をポップアップで表示する (setq mozc-candidate-style 'popup)) 4 . 8
  16. 16. 半⾓/全⾓リピート問題半⾓/全⾓リピート問題 IMEを切り替えようとして 半角/全角 キーを押すと 半角/全角 キーがリピート⼊⼒されて IMEが⾼速に切り替わってしまう問題。 Xの設定で 半角/全角 キーのリピート⼊⼒設定を 無効にすればいいらしい。 ref. Ubuntu 18.04では要 x11-xserver-utils パッケージ Windows⽤Xサーバ での⽇本語⼊⼒設定 $ sudo apt install x11-xserver-utils $ xset -r 49 4 . 9
  17. 17. ssh秘密鍵管理ssh秘密鍵管理 WindowsとWSLで秘密鍵を⼆重管理したくない︕ Windows 10 1803以降であればssh-agentが 同梱されている。(Windowsのサービスとして動作) WSL側からは を使えば ssh-agentサービスの秘密鍵情報にアクセスできる。 ※ただし登録した秘密鍵情報が永続的に保存される問題あり ssh-agent-wsl 4 . 10
  18. 18. デモ(時間があれば)デモ(時間があれば) 4 . 11
  19. 19. まとめまとめ 5 . 1
  20. 20. Emacs on WSLの効果Emacs on WSLの効果 起動時間が短縮する(場合もある)。15秒→5秒 magitがサクサク動く。体感3〜5倍ぐらい早い。 ⽂字コードに関する動作不良がない。 Linuxにおける資産をほとんど活⽤できる。 ansibleによる⾃動セットアップも可能。 5 . 2
  21. 21. 試⾏錯誤、検討中試⾏錯誤、検討中 .emacs.dをWindows/WSLで共有するか。 IDEをWSLにインストールするか。 編集するソースをWindows/WSLのどちらに置くか。 Gitの改⾏設定はどうするか。 5 . 3
  22. 22. 参考ページ参考ページ ⾮常に多くの先⼈の知識を 参考にさせていただきました🙏感謝🙏 emacs-mozc を動かすための設定(emacs 設定編) - NTEmacs @ ウ ィキ - アットウィキ WSL の Emacs で⽇本語⼊⼒ - Qiita Windows 10のssh-agentをコマンド プロンプト、WSL、Git Bashで 使ってみた - Qiita 5 . 4
  23. 23. ご清聴ありがとうございましたご清聴ありがとうございました 5 . 5

×