14 Aug 2014, 13:51

英語力を向上させたいのでまずは Emacs からはじめた

英語の Writing/Speaking 力を鍛えるためには?

英語で自分の考えを自由に表現できない

<div class="outline-text-3" id="text-1-1">
  <p>
    最近英語で話す機会が多いのだが, 自分の考えをうまく表現できずにくやしく思うことが多い.
  </p>

  <p>
    MOOC のおかげで, Listening 力はバリバリに向上を感じるのだが, 次に鍛えるべきところは, 自分の考えを不自由なく表現する力だと感じる.
  </p>

  <p>
    すなわち, 以下だ.
  </p>

  <ul class="org-ul">
    <li>
      Writening
    </li>
    <li>
      Speaking
    </li>
  </ul>

  <p>
    英単語がわからなくても, 簡単な言葉に言い直せば表現できる. しかし, スラスラと表現することが難しい.
  </p>
</div>

もっとも効果的な手段は?

<div class="outline-text-3" id="text-1-2">
  <p>
    もっとも効果的な手段はなんだろうか?
  </p>

  <p>
    間違っていてもいいので, とにかく日常のなかで英語で表現する機会を増やすことだと思った.
  </p>

  <p>
    自分の日常のほとんどはパソコンをいじっている. パソコンでする作業のほとんどで, Emacs を利用している. つまりは,
  </p>

  <p>
    Emacs の英語学習環境を整える
  </p>

  <p>
    これが, もっとも英語上達に効果的な方法なのではとおもう.
  </p>

  <p>
    というわけで, ペテンな前置きが長くなったが, 英語学習に役立ちそうな EmacsLisp を集めてみる.
  </p>
</div>

前提条件

環境

<div class="outline-text-3" id="text-2-1">
  <ul class="org-ul">
    <li>
      Arch Linux
    </li>
    <li>
      Emacs 24.4
    </li>
  </ul>
</div>

強化するモード

<div class="outline-text-3" id="text-2-2">
  <p>
    今考えている英語強化法は,
  </p>

  <ul class="org-ul">
    <li>
      英語の日記を書く
    </li>
    <li>
      英語で twitter でつぶやく
    </li>
  </ul>

  <p>
    なので, org-mode と twitter-edit-mode を対象にしようと思う.
  </p>
</div>

英語力をあげる Emacs Lisp

WEB 検索

<div class="outline-text-3" id="text-3-1">
</div>

