20171028_66842_emacs実践入門_出版記念イベント_以前emacs使いだったvim使いがemacsのリハビリしている様子(回想多め)...
TRANSCRIPT
© 2017 UNICAST INC.
2017/10/28
Emacs実践入門出版記念イベントLT枠
以前Emacs使いだったVim使いがEmacsのリハビリをしている様子
(回想多め)
アジェンダ
© 2017 UNICAST INC. 1
1. 自己紹介
2. 事の発端
3. エディタ戦歴
4. 回想
5. Emacs再入門
自己紹介
© 2017 UNICAST INC. 2
株式会社ユニキャスト
ソフトウェアエンジニア
野口 航(Wataru NOGUCHI)
@wnoguchi
https://blog.pg1x.com/
• ソフトウェアエンジニアといいつつ主にサーバの構築・運用とか
ネットワーク機器の設定・運用をメインでやっています
• 有線遅い、無線つながりにくいといったトラブルまで
• オンプレおじさん
• お仕事でAnsibleたくさんやってます
• ドキュメントはSphinx or Dokuwiki その他 Wiki に準ずるもの
Acclaim
https://goo.gl/fwxMRB
過去のスライド
https://www.slideshare.net/
watarunoguchi0727
LPIC
Leve3 Certified Engineer
Virtualization &High Availability
事の発端
© 2017 UNICAST INC. 3
こんにちは、Vim使いです。
事の発端
© 2017 UNICAST INC. 4
• ここ2年近く東京の勉強会に顔を出してなくて浦島太郎状態
• でも今流行のクラウドや機械学習、ビッグデータとかばっか
りでどのあたりに切り込んでいけばいいかわからない
• 最近デフォルトのVimのSphinx のシンタックスハイライトが
つらくて(アスタリスク入れると以降の色表示がおかしくな
る)Emacsならいい感じにシンタックスハイライトしてくれ
て、Emacs使おうと思ったらキーバインドほとんど忘れてた
→再入門しよう
• オッEmacsの勉強会あるやん
• 枠がいっぱいだったからLTしよう
• 月1で社内勉強会は今もやってます@大都会日立市
エディタ戦歴
© 2017 UNICAST INC. 5
• クロスプラットフォーム
• Atom
• Vim
• Emacs
• Windows
• メモ帳
• TeraPad
• EmEditor Professional
• 秀丸
• xyzzy(Emacs互換のCommon Lispエディタ)
• サクラエディタ
• その他数え切れぬWindowsのフリーウェアたち
• Mac
• Coda2
• 赤(今常用してるエディタ)
• 青(以前かなり使ってた)
• 黒(とりあえず使ってた)
回想
© 2017 UNICAST INC. 6
時は遡り2005年
回想(黎明期)
© 2017 UNICAST INC. 7
• 大学に入ってLinuxというものを知る
• スーパーハカーはどうもEmacsを使っているらしい
• WindowsではCommon Lispが使えるxyzzyを使用
• そのころは慣れれば慣れるほどEmacs開くのが楽しかった
• .emacsに機能拡張のelispダウンロードして設定書き加えるの
も特に苦ではなかった
• ブラウジングもメール送るのも(mew)Emacsでしていたころ
がある
• VineLinux+Emacs+TeXで卒論を書いたのがクライマックス
回想(その時のVim(vi)は)
© 2017 UNICAST INC. 8
• 最初Vimを触ったときの感想
• どうやって終了すんだこれ
• vimではなくvi開いてしまってバックスペースで文字が消
えなくて混乱する
• Vimつかえる人(特にvi)は変態(褒め言葉)だなと思っ
た
• C-c :q
• C-c :q!
• C-c :wq
• i
回想(終焉)
© 2017 UNICAST INC. 9
• 大学卒業してちょっとするごろまで2010年ごろまでEmacs
使ってました
• 当時仕事はいつもWindowsで開発してた
• JavaやPHP,C#,VB.NETの開発でEclipseやNetBeans,Visual
Studio等のIDEをよく使うようになってくる
• 次第にサーバ構築・運用もやり始めるようになる
• 最初はVim使いづらすぎてサーバにEmacsいれてやってた
• だんだんVimのキーバインドを覚えて使いやすくなってきた
のでいよいよVimしか使わなくなってくる
• WindowsはEmEditor Professionalが使いやすかったのでそれ
でよくなってきた
• だんだんEmacsのことを忘れ始めてくる
Emacs再入門
© 2017 UNICAST INC. 10
そして2017年10月下旬
Emacs再入門(思い立ったが吉日)
© 2017 UNICAST INC. 11
• 最近はほぼサーバ、ネットワークのことばっかりやってたか
らもっぱら仮想マシン上で作業を完結させることが多い
• SSHするサーバにEmacs入れないので、仮想マシン上でも頑
なにVimを使い続けてたしAnsibleのPlaybook(YAML)の編集も
あまり困らなかった(一時期Atomも使ってた)
• Sphinx(reST)も基本シンタックスハイライト大丈夫だけど、
デフォルトVimだとアスタリスク入った文字列貼り付けると
きに激しく描画が乱れるのがつらくなってきた
• Emacs立ち上げるといい感じにreSTシンタックスハイライト
できてる
• でもキーバインドほとんど忘れてて全然スピードがあがらな
かったのでVim,Atomを併用する、ひどい時はWindows上で
reST編集するとかやってた
Emacs再入門(思い立ったが吉日)
© 2017 UNICAST INC. 12
VimでreSTの編集つらい
Emacs再入門(決意)
© 2017 UNICAST INC. 13
そうだ、Emacs使おう
Emacs再入門(決意)
© 2017 UNICAST INC. 14
• まずはEmacsをインストールするところから
• 本も購入
• Emacs24をUbuntu16.04LTSで入れる
• Windows+SSHでXフォワーディングしてるからCUIじゃなく
てEmacsのGUIが立ち上がる。。。MobaXtermのX環境への日
本語入力辛い
• emacs -nwで回避
• AnsibleのPlaybook類(YAML)を開く
• シンタックスハイライトされてないつらい
• yaml-modeを入れるといいらしい
• どうやらパッケージという概念ができたらしい
Emacs再入門
© 2017 UNICAST INC. 15
パッケージ…?
Emacs再入門
© 2017 UNICAST INC. 16
• .emacs.d/init.el無いけど作っていいのか?
• yaml-mode.el : EmacsでYAMLを編集するyaml-modeが進化し
ていた
http://emacs.rubikitch.com/yaml-mode/
Emacs再入門
© 2017 UNICAST INC. 17
• Emacs再起動
• M-x Install-package yaml-mode[スペース]と入れるとinstall-
package-fと補完される。。。引数与えたいのに
• そうか、命令打ってエンター押してから引数与えるんだった
な、、、
• あれ、yaml-mode見つからない、、、
Emacs再入門
© 2017 UNICAST INC. 18
カンマが余計でした
(package-initialize)
(setq package-archives
'(("gnu" . "http://elpa.gnu.org/packages/"),
("melpa" . "http://melpa.org/packages/"),
("org" . "http://orgmode.org/elpa/")))
Emacs再入門
© 2017 UNICAST INC. 19
(package-initialize)
(setq package-archives
'(("gnu" . "http://elpa.gnu.org/packages/")
("melpa" . "http://melpa.org/packages/")
("org" . "http://orgmode.org/elpa/")))
ココ
Emacs再入門
© 2017 UNICAST INC. 20
• .emacs.d/init.elの記述ミスでパッケージリストがうまく取っ
てこれてなかった
• 直す
• パッケージリストが前のままでyaml-mode見つからない
• リフレッシュどうすんだこれ。。
• ぐぐってQiitaの記事見つける
• M-x package-refresh-contents
• 今度はyaml-modeインストールできた
Emacs再入門(グラビアスクショ集)
© 2017 UNICAST INC. 21
CUI上のEmacsでAnsible Playbookを開いたところ(yaml-mode)
※正確には role の meta/main.yml
Emacs再入門(グラビアスクショ集)
© 2017 UNICAST INC. 22
ReSTのファイル開いたところ
w/ Emacs25 on Ubuntu 17.10
Emacs再入門(進捗どうですか)
© 2017 UNICAST INC. 23
• コメントアウトの設定方法を覚える
• Undo, Redoの勘所を覚える
• rectangle-mark-mode覚えた
• これ(矩形編集、挿入)が一番やりたかった
• 上下左右のショートカット移動(C-p, C-n,C-f,C-b,Alt-f,Alt-b)
• Vimのキーバインドと間違える
• 少しずつ勘を取り戻し始めている
• いけそうな気がしてきた
© 2017 UNICAST INC. 24
今後の成長にご期待下さい
25
ご清聴ありがとうございました。
© 2017 UNICAST INC.