ラベル Emacs の投稿を表示しています。 すべての投稿を表示
ラベル Emacs の投稿を表示しています。 すべての投稿を表示

5.31.2015

Getting Started with AquaSKK

Aqua SKK を使う

 

日本語入力メソッドして、SKK を使いたい。(実は過去に一度使ったことがあるが挫折したので再挑戦)
Mac では Aqua SKK という実装があるのでそれを導入する。

 

環境

  • OS X Yosemite: Version 10.10.3
  • AquaSKK 4.2.5

SKK とは

Simple Kana to Kanji conversion program の略。形態素解析をユーザーが明示的に行うことで、変換ミスのストレスを軽減させることができるという非常にユニークな日本語入力メソッドだ。

詳しくは以下のリンク先を参照。

 

セットアップ方法

 

インストール

公式ページはこちら

だが、現在は GitHub 上で開発が進められている。 ここ

からダウンロード可能な最新版の dmg ファイルを実行するとよい。

インストールの完了にはログアウトが必要。

 

IME追加
  • System Preferences -> Keyboard -> Input Sources と選択
  • Japanese -> AquaSKK 統合を追加
  • Command + Space で IME AquaSKK統合を有効化

AquaSKK のカスタマイズ
  • メニューバー -> AquaSKK統合 -> 環境設定
  • 入力設定 -> 入力操作: 「Enter による確定で改行しない」にチェックを入れると
    より流れるようなタイピングができる
  • キーバインドの衝突の解消

 

Sticky shift と SandS

SKK はシフトキーを多用する入力メソッドである。
そこで実際の SKK ユーザの大半は、シフトキーを押さなくてもシフトを実現できるような工夫をしている。

Sticky shift

特定のキーを押すことで、直後のキーを Shift オンの状態で入力できるようにする機能。
例えば、セミコロン「;」をスティッキーキーに指定した場合、「;foo;bar」と打鍵すると「FooBar」と入力されるようになる。(セミコロンなのは英語キーボードを使っているため)

Mac では、Karabiner (旧名 KeyRemap4MacBook) でその機能を実現できる。

  • Karabiner - OS X用のソフトウェア
  • Change Key -> For Japanese -> Change Semicolon(;) Key
    -> Semicolon to Sticky Shift_L (effective only when input source is Japanese)
    にチェックを付ければよい

  • ただ、この場合 IME オンかつASCIIモードの場合にセミコロンを入力できなくなるのだが
    どうしたらいいものか。

 

SandS

Shift and Space。スペースキーと同時に他のキーを押した場合に Shift オンの状態にする。
親指でシフトを押せるようになるのがポイントだが、試したことはない。

 

基本的な入力方法

この資料が素晴らしい。

 

かな入力モード

  • 英数入力モード、全角英数入力モードで Ctrl-j
  • q キーで「ひらがな」「カタカナ」を切り替え
  • カタカナの入力自体は、読み入力モードで q を押すことでも対応可
英数入力モード
  • かな入力モードで l
全角英数入力モード
  • かな入力モードで Shift-L
読み入力(▽)モード
  • 変換が必要な場合
  • かな入力モードで Shift を押しながら単語の一打目を入力
  • かな入力モードで Shift-Q
  • かな入力モードで スラッシュ(/) を押すと英数字で読みを入力可能
  • Ctrl-g でキャンセル
  • Tab キーで見出し語の補完
  • Space キーで変換モードへ
変換(▼)モード
  • 候補送り: Space
  • 候補戻り: x
  • ユーザ辞書に登録した単語の削除: Shift-x
  • 次の文字を入力するか、Ctrl-j で確定
  • Ctrl-g で読み入力モードに戻る
単語登録
  • 読み入力モードで候補送りし続ける
  • クリップボードから貼り付け: Ctrl-y
  • Ctrl-g で変換モードに戻る
変換ルール
  • デフォルトのルール

    $ cat /Library/Input\ Methods/AquaSKK.app/Contents/Resources/kana-rule.conf |nkf
    # $Id$
    
    # このファイルは改行コードがLF、文字エンコーディングがEUC-JPでなければなりません。
    # 五つ目の項目は次状態です。無ければ項目自体を省略します。
    # エントリの順序には気を付けて下さい。例えば「ba」というエントリに出会うと、
    # AquaSKKはまず「b」という枝を探しますが、ここではまだ存在しないので
    # 「b」という空の枝を作成します。この後に「b」というエントリが現れると
    # そのエントリ「b」は既に定義されているのでどうなるか分かりません。
    
    # 最初の項目の,は半角カンマに置換されます。
    
    a,あ,ア,ア
    
    bb,っ,ッ,ッ,b
    ba,ば,バ,バ
    bi,び,ビ,ビ
    bu,ぶ,ブ,ブ
    be,べ,ベ,ベ
    bo,ぼ,ボ,ボ
    
    (snip)
    ...
  • ぁぃぅぇぉっ: xa xi xu xe xo xtu
  • ‥ … ・ 〜 『 』: z, z. z/ z- z[ z]
  • ← ↓ ↑ →: zh zj zk zl

 