<div id="outline-container-sec-3-1-1" class="outline-4">
  <h4 id="sec-3-1-1">
    google-translate.el
  </h4>

  <div class="outline-text-4" id="text-3-1-1">
    <p>
      ご存知, Google 翻訳.これはめっちゃいいや!!
    </p>

    <ul class="org-ul">
      <li>
        <a href="https://github.com/manzyuk/google-translate">https://github.com/manzyuk/google-translate</a>
      </li>
    </ul>

    <p>
      設定はこのページを参考にしました. どうもありがとうございます.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://qiita.com/catatsuy/items/ae9875706769d4f02317">卒論を英語で書けと言われしまったあなたにおすすめの Emacs の設 定 &#8211; Qiita</a>
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require &#8216;google-translate)
    </p>

    <p>
      (global-set-key "\C-xt" &#8216;google-translate-at-point)<br /> (global-set-key "\C-xT" &#8216;google-translate-query-translate)
    </p>

    <p>
      ;; 翻訳のデフォルト値を設定 (ja -> en) (無効化は C-u する)<br /> (custom-set-variables<br /> &#8216;(google-translate-default-source-language "ja")<br /> &#8216;(google-translate-default-target-language "en"))
    </p>

    <p>
      ;; google-translate.el の翻訳バッファをポップアップで表示させる<br /> (push &#8216;("*Google Translate*") popwin:special-display-config)<br /> [/sourcecode]
    </p>
  </div>
</div>

<div id="outline-container-sec-3-1-2" class="outline-4">
  <h4 id="sec-3-1-2">
    google-this
  </h4>

  <div class="outline-text-4" id="text-3-1-2">
    <p>
      Google 検索.おまけで翻訳機能もついている.
    </p>

    <p>
      google-translate があればいらないか? とりあえずいれとく.
    </p>

    <ul class="org-ul">
      <li>
        <a href="https://github.com/Bruce-Connor/emacs-google-this">Bruce-Connor/emacs-google-this</a>
      </li>
    </ul>

    <p>
      代表的な使用方法.
    </p>

    <ul class="org-ul">
      <li>
        C-c / g (RET) でその場のキーワード検索.
      </li>
      <li>
        C-c / w でその場のワードを検索
      </li>
      <li>
        C-c / l でその行を検索
      </li>
      <li>
        C-c / c Google 翻訳
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require &#8216;google-this)<br /> (google-this-mode 1)<br /> [/sourcecode]
    </p>
  </div>
</div>

<div id="outline-container-sec-3-1-3" class="outline-4">
  <h4 id="sec-3-1-3">
    search-web.el
  </h4>

  <div class="outline-text-4" id="text-3-1-3">
    <p>
      無料でオンラインの英辞郎 on the WEB をサクッと利用する.
    </p>

    <ul class="org-ul">
      <li>
        <a href="https://github.com/tomoya/search-web.el/tree/master">tomoya/search-web.el</a>
      </li>
      <li>
        <a href="http://qiita.com/akisute3@github/items/8deb54b75b48e8b04cb0">Emacs 使用中に素早く検索する &#8211; Qiita</a>
      </li>
      <li>
        <a href="http://d.hatena.ne.jp/tomoya/20090703/1246610432">Emacs ですぐに単語の検索をしたい欲望を叶える Elisp. &#8211; 日々, とん は語る. </a>
      </li>
    </ul>

    <p>
      キーバインドはつけていない.
    </p>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require &#8216;search-web)<br /> [/sourcecode]
    </p>
  </div>
</div>

<div id="outline-container-sec-3-1-4" class="outline-4">
  <h4 id="sec-3-1-4">
    codic.el
  </h4>

  <div class="outline-text-4" id="text-3-1-4">
    <p>
      エンジニアのためのネーミング辞書.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://codic.jp/">codic &#8211; デベロッパーのためのネーミング辞書</a>
      </li>
      <li>
        <a href="https://github.com/syohex/emacs-codic">syohex/emacs-codic</a>
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require &#8216;codic)<br /> [/sourcecode]
    </p>
  </div>
</div>

文法チェック系

<div class="outline-text-3" id="text-3-2">
</div>

<div id="outline-container-sec-3-2-1" class="outline-4">
  <h4 id="sec-3-2-1">
    fly-spell.el
  </h4>

  <div class="outline-text-4" id="text-3-2-1">
    <p>
      リアルタイム, スペルチェック..これは, 大変重宝している.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://www.gfd-dennou.org/member/uwabami/cc-env/emacs/flyspell_config.html">Youhei SASAKI&#8217;s official site: flyspell-mode の設定</a>
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require &#8216;flyspell)<br /> [/sourcecode]
    </p>

    <ul class="org-ul">
      <li>
        <p>
          <a href="http://d.hatena.ne.jp/mooz/20100423/p1">flyspell-mode の修正候補表示を popup.el で &#8211; mooz deceives you</a>
        </p>

        <p>
          キーバインドを設定.
        </p>
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (global-set-key (kbd "C-c <f8>") &#8216;flyspell-mode)<br /> (global-set-key (kbd "C-c <f9>") &#8216;ispell-word)<br /> (global-set-key (kbd "C-c <f10>") &#8216;flyspell-buffer)<br /> [/sourcecode]
    </p>

    <p>
      どうも flyspell と ac-complete は相性が悪い?
    </p>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (ac-flyspell-workaround)<br /> [/sourcecode]
    </p>

    <p>
      あるモードのみ flysell を起動させる.
    </p>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> ;; コメント領域のところだけ有効.<br /> (mapc<br /> (lambda (hook)<br /> (add-hook hook &#8216;flyspell-prog-mode))<br /> &#8216;(<br /> c-mode-common-hook<br /> ruby-mode-hook<br /> emacs-lisp-mode-hook<br /> ))<br /> [/sourcecode]
    </p>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (mapc<br /> (lambda (hook)<br /> (add-hook hook<br /> &#8216;(lambda () (flyspell-mode 1))))<br /> &#8216;(<br /> text-mode-hook<br /> org-mode-hook<br /> wl-draft-mode-hook<br /> twittering-edit-mode<br /> ))<br /> [/sourcecode]
    </p>
  </div>
</div>

<div id="outline-container-sec-3-2-2" class="outline-4">
  <h4 id="sec-3-2-2">
    helm-flyspell
  </h4>

  <div class="outline-text-4" id="text-3-2-2">
    <p>
      helm-flyspell は flyspell をさらに便利にしてくれる.
    </p>

    <ul class="org-ul">
      <li>
        <a href="https://gist.github.com/cofi/3013327">https://gist.github.com/cofi/3013327</a>
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (global-set-key (kbd "C-x g i") &#8216;helm-flyspell-correct)<br /> [/sourcecode]
    </p>
  </div>
</div>

<div id="outline-container-sec-3-2-3" class="outline-4">
  <h4 id="sec-3-2-3">
    ispell-buffer.el
  </h4>

  <div class="outline-text-4" id="text-3-2-3">
    <p>
      これも文法チェックだけど, 自分は fly-spell で満足したので,試していない.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://qiita.com/catatsuy/items/ae9875706769d4f02317">卒論を英語で書けと言われしまったあなたにおすすめの Emacs の設定 &#8211; Qiita</a>
      </li>
    </ul>
  </div>
</div>

<div id="outline-container-sec-3-2-4" class="outline-4">
  <h4 id="sec-3-2-4">
    grammer.el
  </h4>

  <div class="outline-text-4" id="text-3-2-4">
    <p>
      英語の文法をチェックしてくれる.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://www.emacswiki.org/emacs/BaoqiuCui">EmacsWiki: Baoqiu Cui</a>
      </li>
      <li>
        <a href="http://sleepboy-zzz.blogspot.jp/2013/10/emacsgrammarel_639.html">memo: Emacs で英語の文章書くのに便利な grammar.el を導入した</a>
      </li>
    </ul>

    <p>
      常に動かすとウザいので, 必要に応じて C-M-g で文法チェック発動.
    </p>

    <p>
      インストールは以下.
    </p>

    <ul class="org-ul">
      <li>
        link-grammar をインストール.
      </li>
      <li>
        <i>usr/include/link-grammar</i> にファイルが配置される.
      </li>
      <li>
        svn co <a href="http://bcui-emacs.googlecode.com/svn/trunk/grammar">http://bcui-emacs.googlecode.com/svn/trunk/grammar</a>
      </li>
      <li>
        INCDIRS = -I. -I/usr/include/link-grammar に Makefile を修正.
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require &#8216;grammar)<br /> (setq grammar-program-name "~/.emacs.d/elisp/grammar/grammar")<br /> ;; 黒背景用の色変更<br /> (set-face-attribute &#8216;grammar-error-face nil<br /> :background "#Ff6347"<br /> :foreground "#000000")<br /> (add-hook &#8216;twittering-edit-mode-hook &#8216;grammar-mode)<br /> [/sourcecode]
    </p>
  </div>
</div>

入力系

<div class="outline-text-3" id="text-3-3">
</div>

<div id="outline-container-sec-3-3-1" class="outline-4">
  <h4 id="sec-3-3-1">
    auto-capitalize.el
  </h4>

  <div class="outline-text-4" id="text-3-3-1">
    <p>
      文字を大文字に直す.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://sleepboy-zzz.blogspot.jp/2013/09/auto-capitalizeel-aspell.html">memo: 英語環境で文字を大文字にキャピタライズする拡張 auto-capitalize.el を導入し た & aspell の個人辞書からもキャピタ ライズするようにした</a>
      </li>
    </ul>

    <p>
      自動で大文字に変換する.
    </p>

    <ul class="org-ul">
      <li>
        <a href="https://github.com/yuutayamada/auto-capitalize-el">https://github.com/yuutayamada/auto-capitalize-el</a>
      </li>
      <li>
        <a href="http://sleepboy-zzz.blogspot.jp/2013/09/auto-capitalizeel-aspell.html">memo: 英語環境で文字を大文字にキャピタライズする拡張 auto-capitalize.el を導入した</a>
      </li>
    </ul>

    <p>
      You can use by M-x
    </p>

    <ul class="org-ul">
      <li>
        turn-on-auto-capitalize-mode
      </li>
      <li>
        auto-capitalize-mode.
      </li>
    </ul>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> ;; This code is from README<br /> (require &#8216;auto-capitalize)
    </p>

    <p>
      ;; Enable auto-capitalize-mode<br /> (add-hook &#8216;twittering-edit-mode-hook<br /> &#8216;(lambda ()<br /> (turn-on-auto-capitalize-mode)))<br /> [/sourcecode]
    </p>
  </div>
</div>

辞書系

<div class="outline-text-3" id="text-3-4">
  <p>
    辞書系は, どれもうまく動かすことができませんでした. . . とりあえすメモとして手順を書いておく.
  </p>
</div>

<div id="outline-container-sec-3-4-1" class="outline-4">
  <h4 id="sec-3-4-1">
    sdic.el
  </h4>

  <div class="outline-text-4" id="text-3-4-1">
    <p>
      Emacs から辞書が引けるインタフェース.フリー辞書を試す.
    </p>

    <ul class="org-ul">
      <li>
        <p>
          GENE95 英和辞書
        </p>

        <ul class="org-ul">
          <li>
            <a href="http://www.namazu.org/~tsuchiya/sdic/data/gene.html">http://www.namazu.org/~tsuchiya/sdic/data/gene.html</a>
          </li>
          <li>
            gene95.tar.gz
          </li>
        </ul>
      </li>

      <li>
        <p>
          EDICT 和英辞書
        </p>

        <ul class="org-ul">
          <li>
            <a href="ftp://ftp.u-aizu.ac.jp/pub/SciEng/nihongo/ftp.cc.monash.edu.au/">ftp://ftp.u-aizu.ac.jp/pub/SciEng/nihongo/ftp.cc.monash.edu.au/</a>
          </li>
        </ul>
      </li>
    </ul>

    <p>
      <a href="http://www.edrdg.org/jmdict/edict.html"> &#8211; The EDICT Dictionary File</a>
    </p>

    <ul class="org-ul">
      <li>
        edict2.gz
      </li>
    </ul>

    <p>
      github repository.
    </p>

    <ul class="org-ul">
      <li>
        <a href="https://github.com/emacsattic/sdic">emacsattic/sdic</a>
      </li>
    </ul>

    <p>
      その他, 参考リンク.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://emacs.tsutomuonoda.com/emacs-sdic-install-setting/">Emacs 上で英和和英辞書を引くためのソフト SDIC をインストール・設定する | Emacs の elisp インストール・設定・使い方</a>
      </li>
      <li>
        <a href="http://ubulog.blogspot.jp/2007/08/emacs.html">ubulog: Emacs で快適な翻訳環境を</a>
      </li>
    </ul>

    <p>
      自分の環境では, うまく動作させることができなかった. いつか試す.
    </p>
  </div>
</div>

<div id="outline-container-sec-3-4-2" class="outline-4">
  <h4 id="sec-3-4-2">
    sdic-inline.el
  </h4>

  <div class="outline-text-4" id="text-3-4-2">
    <p>
      sdic-inline-mode がオンであると, ポイント下にある単語を辞書で自動 でひき, 結果をミニバッファに表示.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://d.hatena.ne.jp/khiker/20100303/sdic_inline">sdic-inline / ポイント下の単語の意味をミニバッファに表示する &#8211; とりあえず暇だったし何となく始めたブログ</a>
      </li>
    </ul>
  </div>
</div>

<div id="outline-container-sec-3-4-3" class="outline-4">
  <h4 id="sec-3-4-3">
    lookup.el
  </h4>

  <div class="outline-text-4" id="text-3-4-3">
    <p>
      オフラインの辞書 (EPWING 形式) を検索できるツール.辞書は有料なので, 試していない. かなり便利そうだ. いつか試す言う意味でブックマーク.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://openlab.jp/edict/lookup/index.html.ja">Lookup</a>
      </li>
    </ul>
  </div>
</div>

<div id="outline-container-sec-3-4-4" class="outline-4">
  <h4 id="sec-3-4-4">
    look.el
  </h4>

  <div class="outline-text-4" id="text-3-4-4">
    <p>
      うろおぼえな英単語の綴りを検索することができる. 詳しくは以下のリンクを参照.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://www.math.s.chiba-u.ac.jp/~matsu/emacs/emacs21/english.html">english & japanese</a>
      </li>
    </ul>

    <p>
      Unix の look というコマンドを Emacs から利用する.
    </p>

    <ul class="org-ul">
      <li>
        <a href="http://linuxjm.sourceforge.jp/html/util-linux/man1/look.1.html">Man page of LOOK</a>
      </li>
    </ul>

    <p>
      ArchLinux だと, 辞書が入ってなかったので入れた.
    </p>

    <p>
      [sourcecode language=&#8221;sh&#8221; title=&#8221;&#8221;]<br /> $ sudo pacman -S words<br /> $ wget http://www.math.s.chiba-u.ac.jp/~matsu/emacs/emacs21/look.el<br /> [/sourcecode]
    </p>

    <p>
      wget で取得した, elisp に (provide &#8216;look) を末尾に追加して, 以下を追記.
    </p>

    <p>
      [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221;]<br /> (require look)<br /> (global-set-key "\M-L" &#8216;look-here)<br /> [/sourcecode]
    </p>

    <p>
      これは, helm-flyspell と比べると, 利便性では劣る気がする.
    </p>
  </div>
</div>

まとめ

さてこれで, TOEIC の点数が 150 点アップだ.

あっ, しまった, TOEIC では Emacs が使えない!!