bar_1

contents_map

ラベル CT-ライフハック・GTD の投稿を表示しています。 すべての投稿を表示
ラベル CT-ライフハック・GTD の投稿を表示しています。 すべての投稿を表示

2011年8月8日月曜日

起動時に文字コードの指定して xyzzy をコマンドラインから起動

概要





前回のエントリ

で、 Vimperator を使用して、Webページの入力欄のテキストを好みのエディタ (xyzzy) で、編集する方法を示した。



しかしながら、この方法だと、 xyzzy の自動判定により、ときどき意図しないエンコード(*encoding-sjis*) で、一時tmpファイルを開いてしまう現象が起きる。



そこで本エントリでは、 Vimperator の editor で xyzzy を利用する場合、強制的に文字コードを指定して一時ファイルを開くためのワークアラウンド(ラッパBATファイルの作成)を、紹介する。


調査



コマンドラインや初期設定ファイル (.xyzzy) で、 change-fileio-encoding などで指定した結果がなぜ反映されないのか、以下の3つの観点から、調査した。

(1) Vimperator の editor コマンド文字列



Vimperator の set editor で与えたコマンド文字列は:
コマンド文字列 一時ファイル名

という形式で、実行される。


つまり、何も対策しないままだと、一時ファイル名は、コマンドに対する最後のオプションとして指定されることになる。

(2) xyzzy コマンドライン・オプションの順序性



xyzzy のコマンドライン・オプションの形式は:
起動時の引数は以下の形式を受け付けます。
xyzzy [-image dump-file] [-config config-directory] [-ini ini-file] [-q|-no-init-file] (other-option|file)*
-image、-configまたは-iniを指定する場合は、それ以外のオプションより前になければなりません。
また、-qまたは-no-init-fileを指定する場合は-image、-configおよび-ini以外のオプションの先頭に
なければなりません。

されている


ここで、このコマンドライン・オプションを含む諸設定は:
初期設定ファイル→コマンドライン・オプション

の順に、実行される。また上記引用のように、コマンドライン・オプションが複数指定されている場合、左から順に、解釈される。

(3) xyzzy ファイル読み込み時の文字エンコーディングの判定



与えられたコマンドライン・オプション中、指定されたファイル名を読み込む際、 xyzzy の
ツール>共通設定>読み込みタブ

が、「自動判定」になっていたならば、自動判定が実行される。これは、ファイル名指定の前に文字コードの指定 (*default-fileio-encoding*) があろうと・なかろうと、実行される。

分析



調査の結果から:

  • vimperator は、ファイル名を、editor に設定されたコマンドの最後につけて呼び出す

  • xyzzy は、ファイルを開く時に、指定のあり・なしに関わらず再度、文字エンコーディングを自動判定している

  • よって、自動判定が正しくない場合に、文字コードの指定を期待通りに行うには、ファイル名指定よりも後で、行う必要がある

ことが判明した。




以下のようなBATファイルにより、xyzzy のファイル名の後ろに文字エンコーディングの設定 (revert-buffer *encoding-utf8n*) をするラッパを作成し、 vimperatorrc の set editor には、このラッパを指定する:


BATファイル: vimpexyzzy.bat
@echo off
rem ///////////////////////////////////////////////////////////////////
rem // vimpexyzzy.bat  - wrapper bat for 'set editor' of vimperator.
rem //   enables xyzzy to specify encoding on reading a file with revert-buffer.
rem //
rem // Aug. 2011 http://voidptr.seesaa.net
rem ///////////////////////////////////////////////////////////////////
"c:\Program Files\xyzzy\xyzzy.exe" -m html-mode ^
-e "(setq *default-fileio-encoding* *encoding-utf8n*)" ^
-e "(set-buffer-fileio-encoding *encoding-utf8n*)" ^
-e "(change-fileio-encoding *encoding-utf8n*)" ^
"%1" ^
-e "(revert-buffer *encoding-utf8n*)"
@echo on



Vimperator の初期設定ファイル: _vimperatorrc の editor の設定
set editor='C:/Program\ Files/xyzzy/vimpexyzzy.bat'




これにより、指定の文字エンコーディングでファイルが読み直されるため、所望の結果を得ることができる。

Conclusion




  • Vimperator で外部エディタを起動するとき、文字エンコーディングが意図していない SJIS (*encoding-sjis*) となってしまうことが、あった

  • xyzzy 起動時のオプションでは、ファイル名の後ろで、文字エンコーディングの設定を行う必要があることが、分かった

  • BATファイルによるコマンドのラッパを作成し、ファイル名の後ろで文字エンコーディングを指定することにより、Vimperator で、所望の文字エンコーディングで一時ファイルを編集することが可能になる


Future Works



もっとスマートなやり方はないものか……

2010年9月2日木曜日

親指シフト入力の環境2010

親指シフト環境については今まで何度か試してきたが、今日見かけたエントリ
Google日本語入力+DvorakJ(キーボード配列の設定変更ソフト)
が、最強だとわかったので、以降コレで通そうと思う。

以前に一度お試しで、Google日本語入力については、インストールしていたが、
今回インストールし直した。

