20171028_66842_emacs実践入門_出版記念イベント_以前emacs使いだったvim使いがemacsのリハビリしている様子(回想多め)...

26
© 2017 UNICAST INC. 2017/10/28 Emacs実践入門 出版記念イベント LT以前Emacs使いだったVim使いが Emacsのリハビリをしている様子 (回想多め)

Upload: wataru-noguchi

Post on 21-Jan-2018

885 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

© 2017 UNICAST INC.

2017/10/28

Emacs実践入門出版記念イベントLT枠

以前Emacs使いだったVim使いがEmacsのリハビリをしている様子

(回想多め)

Page 2: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

アジェンダ

© 2017 UNICAST INC. 1

1. 自己紹介

2. 事の発端

3. エディタ戦歴

4. 回想

5. Emacs再入門

Page 3: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いが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

Page 4: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

事の発端

© 2017 UNICAST INC. 3

こんにちは、Vim使いです。

Page 5: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

事の発端

© 2017 UNICAST INC. 4

• ここ2年近く東京の勉強会に顔を出してなくて浦島太郎状態

• でも今流行のクラウドや機械学習、ビッグデータとかばっか

りでどのあたりに切り込んでいけばいいかわからない

• 最近デフォルトのVimのSphinx のシンタックスハイライトが

つらくて(アスタリスク入れると以降の色表示がおかしくな

る)Emacsならいい感じにシンタックスハイライトしてくれ

て、Emacs使おうと思ったらキーバインドほとんど忘れてた

→再入門しよう

• オッEmacsの勉強会あるやん

• 枠がいっぱいだったからLTしよう

• 月1で社内勉強会は今もやってます@大都会日立市

Page 6: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

エディタ戦歴

© 2017 UNICAST INC. 5

• クロスプラットフォーム

• Atom

• Vim

• Emacs

• Windows

• メモ帳

• TeraPad

• EmEditor Professional

• 秀丸

• xyzzy(Emacs互換のCommon Lispエディタ)

• サクラエディタ

• その他数え切れぬWindowsのフリーウェアたち

• Mac

• Coda2

• 赤(今常用してるエディタ)

• 青(以前かなり使ってた)

• 黒(とりあえず使ってた)

Page 7: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

回想

© 2017 UNICAST INC. 6

時は遡り2005年

Page 8: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

回想(黎明期)

© 2017 UNICAST INC. 7

• 大学に入ってLinuxというものを知る

• スーパーハカーはどうもEmacsを使っているらしい

• WindowsではCommon Lispが使えるxyzzyを使用

• そのころは慣れれば慣れるほどEmacs開くのが楽しかった

• .emacsに機能拡張のelispダウンロードして設定書き加えるの

も特に苦ではなかった

• ブラウジングもメール送るのも(mew)Emacsでしていたころ

がある

• VineLinux+Emacs+TeXで卒論を書いたのがクライマックス

Page 9: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

回想(その時のVim(vi)は)

© 2017 UNICAST INC. 8

• 最初Vimを触ったときの感想

• どうやって終了すんだこれ

• vimではなくvi開いてしまってバックスペースで文字が消

えなくて混乱する

• Vimつかえる人(特にvi)は変態(褒め言葉)だなと思っ

• C-c :q

• C-c :q!

• C-c :wq

• i

Page 10: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

回想(終焉)

© 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のことを忘れ始めてくる

Page 11: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門

© 2017 UNICAST INC. 10

そして2017年10月下旬

Page 12: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門(思い立ったが吉日)

© 2017 UNICAST INC. 11

• 最近はほぼサーバ、ネットワークのことばっかりやってたか

らもっぱら仮想マシン上で作業を完結させることが多い

• SSHするサーバにEmacs入れないので、仮想マシン上でも頑

なにVimを使い続けてたしAnsibleのPlaybook(YAML)の編集も

あまり困らなかった(一時期Atomも使ってた)

• Sphinx(reST)も基本シンタックスハイライト大丈夫だけど、

デフォルトVimだとアスタリスク入った文字列貼り付けると

きに激しく描画が乱れるのがつらくなってきた

• Emacs立ち上げるといい感じにreSTシンタックスハイライト

できてる

• でもキーバインドほとんど忘れてて全然スピードがあがらな

かったのでVim,Atomを併用する、ひどい時はWindows上で

reST編集するとかやってた

Page 13: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門(思い立ったが吉日)

© 2017 UNICAST INC. 12

VimでreSTの編集つらい

Page 14: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門(決意)

© 2017 UNICAST INC. 13

そうだ、Emacs使おう

Page 15: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いが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を入れるといいらしい

• どうやらパッケージという概念ができたらしい

Page 16: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門

© 2017 UNICAST INC. 15

パッケージ…?

Page 17: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門

© 2017 UNICAST INC. 16

• .emacs.d/init.el無いけど作っていいのか?

• yaml-mode.el : EmacsでYAMLを編集するyaml-modeが進化し

ていた

http://emacs.rubikitch.com/yaml-mode/

Page 18: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門

© 2017 UNICAST INC. 17

• Emacs再起動

• M-x Install-package yaml-mode[スペース]と入れるとinstall-

package-fと補完される。。。引数与えたいのに

• そうか、命令打ってエンター押してから引数与えるんだった

な、、、

• あれ、yaml-mode見つからない、、、

Page 19: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門

© 2017 UNICAST INC. 18

カンマが余計でした

Page 20: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

(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/")))

ココ

Page 21: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門

© 2017 UNICAST INC. 20

• .emacs.d/init.elの記述ミスでパッケージリストがうまく取っ

てこれてなかった

• 直す

• パッケージリストが前のままでyaml-mode見つからない

• リフレッシュどうすんだこれ。。

• ぐぐってQiitaの記事見つける

• M-x package-refresh-contents

• 今度はyaml-modeインストールできた

Page 22: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門(グラビアスクショ集)

© 2017 UNICAST INC. 21

CUI上のEmacsでAnsible Playbookを開いたところ(yaml-mode)

※正確には role の meta/main.yml

Page 23: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門(グラビアスクショ集)

© 2017 UNICAST INC. 22

ReSTのファイル開いたところ

w/ Emacs25 on Ubuntu 17.10

Page 24: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

Emacs再入門(進捗どうですか)

© 2017 UNICAST INC. 23

• コメントアウトの設定方法を覚える

• Undo, Redoの勘所を覚える

• rectangle-mark-mode覚えた

• これ(矩形編集、挿入)が一番やりたかった

• 上下左右のショートカット移動(C-p, C-n,C-f,C-b,Alt-f,Alt-b)

• Vimのキーバインドと間違える

• 少しずつ勘を取り戻し始めている

• いけそうな気がしてきた

Page 25: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

© 2017 UNICAST INC. 24

今後の成長にご期待下さい

Page 26: 20171028_66842_Emacs実践入門_出版記念イベント_以前Emacs使いだったVim使いがEmacsのリハビリしている様子(回想多め)

25

ご清聴ありがとうございました。

© 2017 UNICAST INC.