辞書の拡張

このあたりを使うと便利そう。

4.30.2014

How to Integrate Clipboard; Mac + tmux + Emacs in Terminal

Mac + tmux + ターミナル上のEmacs でクリップボードを連携する方法

 

tmux 上で Emacs を利用する場合、
OS のクリップボードとその内容をシームレスに連携するためには多少の手順が必要となる。

 

手順

 

1. Emacs の設定

Emacs 初期設定ファイル (~/.emacs/init.el など) に以下の内容を記述。

(defun copy-from-osx ()
  (shell-command-to-string "pbpaste"))

(defun paste-to-osx (text &optional push)
  (let ((process-connection-type nil))
    (let ((proc (start-process "pbcopy" "*Messages*" "pbcopy")))
      (process-send-string proc text)
      (process-send-eof proc))))

(setq interprogram-cut-function 'paste-to-osx)
(setq interprogram-paste-function 'copy-from-osx)

 

2. reattach-to-user-namespace のインストール

tmux 内部での Mac OS X クリップボードのやりとり (pbcopy/pbpaste) を可能にするツール。

Homebrew でインストールするのが一番簡単だ。

$ brew install reattach-to-user-namespace

 

3. tmux の設定

tmux 初期設定ファイル (~/.tmux.conf) に以下の内容を記述し、tmux を再起動。

set-option -g default-command "reattach-to-user-namespace -l zsh"
  • 参考: tmux 再起動
    $ tmux kill-server

 

これで

  • Mac でクリップボードにコピー => tmux 上の emacs で貼付け (C-y)
  • tmux 上の emacs でコピー (M-w) => Mac で貼付け

が可能となった。

 

References

12.12.2013

How to Format Line Numbers in Emacs

Emacs: 行番号表示のフォーマット指定

忘れがちなのでメモ。

Emacs における行番号表示は、init.el で global-linum-mode を指定すれば実現できるが、
以下のように linum-format を指定すればそのフォーマットをカスタマイズすることも可能だ。

(require 'linum)
(global-linum-mode t)
(setq linum-format "%4d ")

フォーマット文字列は C のアレと同じで、上記の例であれば
4桁分の領域に行番号の数字が表示され、その後に一個スペースが入る。

10.27.2013

Emacs: How to Insert Same String at the Beginning of Each Line

Emacs: 複数の行頭に文字を挿入する方法

  • まずリージョンを選択

    C-SPACE -> カーソル移動
    (文書全体を選択する場合は C-x h)
     
  • 各行の先頭にスペースを挿入する場合は

    C-x C-i
     
  • 各行の先頭に特定の文字列を挿入する場合は

    C-x r t

9.17.2013

Coding Python in Emacs

Emacs で Python コーディング

 

Emacs で Python 開発環境を整える手順。
ただ挫折しそうになったので今は IntelliJ IDEA (ultimate) がメイン。

対象環境

  • Emacs 2.4

プラグインのインストール

  • init.el の編集
    以下の内容を追加し、ダウンロード先を追加。
    (require 'package)
    (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
    (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
    (package-initialize)
  • Emacsを起動し、「M-x package-list-packages」でパッケージの一覧を取得
  • 「python-mode」「pep8」をインストール
    (C-n などで画面を移動し、Enter、C-x o などのコマンドで遷移。

基本的な操作

  • C-c C-c: バッファの内容を実行
  • C-c C-z: Pythonプログラムの実行バッファを表示

Flymake などの設定は以下を参照。

References

8.24.2013

How to Use Option as Meta Key in iTerm2

iTerm2 で Mac の option キーを Meta キーとして使う方法

iTerm -> Preferences -> Profiles -> Keys

Preferences

設定としては、「Meta」よりも「+Esc」が推奨されるとのこと。

これで Emacs 周りの操作性が改善された。

8.23.2013

Getting Started with KeySnail - Mouseless Browsing on Firefox

Firefox + KeySnail でマウスレス・ブラウジングを始める

 

今更ながらマウスレス・ブラウジングの便利さに目覚めた。

Firefox でのキーボード操作拡張プラグインは以下の2つが主流のようである。

Emacs 修行中の私としては、KeySnail を選ばざるを得ない。

 

本体のインストール

こちらのページから keysnail.xpi をダウンロードして Firefox で開き、インストールする。

keysnail japanese · mooz/keysnail Wiki

とても簡単。

 

初回起動

Firefox を再起動すると、設定ファイルを新規作成するか尋ねられる。

新規作成の場合、設定ファイルのパス、デフォルトのキーバインドを選択。
今回はとりあえず Dropbox 上にファイルを作っておいた。 

Screenshot 8 23 13 03 14

 

プラグイン導入

今日のところは、キーボードでリンク遷移を行うための HoK をインストールするところまで。

  • HoK
    こちらのページから、HoK を右クリックして Install this plugin。
    Plugin · mooz/keysnail Wiki 

    インストールが済んだら、.keysnail.js (_keysnail.js) の末尾に以下の内容を追記。
    key.setViewKey('e', function (aEvent, aArg) {
        ext.exec("hok-start-foreground-mode", aArg);
    }, 'Hok - Foreground hint mode', true);
    
    key.setViewKey('E', function (aEvent, aArg) {
        ext.exec("hok-start-background-mode", aArg);
    }, 'HoK - Background hint mode', true);
    
    key.setViewKey(';', function (aEvent, aArg) {
        ext.exec("hok-start-extended-mode", aArg);
    }, 'HoK - Extented hint mode', true);
    
    key.setViewKey(['C-c', 'C-e'], function (aEvent, aArg) {
        ext.exec("hok-start-continuous-mode", aArg);
    }, 'Start continuous HaH', true);
    
    key.setViewKey('c', function (aEvent, aArg) {
        ext.exec("hok-yank-foreground-mode", aArg);
    }, 'Hok - Foreground yank hint mode', true);
    

    そして、設定ファイルをリロードすれば準備完了。(Tools -> KeySnail -> Reload init file)

    Webサイトを開いて「e」キーを押せば、各リンク先に対応したショートカットキーが表示され、
    そのキーボード操作でリンクを開けるようになる。 

 

これから慣れていきたい。

 

References

 

8.04.2013

How to Find Invisible Characters in Emacs/Vim

Emacs/Vim: 特定のASCIIコードを検索する方法

0x0c (改ページ) を検索する場合

  • Emacs
    Ctrl-s Ctrl-q Ctrl-l
    または
    Ctrl-s Ctrl-q 1 4 Enter
    (8進数で指定する(0x0c(16進)=014(8進))、16進で指定する方法はないのだろうか?) 
  • Vim
    /\%x0c

6.08.2013

How to Use Cocoa Emacs in Terminal

最新の Cocoa Emacs をターミナル上で動かす方法

Emacs で reST を書きたいと思って rst.el を入れてみたけどこのようなエラーが出てしまう。

Symbol's function definition is void: characterp

Emacs のバージョンが古いのが原因らしいが、Mac には最新バージョンが入っているはず。
調べてみるとどうやらターミナルからはGUIとは別のバージョンの Emacs が呼び出されているようだった。

$ emacs --version
GNU Emacs 22.1.1
Copyright (C) 2007 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

 ~/.zshrc (他のシェルの場合は適宜読み替え)に以下のエイリアス設定を追加して、無事動くようになった。

alias emacs='/Applications/Emacs.app/Contents/MacOS/Emacs -nw'

 

References

rst.el

never meant: ターミナルで使うemacsをアップグレートするメモ

 

5.11.2013

The First Tutorial of Emacs

Emacs: 最初のチュートリアル

チュートリアルをやり終えた。

Mac のターミナル上で実行する場合は、ターミナルのオプションで
「Use options as meta key」のチェックを ON にする必要がある。
(ただし、フレームの操作など一部機能は制限されるようだ) 

Settings

 

日本語チュートリアルの起動方法は以下のとおり。

  • Emacs を起動
  • Alt (option, META) + X
    • 拡張コマンドの実行
  • help-with-tutorial-spec-language と入力して <ENTER>
    • ここは help <SPACE> w <TAB><SPACE><TAB> でも補完が効く
  • 言語の選択画面が出るので j <ENTER>

次は Info マニュアルを読むと良いらしい。

  • C-h i
  • ?

5.07.2013

Getting Started with Emacs on Mac

Mac: Emacs のインストール

これまではVim一辺倒だったけど、IDE周りで微妙なストレスを感じることが増えたので
Emacs派への改宗を検討中。

まずは Mac へインストール。

コマンドライン版はデフォルトで入っているようだが、練習がてらGUI版をインストール。

  • 最初はここからパッケージをインストールするも、なぜか起動せず。
    http://emacsformacosx.com/ 
  • 結局 Homebrew 経由で最新版(24.3)をインストール。
    $ brew install emacs --cocoa
  • インストール後、Applications 配下にシンボリックリンクを張って無事起動。
    $ ln -s /usr/local/Cellar/emacs/24.3/Emacs.app /Applications/Emacs.app
     

GNU Emacs

幸せな Emacs ライフを送れますように。

 

追記 (2013-05-08)

シンボリックリンク作成の手順は以下のように brew コマンドでも可能。

$ mkdir ~/Applications
$ brew linkapps