それ以外については、上記のエントリで、最低限の設定については知ることができる。
blechmuzik氏によるDovorakJのページは、こちら

細かい操作方法で気になる点はある─GoogleIMEとDovorakJの両方の設定の問題と思われるが─ので、別途エントリをあげようと思う。
が、この環境は、これはまったくすばらしい。


なにより、これでやっと、糞のようなMS-IMEから、完全に開放される!!

2008年5月14日水曜日

親指シフト練習法

下記の練習法によって、だいたい2~3週間ほどで親指シフトで用いられる文字配列を覚えることができた(2008/3月時点の話)ので、ご紹介します。

ローマ字入力と比較しての効能として現時点で感じていることは、ローマ字入力よりは指が疲れないし、慣れてくれば速度もより早いということです。

親指シフトドライバとしては、やまぶきを使用いたしました。
(著名なソフトとして、もうひとつ親指ひゅんQがありますが、アプリをいろい
ろ試したところ、当方の環境(XP HE)ではどうもうまく動きませんでした。)


まずは、設定から。
■設定
●OS・IME関連
‐地域と言語のオプション
コントロールパネル>地域と言語のオプション>
テキストサービスと入力言語>詳細設定>詳細なテキストサービス
→「詳細なテキストサービスをオフにする」をチェックする。

‐IMEの入力モード
→「ひらがな」をチェック

‐IMEの入力設定
・プロパティ>全般>入力設定ペイン
→「ローマ字入力/かな入力」で、かな入力を選択する。
→おこのみで「スペースの入力」で、常に半角を選択する。

●やまぶき関連
  1. やまぶきを起動する。
  2. タスクトレイのやまぶきのアイコンを右クリック>設定...を選択。
    ‐設定ウィンドウ中の項目:配列定義ファイル
    → おこのみの配列を選択。自分の場合飛鳥[21-290](数字除く).ini を使用している。
    ‐設定ウィンドウ中の項目:右シフトキー
    → 設定を「スペース」から「変換」キーにする。
  3. タスクトレイのやまぶきのアイコンを右クリック>終了を選択。
    → これで、設定がyamabuki.iniファイルに保存される
■親指シフト入力の練習方法
1)「ひだり」、「みぎ」、「む」の入力を練習する。

2)50音表を自作する
下記のような表を作成します。配置を覚える意味で、ていねいに手打ちしていきます。
+-------+-------+-------+
|あ 左d|ぁ 左r|
|い 無k|ぃ 左u|
|う 無d|ぅ 左t|
|え 左e|ぇ 左y|
|お 右s|ぉ 左g|
+-------+-------+-------
|か 無l|が 左m|
|き 無a|ぎ 無g|
|く 右j|ぐ 右x|
|け 無:|げ 左:|
|こ 右o|ご 右@|
+-------+-------+-------
|さ 左s|ざ 左q|
|し 無s|じ 無e|
|す 左k|ず 左h|
|せ 無x|ぜ 左z|
|そ 右i|ぞ 右p|
+-------+-------+-------
|た 無;| |だ 左a
|ち 左c| |ぢ 右y
|つ 右l|っ 無m|づ 右v
|て 無f| |で 左;
|と 無i| |ど 右,
+-------+-------+-------
|な 右d|
|に 右;|
|ぬ 右g|
|ね 左w|
|の 右k|
+-------+-------+-------+
|は 無o|ぱ 右c|ば 左v
|ひ 左x|ぴ 無r|び 無b
|ふ 左o|ぷ 右z|ぶ 無v
|へ 無p|ぺ 右r|べ 右w
|ほ 無z|ぽ 右/|ぼ 右h
+-------+-------+-------+
|ま 左l
|み 無c
|む 右n
|め 無/
|も 右.
+-------+-------+-------+
|や 左n|ゃ 無n
|ゆ 無h|ゅ 無.
|よ 左i|ょ 無,
+-------+-------+-------+
|ら 右f
|り 左f
|る 左j
|れ 右e
|ろ 右:
+-------+-------+-------+
|わ 右a
|を 右m
|ん 無j
+-------+-------+-------+
|「 無q
|」 無@
|( 右q
|) 左@
|{ 左1
|} 左4
|[ 左2
|] 左3
|< 右0
|> 右9
+-------+-------+-------+
|+ 左-
|* 左8
|& 右t
|& 左6
|/ 左0
|/ 右\
|= 右-
|% 無t
|¥ 無[
+-------+-------+-------+
|・ 無u
|. 無-
|, 無^
|’ 左7
|* 無\
|、 左,
|。 左.
|! 左p
|! 右1
|? 左/
|ー 無w
|| 左\
|- 無y
|~ 右u
|_ 左[
|
+----



3)句読点の入力を練習する。
、。?!

4)助詞・助動詞の入力を練習する。
てをには

がで
です
ます

である

5)自分の名前の入力を練習する。

6)普段使用しているアプリで、親指シフトのみで日本語入力する
これは、2)で作成した50音表を見ながらでよい。
ただし慣れるにしたがって、だんだん見る量を減らしていくこと。