<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hexe19 &#187; Emacs</title>
	<atom:link href="http://hexe19.net/category/emacs/feed/" rel="self" type="application/rss+xml" />
	<link>http://hexe19.net</link>
	<description>*scratch*</description>
	<lastBuildDate>Sat, 16 May 2009 03:54:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>なんとなく窓使いの憂鬱の設定ファイルを公開してみる</title>
		<link>http://hexe19.net/2008/07/01/50/%e3%81%aa%e3%82%93%e3%81%a8%e3%81%aa%e3%81%8f%e7%aa%93%e4%bd%bf%e3%81%84%e3%81%ae%e6%86%82%e9%ac%b1%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%85%ac%e9%96%8b%e3%81%97/</link>
		<comments>http://hexe19.net/2008/07/01/50/%e3%81%aa%e3%82%93%e3%81%a8%e3%81%aa%e3%81%8f%e7%aa%93%e4%bd%bf%e3%81%84%e3%81%ae%e6%86%82%e9%ac%b1%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%85%ac%e9%96%8b%e3%81%97/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 15:46:39 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[Emacs Windows]]></category>

		<guid isPermaLink="false">http://hexe19.net/?p=50</guid>
		<description><![CDATA[現在使用中の 窓使いの憂鬱 の設定ファイル。
窓使いの憂鬱は Windows 上のキーバインドを主に emacs ライクなキーバインドにするためのソフト。
Windows Vista では普通には動作しないらしく（Windows の昨日の一部を制限される代わりに使用することは可能らしい）、次にPCを買い換えるときは Windows 卒業な予感・・・。
設定：
HOME HHKL2 Emacs （Happy Hacking Keyboard Lite2 で使用するとき用）
-DUSE109;-DHHKBLite2

HOME Let&#8217;s note CF-Y2 Emacs （Let&#8217;s note CF-Y2 で使用するとき用）
-DUSE109;-DLetsNoteCFY2

設定ファイル：（環境変数 HOME に指定したディレクトリ直下に以下の３つのファイルを配置）
.mayu
.emacs.mayu
.emacsedit.mayu

以下、設定ファイルの内容をそのまま引用。
emacsedit.mayu はデフォルトのままかも。
※一部うまくいっていない設定もあった気がします。
普通の設定（と思うこと）以外でやってること
無変換を Ctrl に割り当て
変換を Ctrl に割り当て
半角/全角を Alt に割り当て
カタカナを Alt に割り当て
左Alt を Windowsキー に割り当て
右Alt を Applicationキー に割り当て
;（セミコロン）を Enter キーに割り当て
Ctrl-;（Ctrl + セミコロン）を ;(セミコロン) に割り当て
C-i を Tab キーに割り当て
C-g を ESC [...]]]></description>
			<content:encoded><![CDATA[<p>現在使用中の <a href="http://mayu.sourceforge.net/" target="_blank">窓使いの憂鬱</a> の設定ファイル。</p>
<p><a href="http://mayu.sourceforge.net/" target="_blank">窓使いの憂鬱</a>は Windows 上のキーバインドを主に emacs ライクなキーバインドにするためのソフト。<br />
Windows Vista では普通には動作しないらしく（Windows の昨日の一部を制限される代わりに使用することは可能らしい）、次にPCを買い換えるときは Windows 卒業な予感・・・。</p>
<ol><strong>設定：</strong></p>
<li><strong>HOME HHKL2 Emacs</strong> （Happy Hacking Keyboard Lite2 で使用するとき用）<br />
-DUSE109;-DHHKBLite2</li>
<li>
<li><strong>HOME Let&#8217;s note CF-Y2 Emacs</strong> （Let&#8217;s note CF-Y2 で使用するとき用）<br />
-DUSE109;-DLetsNoteCFY2</li>
</ol>
<ol><strong>設定ファイル：（環境変数 HOME に指定したディレクトリ直下に以下の３つのファイルを配置）</strong></p>
<li><a href='http://hexe19.net/wp/wp-content/uploads/2008/07/.mayu'>.mayu</a></li>
<li><a href='http://hexe19.net/wp/wp-content/uploads/2008/07/emacs.mayu'>.emacs.mayu</a></li>
<li><a href='http://hexe19.net/wp/wp-content/uploads/2008/07/emacsedit.mayu'>.emacsedit.mayu</a></li>
</ol>
<p>以下、設定ファイルの内容をそのまま引用。<br />
emacsedit.mayu はデフォルトのままかも。<br />
※一部うまくいっていない設定もあった気がします。</p>
<ul><strong>普通の設定（と思うこと）以外でやってること</strong></p>
<li>無変換を Ctrl に割り当て</li>
<li>変換を Ctrl に割り当て</li>
<li>半角/全角を Alt に割り当て</li>
<li>カタカナを Alt に割り当て</li>
<li>左Alt を Windowsキー に割り当て</li>
<li>右Alt を Applicationキー に割り当て</li>
<li>;（セミコロン）を Enter キーに割り当て</li>
<li>Ctrl-;（Ctrl + セミコロン）を ;(セミコロン) に割り当て</li>
<li>C-i を Tab キーに割り当て</li>
<li>C-g を ESC キーに割り当て</li>
<li>C-d を Del キーに割り当て</li>
<li>C-h を Backspace キーに割り当て</li>
<li>emacs の elscreen ライクな C-z でタブ関係の処理をする設定</li>
<li>などなど・・・</li>
</ul>
<p><span id="more-50"></span></p>
<p><strong>.mayu</strong></p>
<pre class="code">
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 窓使いの憂鬱 - dot.mayu
# Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net>
#

# まずキーボード定義を読み込む
if ( USE104 )
  include "104.mayu"		# 104 キーボード設定
  if ( USE109on104 )
    include "109on104.mayu"	# 104 キーボードを 109 キーボード風に
  endif
  if ( USEDVORAK )
    include "dvorak.mayu"	# DVORAK
  endif
else
  include "109.mayu"		# 109 キーボード設定
  if ( USE104on109 )
    include "104on109.mayu"	# 109 キーボードを 104 キーボード風に
  endif
  if ( USEDVORAK )
    include "contrib\DVORAKon109.mayu"	# DVORAK
  endif
endif

include ".emacs.mayu"		# Emacs ライクなさまざまな設定

keymap Global

# このファイルをホームディレクトリにコピーしてから、
# 以下に自分の好みのキーバインディングを設定するとよい。
# このファイル自体を変更しないこと。

mod control += 無変換       # 無変換 を LControl に
key *無変換 = *LControl     #       〃
mod control += 変換         # 変換を を LControl に
key *変換   = *LControl     #       〃
mod alt       += ひらがな   # ひらがな を LAlt に
key *ひらがな = *LAlt       #      〃

if ( HHKBLite2 )
  mod alt        -= RAlt       # RAlt を 右クリックメニューの出るやつに
  key *RAlt      = *APPS       #      〃
  mod alt        += 半角/全角  # 半角/全角 を LAlt に
  key *半角/全角 = *LAlt       #      〃
 #mod alt        -= LAlt       # LAlt を 半角/全角 に
 #key *LAlt      = *半角/全角  #      〃
  mod alt        -= LAlt       # LAlt を Win に
  mod win        += LAlt       #      〃
  key *LAlt      = *LWin       #      〃
  mod win        -= LWin       # LWin を Alt に
  mod alt        += LWin       #      〃
  key *LWin      = *LAlt       #      〃
  key Escape     = &#038;Default    # Escape を元に戻す
endif

if ( LetsNoteCFY2 )
  key *半角/全角  = *Esc       # 半角/全角を Esc に
  #key *Esc       = *半角/全角 # Esc はそのまま
  key *Escape     = *Escape    # Escape を元に戻す
endif

key *IC-SemiColon      = Enter       # セミコロン を Enter に
key *IC-C-~S-SemiColon = SemiColon   # Ctrlを押しながらだとセミコロンに;
#key *IC-Colon          = Tab         # コロン を Tab に;
#key *IC-C-~S-Colon     = Colon       # Ctrlを押しながらだとコロンに
key *IC-C-~S-I          = Tab        # Ctrlを押しながらだとTabに
</pre>
<p><strong>.emacs.mayu</strong></p>
<pre class="code">
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 窓使いの憂鬱 - default.mayu
# Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net>
#

if ( !KBD109 ) and ( !KBD104 )
  include "109.mayu"
endif
if ( KBD104 )
#  def alias ↑	= Up
#  def alias ↓	= Down
#  def alias ←	= Left
#  def alias →	= Right
  def alias Yen	= BackSlash
endif

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# キーシーケンス
#

keyseq $WindowClose = A-F4

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Global キーマップ
#

keymap Global
 key *IC-C-Yen		= $ToggleIME		# IME ON/OFF をするキーの指定
 key C-S-M     C-A-M	= Applications		# アプリケーションキー
 key C-S-L     C-A-L	= &#038;WindowLower		# ウィンドウを一番下へ
 key C-S-R     C-A-R	= &#038;WindowRaise		# ウィンドウを一番上へ
#key C-S-R     C-A-R	= &#038;WindowToggleTopMost &#038;Wait(200) &#038;WindowToggleTopMost
 key C-S-Z     C-A-Z	= &#038;WindowMaximize	# ウィンドウの最大化 (IE全画面)
 key C-S-I     C-A-I	= &#038;WindowMinimize	# ウィンドウの最小化
 key C-S-X     C-A-X	= &#038;WindowVMaximize	# ウィンドウの縦最大化
 key C-S-C     C-A-C	= &#038;WindowHMaximize	# ウィンドウの横最大化
 key C-S-Left  C-A-Left	= &#038;WindowMove(-16, 0)	# ウィンドウの移動
 key C-S-Right C-A-Right= &#038;WindowMove(16, 0)	#	〃
 key C-S-Up    C-A-Up	= &#038;WindowMove(0, -16)	#	〃
 key C-S-Down  C-A-Down	= &#038;WindowMove(0, 16)	#	〃
 key C-S-A-Left		= &#038;WindowMove(-1, 0)	#	〃
 key C-S-A-Right	= &#038;WindowMove(1, 0)	#	〃
 key C-S-A-Up		= &#038;WindowMove(0, -1)	#	〃
 key C-S-A-Down		= &#038;WindowMove(0, 1)	#	〃
 key W-Left		= &#038;MouseMove(-16, 0)	# マウスの移動
 key W-Right		= &#038;MouseMove(16, 0)	#	〃
 key W-Up		= &#038;MouseMove(0, -16)	#	〃
 key W-Down		= &#038;MouseMove(0, 16)	#	〃
 key W-A-C-Left		= &#038;MouseMove(-1, 0)	#	〃
 key W-A-C-Right	= &#038;MouseMove(1, 0)	#	〃
 key W-A-C-Up		= &#038;MouseMove(0, -1)	#	〃
 key W-A-C-Down		= &#038;MouseMove(0, 1)	#	〃
 key C-A-A		= &#038;WindowClingToLeft	# ウィンドウを左に寄せる
 key C-A-E		= &#038;WindowClingToRight	# ウィンドウを右に寄せる
 key C-A-P		= &#038;WindowClingToTop	# ウィンドウを上に寄せる
 key C-A-N		= &#038;WindowClingToBottom	# ウィンドウを下に寄せる
 key C-A-V		= &#038;WindowMoveVisibly	# ウィンドウを見える位置へ移動
 key C-S-K     C-A-K	= $WindowClose		# ウィンドウを閉じる
#key C-S-T		= &#038;WindowToggleTopMost	# 最前面トグル
 key C-S-D		= &#038;WindowIdentify &#038;MayuDialog(Log, SHOW)
						# ウィンドウの素性を調べる
 key C-S-H		= &#038;WindowSetAlpha(70)	# ウィンドウの半透明化
 key C-S-A-H		= &#038;WindowSetAlpha(-1)	# 半透明化全て解除
 key C-S-U		= &#038;WindowRedraw		# ウィンドウの再描画
 key C-S-S		= &#038;LoadSetting &#038;HelpMessage(Mayu, "再読込完了") # 設定ファイルの読み込み
 key C-S-F1		= &#038;InvestigateCommand	# WM_COMMAND の調査
 if ( ! EmacsMove/ShiftSelection )
   key C-S-A   C-S-B	= &#038;WindowClingToLeft	# ウィンドウを左に寄せる
   key C-S-F   C-S-E	= &#038;WindowClingToRight	# ウィンドウを右に寄せる
   key C-S-P		= &#038;WindowClingToTop	# ウィンドウを上に寄せる
   key C-S-N		= &#038;WindowClingToBottom	# ウィンドウを下に寄せる
   key C-S-V		= &#038;WindowMoveVisibly	# ウィンドウを見える位置へ移動
 endif
 key W-N		= &#038;Sync &#038;WindowMonitorTo(current, 1) # ディスプレイを切り替える
# WinDeskWide
 key W-_1		= &#038;Sync C-S-A-Q  # WinDeskWide の仮想デスクトップ１に移動（WinDeskWideのホットキー要設定）
 key W-_2		= &#038;Sync C-S-A-W  # WinDeskWide の仮想デスクトップ２に移動（WinDeskWideのホットキー要設定）
 if ( HHKBLite2 )
   key W-F1		= &#038;Sync C-S-A-Q  # WinDeskWide の仮想デスクトップ１に移動（WinDeskWideのホットキー要設定）
   key W-F2		= &#038;Sync C-S-A-W  # WinDeskWide の仮想デスクトップ２に移動（WinDeskWideのホットキー要設定）
 endif
 key W-Q		= &#038;Sync C-S-A-_1 # WinDeskWide の仮想デスクトップ１に送る（WinDeskWideのホットキー要設定）
 key W-W		= &#038;Sync C-S-A-_2 # WinDeskWide の仮想デスクトップ２に送る（WinDeskWideのホットキー要設定）
 key W-Z		= &#038;Sync C-S-A-Z  # WinDeskWide の仮想デスクトップを循環　（WinDeskWideのホットキー要設定）

#key W-E = &#038;ShellExecute("open", "D:\\Program Files\\xf11-3\\XF.exe","/m",, ShowNormal)

 if ( KBD109 ) and ( ! KBD104on109 )
   key *半角/全角	= *Esc			# Esc と半角/全角の入れ替え
   key *Esc		= *半角/全角		#	〃
 endif

 if ( !HHKBLite2 )
   if ( KBD109 )
     mod control += 英数				# 英数を Control に
     key *英数		= *LControl		#	〃
   else
     mod control += CapsLock			# CapsLock を Control に
     key *CapsLock	= *LControl		#	〃
   endif
 endif

 key C-Yen		= 半角/全角             # 変換
 key C-ReverseSolidus	= 半角/全角             # 変換

 if ( GANA )
   if ( KBD109 )
     mod alt += !!無変換			# 無変換を Alt に
     key *無変換	= *無変換		#	〃
     key A-無変換	= 無変換		#	〃
     key IC-A-K		= 無変換		# IME で変換中の A-K は無変換
     key *IC-変換	= $ToggleIME		# IME ON/OFF をするキーの指定
   endif
   key *ScrollLock	= $CapsLock		# ScrollLock を CapsLock に
#   key C-↑		= C-A-S-↑		# for VD
   key C-Up		= C-A-S-Up		# for VD
#   key C-↓		= C-A-S-↓		#	〃
   key C-Down		= C-A-S-Down		#	〃
#   key C-←		= C-A-S-←		#	〃
   key C-Left		= C-A-S-Left		#	〃
#   key C-→		= C-A-S-→		#	〃
   key C-Right		= C-A-S-Right		#	〃
   key C-S-Y		= &#038;WindowResizeTo(0, -64) &#038;WindowMoveVisibly \
			  &#038;Wait(100) &#038;WindowClingToBottom
 endif

keymap2 GlobalEscape : Global = &#038;KeymapParent
 event prefixed		= &#038;HelpMessage("Global", "ESC-")
 event before-key-down	= &#038;HelpMessage
 key M-C-G		= &#038;Ignore

keymap Global
 if ( MAP-ESCAPE-TO-META )
   key Escape		= &#038;Prefix(GlobalEscape) &#038;EditNextModifier(M-)
   if ( KBD109 ) and ( ! KBD104on109 )
     key 半角/全角	= &#038;Prefix(GlobalEscape) &#038;EditNextModifier(M-)
   endif
 endif

 # for AntiFreeze
 key A-C-W-Home = &#038;Default

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 全て(ではないがだいたい)デフォルトのキーマップの定義
#

keymap	KeymapDefault = &#038;Default
 if ( KBD109 )
   mod control += 英数				# 英数を Control に
   key *英数		= *LControl		#	〃
 else
   mod control += CapsLock			# CapsLock を Control に
   key *CapsLock	= *LControl		#	〃
 endif
 if ( GANA )
   if ( KBD109 )
     mod alt += !!無変換			# 無変換を Alt に
     key *無変換	= *無変換		#	〃
     key A-無変換	= 無変換		#	〃
     key IC-A-K		= 無変換		# IME で変換中の A-K は無変換
   endif
 endif

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# コントロールの設定
#

include	".emacsedit.mayu"

#window	EditControl	/:(Edit|TEdit|RichEdit(20[AW])?)$/ : EmacsEdit
window	EditControl	/:(Edit|TEdit|RichEdit(20[AW])?|Scintilla)$/ : EmacsEdit
window	SysListView32	/:SysListView32$/ : EmacsMove
window	SysTreeView32	/:SysTreeView32$/ : EmacsMove
window	ComboBox	/:ComboBox(:Edit)?$/ : EmacsEdit
 key M-N M-P		= A-Down		# ドロップダウンメニューを開く

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Windows の一般的設定
#

 keyseq $WM_VSCROLL/SB_PAGEUP		= &#038;PostMessage(ToItself, 277, 2, 0)
 keyseq $WM_VSCROLL/SB_PAGEDOWN		= &#038;PostMessage(ToItself, 277, 3, 0)

keymap2	GeneralC-X : EmacsC-X
 key C-S		= C-S			# 上書き保存(S)
 key C-W		= LAlt F A		# 名前を付けて保存(A)...
 key C-F		= C-O			# 開く(O)...
 key C			= C-N			# 新規作成(N)
 key K			= C-W			# 閉じる
 key C-C		= LAlt F X		# 終了(X)
# key C-C		= A-Q			# 終了(X)
# key C-C		= $WindowClose		# 終了(X)

## ダイアログボックス .........................................................

window	DialogBox	/:#32770:/ : Global
 key C-G		= Escape

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# MDI 上のウィンドウの設定
#

keymap2 MDI-WindowOperation : Global
 key C-S-L     C-A-L	= &#038;WindowLower(MDI)		# ウィンドウを一番下へ
 key C-S-R     C-A-R	= &#038;WindowRaise(MDI)		# ウィンドウを一番上へ
 key C-S-Z     C-A-Z	= &#038;WindowMaximize(MDI)		# ウィンドウの最大化
 key C-S-I     C-A-I	= &#038;WindowMinimize(MDI)		# ウィンドウの最小化
 key C-S-X     C-A-X	= &#038;WindowVMaximize(MDI)		# ウィンドウの縦最大化
 key C-S-C     C-A-C	= &#038;WindowHMaximize(MDI)		# ウィンドウの横最大化
 key C-S-Left  C-A-Left	= &#038;WindowMove(-16, 0, MDI)	# ウィンドウの移動
 key C-S-Right C-A-Right= &#038;WindowMove(16, 0, MDI)	#	〃
 key C-S-Up    C-A-Up	= &#038;WindowMove(0, -16, MDI)	#	〃
 key C-S-Down  C-A-Down	= &#038;WindowMove(0, 16, MDI)	#	〃
 key C-S-A-Left		= &#038;WindowMove(-1, 0, MDI)	#	〃
 key C-S-A-Right	= &#038;WindowMove(1, 0, MDI)	#	〃
 key C-S-A-Up		= &#038;WindowMove(0, -1, MDI)	#	〃
 key C-S-A-Down		= &#038;WindowMove(0, 1, MDI)	#	〃
 key C-S-A C-S-B C-A-A	= &#038;WindowClingToLeft(MDI)	# ウィンドウ左に寄せる
 key C-S-E C-S-F C-A-E	= &#038;WindowClingToRight(MDI)	# ウィンドウ右に寄せる
 key C-S-P     C-A-P	= &#038;WindowClingToTop(MDI)	# ウィンドウ上に寄せる
 key C-S-N     C-A-N	= &#038;WindowClingToBottom(MDI)	# ウィンドウ下に寄せる
 key C-S-V     C-A-V	= &#038;WindowMoveVisibly(MDI)	# ウィンドウ見える位置
 key C-S-K     C-A-K	= C-F4				# ウィンドウを閉じる

window	MDI	/:MDIClient:/ : Global
 key C-S-Q	C-A-Q	= &#038;Prefix(MDI-WindowOperation)

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 各アプリケーションの設定
#

## 窓使いの憂鬱 ...............................................................
## http://mayu.sourceforge.net

# 仮想キー調査ウィンドウでは全てデフォルト
window	MayuInvestigate /mayu\.exe:#32770:mayuFocus$/ : KeymapDefault

# ログウィンドウ Esc で閉じられるように
window	MayuLog ( /mayu\.exe:#32770:Button/ \
		&#038;&#038; /ログ - 窓使いの憂鬱/ ) : Global
 key C-G		= $WindowClose
 key Esc		= $WindowClose

## Console ....................................................................

 keyseq $ConsoleWindowClass/copy	= &#038;PostMessage(ToItself, 274, 65520, 0)
 keyseq $ConsoleWindowClass/paste	= &#038;PostMessage(ToItself, 274, 65521, 0)
 keyseq $ConsoleWindowClass/region	= &#038;PostMessage(ToItself, 274, 65522, 0)
 keyseq $ConsoleWindowClass/scroll	= &#038;PostMessage(ToItself, 274, 65523, 0)
 keyseq $ConsoleWindowClass/search	= &#038;PostMessage(ToItself, 274, 65524, 0)
 keyseq $ConsoleWindowClass/select-all	= &#038;PostMessage(ToItself, 274, 65525, 0)

#window  ConsoleWindowClass /^ConsoleWindowClass$/ : Global
window  ConsoleWindowClass /^ConsoleWindowClass$/ : EmacsEdit
 key C-S-K     C-A-K	= A-Space C		# ウィンドウを閉じる
 key S-Insert		= $ConsoleWindowClass/paste
 key S-Prior		= $WM_VSCROLL/SB_PAGEUP
 key S-Next		= $WM_VSCROLL/SB_PAGEDOWN
 key S-~NL-Num9		= $WM_VSCROLL/SB_PAGEUP
 key S-~NL-Num3		= $WM_VSCROLL/SB_PAGEDOWN

## Explorer, Internet Explorer ................................................

 keyseq $Explorer/show-folder-bar = &#038;PostMessage(ToMainWindow, 273, 41525, 0)

window	ExplorerList /EXPLORER.*:SHELLDLL_DefView:.*SysListView32$/ : SysListView32
 key S-R		= F2			# 名前の変更
 key C-S-Z		= &#038;Sync&#038;WindowMaximize	# ウィンドウの最大化
 key C-A-Z		= C-&#038;WindowMaximize	# ウィンドウの全画面化
 key M-E		= $Explorer/show-folder-bar # フォルダを表示

window	ExplorerTree /EXPLORER.*:BaseBar:.*SysTreeView32$/ : SysTreeView32
 key S-R		= F2			# 名前の変更
 key C-S-Z		= &#038;Sync&#038;WindowMaximize	# ウィンドウの最大化
 key C-A-Z		= C-&#038;WindowMaximize	# ウィンドウの全画面化
 key M-E		= $Explorer/show-folder-bar # フォルダを表示

window	ExplorerRightClickMenu /Explorer.*:MENU$/ : EmacsMove

window	InternetExplorer /:Internet Explorer_Server$/ : EmacsEdit
 key C-S-Z		= &#038;Sync&#038;WindowMaximize	# ウィンドウの最大化
 key C-A-Z		= C-&#038;WindowMaximize	# ウィンドウの全画面化

window	MicrosoftJava	/:Microsoft VM For Java\(TM\) Host Window Class:/ \
	: EmacsEdit

## Emacs ......................................................................
## http://www.gnu.org/software/emacs/windows/ntemacs.html

keymap Emacsen : Global
 key C-Yen		= &#038;Default
 if ( MAP-ESCAPE-TO-META )			# ESC が M- になるのを阻止する
   if ( KBD109 ) and ( ! KBD104on109 )
     key *半角/全角	= *Esc
     key *Esc		= *半角/全角
   else
     key Escape		= &#038;Default
   endif
 endif

window	Meadow	/:Meadow$/ : Emacsen
 key IC-M-X		= $ToggleIME M-X
window	MULE	/:MULE$/ : Emacsen
window	Emacs	/:Emacs$/ : Emacsen

## Notepad ....................................................................

 keyseq $Notepad/new		= &#038;PostMessage(ToParentWindow, 273, 9, 0)
 keyseq $Notepad/open		= &#038;PostMessage(ToParentWindow, 273, 10, 0)
 keyseq $Notepad/save-as	= &#038;PostMessage(ToParentWindow, 273, 1, 0)

keymap2	NotepadC-X : GeneralC-X
 event prefixed		= &#038;HelpMessage("メモ帳 C-x-", \
	"C-x C-s\t上書き保存\r\n"	\
	"C-x C-f\t開く\t\r\n"		\
	"C-x k\t\t新規作成\r\n"		\
	"C-x C-c\t終了")
 event before-key-down	= &#038;HelpMessage
 key C-S		= C-S	#$Notepad/save-as	# 上書き保存(S)
 key C-F		= C-O	#$Notepad/open		# 開く(O)...
 key C			= C-N	#$Notepad/new		# 新規作成(N)
 key K			= $WindowClose	#C-W		# 閉じる
 key C-C		= $WindowClose	# メモ帳の終了(X)

window	Notepad /:Notepad:Edit$/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(NotepadC-X)
 key C-S		= F3			# 検索(F)...
 key M-J		= C-G			# 行へ移動

## ASTEC-X ....................................................................
## http://www.astec.co.jp/

 keyseq $ASTEC-X/copy-to-x	= &#038;PostMessage(ToItself, 274, 16, 0)

window	ASTEC-X /:ASTEC-X$/ : Global
 key C-Yen		= &#038;Default
 key *IC-IL-C-Yen	= $ToggleIME		# IMEがオンならばIMEをオフ

## Becky! Internet Mail .......................................................
## http://www.rimarts.co.jp/index-j.html

window BeckyInternetMail /Rebecca\.exe:BeckyComposeFrameClass:/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(GeneralC-X)

window BeckyInternetMail2 /B2\.exe:Becky2ComposeFrame:/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(GeneralC-X)

## Microsoft Power Point ......................................................

keymap2	PowerPointC-X : GeneralC-X
 key C-C		= $WindowClose		# 終了(X)

window	PowerPoint /POWERPNT\.EXE:.*:(paneClassDC|REComboBox20W|RichEdit20W)$/\
			: EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(PowerPointC-X)

window	PowerPoint2 /POWERPNT\.EXE:PP9FrameClass.*/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(PowerPointC-X)

## Microsoft Visual Basic 6.0 .................................................

window	VisualBasic /vb6\.exe:.*:VbaWindow$/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(GeneralC-X)

## Microsoft Word .............................................................

window	Word /WINWORD\.EXE:.*:_WwG$/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(GeneralC-X)

## Microsoft Excel ............................................................

keymap2	ExcelC-X : GeneralC-X
 key C-C		= $WindowClose		# 終了(X)
 key C-S		= C-S                   # 保存(S)
 key C-W		= A-F A                 # 名前を付けて保存(A)

keymap2	ExcelC-C : Global
 key C-C		= F9                    # 再計算

window	Excel /EXCEL\.EXE:XLMAIN:/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(ExcelC-X)
 if ( !ZXCV ) key C-C	= &#038;Prefix(ExcelC-C)
 key C-S-Up             = &#038;Default
 key C-S-Down           = &#038;Default
 key C-S-Left           = &#038;Default
 key C-S-Right          = &#038;Default
 key C-S-S              = C-F
 key M-S-*_5            = C-H

## Microsoft Excel VBA ........................................................

keymap2	ExcelVBAC-X : GeneralC-X
 key C-C		= $WindowClose		# 終了(X)
 key C-S		= C-S                   # 保存(S)
 key C-W		= A-F A                 # 名前を付けて保存(A)

keymap2	ExcelVBAC-C : Global
 key C-C		= A-D L			# コンパイル

window  ExcelVBA /EXCEL\.EXE:wndclass/ : EmacsEdit
 if ( !ZXCV ) key C-X	= &#038;Prefix(ExcelVBAC-X)
 if ( !ZXCV ) key C-C	= &#038;Prefix(ExcelVBAC-C)
 key C-S-S              = C-F
 key M-S-*_5            = C-H
 #key M-J		= C-G			# 行へ移動
 key M-Slash		= C-Space		# Parameter Info

## Microsoft Pinball ..........................................................

window MSPinball /PINBALL\.EXE:1c7c22a0-9576-11ce-bf80-444553540000$/ : Global
 key A-Enter		= F4

## Netscape Navigator .........................................................
## http://www.netscape.com/

window	NetscapeNavigator /Netscape\.exe:/ : Global
 key C-H		= BackSpace		# BackSpace
 key C-S		= C-F			# 検索

## Mozilla ....................................................................
## http://www.mozilla.org/

window	Mozilla /:MozillaWindowClass$/ : EmacsEdit

## Personal Dictionary ........................................................
## http://member.nifty.ne.jp/TaN/

window	PersonalDictionary /PDICW32\.EXE:PDICW:ComboBox:Edit/ : EmacsEdit
 key C-K		= S-End S-Delete	# 行末まで削除
 key C-Y		= S-Insert		# PASTE

## Real Player ................................................................
## http://www.real.com/

window RealPlayer /realplay.exe:PNGUIClass/ : Global
 key A-Enter		= LAlt V Z F
 key C-R		= C-P

## TeraTerm ...................................................................
## http://hp.vector.co.jp/authors/VA002416/

window	TeraTerm /TTermPRO\.exe:VTWin32$/ : Global
 key C-Slash		= C-S-HyphenMinus	# C-_ を入力
 key S-Prior		= C-Prior		# スクロール
 key S-Next		= C-Next		# スクロール
 key IC-M-X    IL-M-X	= $ToggleIME M-X	# for emacs
 if ( KBD109 )
   key C-S-ReverseSolidus = C-S-HyphenMinus	# C-_ を入力
 endif

## Xyzzy ......................................................................
## http://www.jsdlab.co.jp/~kamei/

window Xyzzy /xyzzy\.exe:/ : Global
 key C-S-K     C-A-K	= C-X C-C		# ウィンドウを閉じる

## Windows Media Player .......................................................

window WindowsMediaPlayer /mplayer2.*:(Media Player 2|VideoRenderer)/ : Global
 key C-A		= Space		# Play
 key C-R		= Space		# Play
 key C-P		= Space		# Pause
 key C-S		= Period	# Stop

## Windows Mine Sweeper .......................................................

window WindowsMineSweeper /winmine.exe:マインスイーパ$/ : Global
 key D-Z		= &#038;VK(RButton)
 key U-Z		= &#038;Ignore
 key D-X		= &#038;VK(MButton)
 key U-X		= &#038;Ignore
 key D-C		= &#038;VK(LButton)
 key U-C		= &#038;Ignore
 key Q			= F2
 key Num1		= &#038;MouseMove(-16,  16)
 key Num2		= &#038;MouseMove(  0,  16)
 key Num3		= &#038;MouseMove( 16,  16)
 key Num4		= &#038;MouseMove(-16,   0)
 key Num6		= &#038;MouseMove( 16,   0)
 key Num7		= &#038;MouseMove(-16, -16)
 key Num8		= &#038;MouseMove(  0, -16)
 key Num9		= &#038;MouseMove( 16, -16)

## Acrobat Reader .............................................................
## http://www.adobe.co.jp/support/custsupport/library/acrwin.html

window AcrobatReader /AcroRd32.exe:.*:MDIClient:/ : EmacsMove
 key Space		= PageDown
 key BS			= PageUp

## Edmax ......................................................................
## http://www.bekkoame.ne.jp/~t.mzaki/

window EdMax-edit /edmax\.exe:.*Afx:400000:b:0:1900010:0$/ : EmacsEdit

## VisualBasic ................................................................

window VBTextBox /:ThunderRT6FormDC:(ThunderRT6TextBox|RichTextWndClass)$/ \
	: EmacsEdit

## StarOffice/StarSuite/OpenOffice ............................................

window StarOffice /soffice\.exe:SALFRAME$/ : EmacsEdit

## Opera ......................................................................

window	Opera /Opera\.exe:/ : EmacsEdit

## MetaEditor .................................................................

keymap2	MetaEditorC-X : GeneralC-X
 #event prefixed		= &#038;HelpMessage("MetaEditor C-x-", \
 #	"C-x C-s\t上書き保存\r\n"	\
 #	"C-x C-f\t開く\t\r\n"		\
 #	"C-x k\t\t新規作成\r\n"		\
 #	"C-x C-c\t終了")
 #event before-key-down	= &#038;HelpMessage
 key C-S		= C-S			# 上書き保存(S)
 key C-W		= A-F A			# Save As
 key C-F		= C-O			# 開く(O)...
 key C			= C-N			# 新規作成(N)
 key K			= C-W			# 閉じる
 key C-C		= $WindowClose		# MetaEditorの終了(X)
 key H			= C-A			# 全て選択
 key T			= C-T			# Toolbox
 key N			= C-D			# Navigator

keymap2	MetaEditorC-C : Global
 key C-C		= F5			# コンパイル

window	MetaEditor /:MetaQuotes::MetaEditor/ : EmacsEdit
 key C-X		= &#038;Prefix(MetaEditorC-X)
 key C-C		= &#038;Prefix(MetaEditorC-C)
 key C-S		= C-F			# 検索(F)...
 key M-S-*_5		= C-H			# 置換
 key M-J		= C-G			# 行へ移動
 key M-Slash		= C-S-Space		# Parameter Info

## Firefox ....................................................................

keymap2	FirefoxC-X-5
 key B			= C-N			# 新しいWindowを開く

keymap2	FirefoxC-X : GeneralC-X
 key C-S		= C-S			# 上書き保存(S)
 key C-F		= C-O			# 開く(O)...
 key C			= C-T			# タブを開く
 key K			= C-W			# タブを閉じる
 key C-C		= $WindowClose		# 終了(X)
#key G			= C-K			# Web 検索バーを選択
 key G			= C-L			# ロケーションバーを選択
 key C-V		= F5			# 再読込
 key D			= C-J			# ダウンロード
 key _5			= &#038;Prefix(FirefoxC-X-5)

keymap2	FirefoxC-Z
 key C			= C-T			# 新しいタブを開く
 key K			= C-W			# タブを閉じる
 key N			= C-PageDown		# 右のタブへ
 key P			= C-PageUp		# 左のタブへ
 key _0			= C-_1
 key _1			= C-_2
 key _2			= C-_3
 key _3			= C-_4
 key _4			= C-_5
 key _5			= C-_6
 key _6			= C-_7
 key _7			= C-_8

keymap2 FirefoxM-X
 key G			= C-L			# ロケーションバーを選択

window	Firefox /:MozillaUIWindowClass:/ : EmacsEdit
 key C-X		= &#038;Prefix(FirefoxC-X)
 key C-Z		= &#038;Prefix(FirefoxC-Z)
#key M-X		= &#038;Prefix(FirefoxM-X)
 key M-X		= F9						# iswitchb-tabs
 key C-S		= &#038;Toggle(Lock0, on) C-F			# 検索(F)...
 key C-R		= &#038;Toggle(Lock0, on) C-F			# 検索(F)...
#key L0-Space		= M-N		     				# 次を検索
 key L0-C-S		= M-N		     				# 次を検索
 key L0-C-R		= M-P		     				# 前を検索
 key L0-C-G		= &#038;Toggle(Lock0, off) &#038;KeymapParent
 key L0-Enter		= &#038;Toggle(Lock0, off) &#038;KeymapParent
 key M-N		= C-Down					# 次の検索エンジンを選択
 key M-P		= C-Up						# 前の検索エンジンを選択

## eclipse ....................................................................

keymap2	EclipseC-X : GeneralC-X
 key C-S		= C-S			# 上書き保存(S)
 key C-F		= C-O			# 開く(O)...
 key K			= C-W			# タブを閉じる
 key C-C		= $WindowClose		# 終了(X)

 key H			= C-A			# 全て選択

keymap2	EclipseC-C
 key C-C		= C-M-X			# 実行
 key C-D		= C-M-D			# デバッグ

keymap2	EclipseC-Z
 key K			= C-W			# タブを閉じる

window	Eclipse /eclipse\.exe:SWT_Window0:/ : EmacsEdit
 key C-X		= &#038;Prefix(EclipseC-X)
 key C-Z		= &#038;Prefix(EclipseC-Z)
 key C-S		= C-J			# Incremental Find Next
 key C-R		= C-S-J			# Incremental Find Previous
 key C-S-F		= C-F6			# 次のViewへ
 key C-S-B		= C-S-F6		# 前のViewへ
 key C-S-N		= C-F7			# 右のエディタへ
 key C-S-P		= C-S-F7		# 左のエディタへ

## Skype ......................................................................

keymap2	SkypeC-X : GeneralC-X
 key K			= C-W			# タブを閉じる
 key C-C		= $WindowClose		# 終了(X)
 key H			= C-A			# 全て選択

window	Skype /\\Skype\.exe:/ : EmacsEdit
 key C-X		= &#038;Prefix(SkypeC-X)

## Paint ......................................................................

keymap2	PaintC-X : GeneralC-X
 key C-S		= C-S			# 上書き保存(S)
 key C-F		= C-O			# 開く(O)...
 key K			= C-W			# タブを閉じる
 key C-C		= $WindowClose		# 終了(X)
 key H			= C-A			# 全て選択
#key U			= C-Z			# Undo

window	Paint /mspaint\.exe:MSPaintApp:/ : EmacsEdit
 key C-X      		= &#038;Prefix(SkypeC-X)
 key M-W		= C-C			# コピー
 key C-W		= C-X			# 切り取り
 key C-Y		= C-V			# 貼り付け

## ePSXe ......................................................................

window	ePSXe /ePSXe.exe:EPSXj/
 key j      		= Down
 key k			= Up
 key h			= Left
 key l			= Right
 key F1			= F1
 key F3			= F3

## Launchy ....................................................................

#window Launchy /Launchy.exe:QWidget/ : EmacsEdit
window Launchy /Launchy.exe:Q/ : EmacsEdit

## Poderosa ...................................................................
# オプション設定を変更
# 操作
#    左Altキーの用途 [メニューとショートカット] → [Metaキー]
#    右Altキーの用途 [メニューとショートカット] → [Metaキー]
#    BackSpaceキーで0x7Fを送信 [未チェック] → [チェック]
# コマンド
#    接続 Telnet/SSH接続 [Alt+N] → [Ctrl+Shift+T]
#    ウィンドウ 閉じる   [Alt-W] → [Ctrl+Shift+W]
#    タブのリネーム      []      → [Ctrl+Shift+R]

keymap2	PoderosaC-Z
 #event prefixed		= &#038;HelpMessage("Poderosa C-Z", \
 #	"C-z c\t新規Telnet/SSH接続\r\n"	\
 #	"")
 #event before-key-down	= &#038;HelpMessage
 key C			= C-S-T			# 新規Telnet/SSH接続
 key K			= C-S-W			# タブを閉じる
 key R			= C-S-R			# タブをリネーム

window	Poderosa /Poderosa\.exe:/ : Global
 key C-Z		= &#038;Prefix(PoderosaC-Z)
 key C-H		= BackSpace

## CravingExplorer ............................................................

keymap2	CravingExplorerC-X : GeneralC-X
 key C-S		= C-S			# 上書き保存(S)
 key C-F		= C-O			# 開く(O)...
 key C-C		= $WindowClose		# 終了(X)
 key G			= C-L			# ロケーションバーを選択
 key C-V		= F5			# 再読込
 key D			= C-J			# ダウンロード

window	CravingExplorer /CravingExplorer.exe:/ : EmacsEdit
 key C-X		= &#038;Prefix(CravingExplorerC-X)
 key C-J		= &#038;Default		# コメントの改行

## WinMerge ...................................................................

keymap2	WinMergeC-X : GeneralC-X
 key C-S		= C-S			# 上書き保存(S)
 key C-F		= C-O			# 開く(O)...
 key C-C		= $WindowClose		# 終了(X)
 key C-V		= F5			# 再読込

window	WinMerge /WinMergeU.exe:/ : EmacsEdit
 key C-X		= &#038;Prefix(WinMergeC-X)
 key M-P                = M-Up
 key M-N                = M-Down
 key M-F                = M-Right
 key M-B                = M-Left

## Meadow .....................................................................

window	Meadow /Meadow.exe:MEADOW/
 key IC-C-P             = Up
 key IC-C-N             = Down
 key IC-C-F             = Right
 key IC-C-B             = Left
 key IC-C-A             = Home
 key IC-C-E             = End   # Dictionary
 key IC-C-G             = Esc

## FFFTP ......................................................................

window	FFFTP /FFTP.exe:FFFTPWin:/ : EmacsEdit
 key M-P                = C-U     # Upload
 key M-N                = C-D     # Download
 key C-M-P              = C-S-U   # Mirroring Upload
 key C-M-N              = C-S-D   # Mirroring Download

## TaskClip....................................................................

window	TaskClip-tsclpstg /tsclpstg.exe:/ : EmacsEdit
window	TaskClip-tsclp    /tsclp.exe:/    : EmacsEdit

## Adobe Reader ...............................................................

window	AdobeReader /AcroRd32\.exe:/ : EmacsEdit
 key P              = Up
 key N              = Down
 key B              = Up
 key F              = Down
 key Q              = $WindowClose

## TortoiseSVN ................................................................

window	TortoiseSVN /TortoiseProc.exe:/ : EmacsEdit

## CraftDrop ..................................................................

window	CraftDrop /cdrop\.exe:/ : EmacsEdit

## Launchy ....................................................................

# AutoHotkey でする
#
# keymap control- : Global
# mod ctrl -= LCtrl
# key D-LCtrl  = W-Space  # Win-Space で Launchy が起動するようにしておく
#
# keymap Global
# #mod ctrl -= LCtrl
# #mod ctrl += !!LCtrl
# mod !!ctrl
# key C-LCtrl  = &#038;Prefix(control-,false)

## Inkscape ...................................................................

window Inkscape /inkscape.exe:gdkWindowToplevel/ : Global

window Inkscape-Layer (/inkscape.exe:gdkWindowToplevel/ &#038;&#038; /\(Shift\+Ctrl\+L\)/) : EmacsEdit

window Inkscape-XMLEditor (/inkscape.exe:gdkWindowToplevel/ &#038;&#038; /\(Shift\+Ctrl\+X\)/) : EmacsEdit

## MFA ........................................................................

window MFA /MFA.exe:MCIWndClass/ : EmacsEdit

## しゃべるんです .............................................................

window Shaberundesu /Shaberundesu.exe:WindowsForms10/ : EmacsEdit

## 電子かたりべプレーヤー .....................................................

window E-kataribe /E-kataribe\\Player.*SunAwtFrame/ : EmacsEdit
</pre>
<p><strong>.emacsedit.mayu</strong></p>
<pre class="code">
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 窓使いの憂鬱 - emacsedit.mayu
# Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net>
#

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Emacs 風移動コマンド
#

keymap	EmacsMove : Global
 key *IC-Home		= C-Home		# 文頭
 key *IC-End		= C-End			# 文末
 key *IC-C-Space	= &#038;Undefined		# Mark
 key *IC-C-A		= Home			# 行頭
 key *IC-C-B		= Left			# ←
 key *IC-M-B		= C-Left		# ←(単語)
 key *IC-C-E		= End			# 行末
 key *IC-C-F		= Right			# →
 key *IC-M-F		= C-Right		# →(単語)
 key *IC-C-G		= Escape		# CANCEL
 key *IC-C-L		= &#038;WindowRedraw &#038;Recenter # 再描画
 key *IC-C-N		= Down			# ↓
 key *IC-C-P		= Up			# ↑
 key *IC-C-Q		= &#038;Prefix(KeymapDefault) # mayu に左右されないキー入力
 key *IC-C-S		= C-F			# 検索
 if ( !ZXCV ) key C-V	= Next			# 次頁
 key *IC-M-V		= Prior			# 前頁
 key *IC-S-Home		= S-C-Home		# 文頭(選択)
 key *IC-S-End		= S-C-End		# 文末(選択)
 key *IC-S-M-Comma	= C-Home		# 文頭
 key *IC-S-M-Period	= C-End			# 文末

 if ( EmacsMove/ShiftSelection )
   key S-C-A		= S-Home		# 行頭(選択)
   key S-C-B		= S-Left		# ←(選択)
   key S-C-E		= S-End			# 行末(選択)
   key S-C-F		= S-Right		# →(選択)
   key S-C-N		= S-Down		# ↓(選択)
   key S-C-P		= S-Up			# ↑(選択)
   key S-C-V		= S-Next		# 次頁(選択)
   key S-M-V		= S-Prior		# 前頁(選択)
 endif

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Emacs 風編集コマンド
#

 keyseq	$EmacsEdit/kill-word		= S-C-Right C-X
 keyseq	$EmacsEdit/backward-kill-word	= S-C-Left C-X
 keyseq	$EmacsEdit/transpose-chars	= S-Right C-X Left C-V Right
 keyseq	$EmacsEdit/upcase-word		= S-C-Right C-C *&#038;Sync \
					  &#038;ClipboardUpcaseWord C-V
 keyseq	$EmacsEdit/downcase-word	= S-C-Right C-C *&#038;Sync \
					  &#038;ClipboardDowncaseWord C-V
 keyseq	$EmacsEdit/kill-line		= &#038;EmacsEditKillLineFunc S-End C-X \
			&#038;Sync &#038;EmacsEditKillLinePred((Delete), (Return Left))
 keyseq	$EmacsMark/cancel		= Left Right

keymap	EmacsEdit : EmacsMove
keymap2	EmacsMark : EmacsEdit = $EmacsMark/cancel &#038;KeymapWindow
keymap2 EmacsMarkEscape : EmacsMark = &#038;KeymapParent

keymap2	EmacsC-X : EmacsEdit
 event prefixed		= &#038;HelpMessage("EmacsEdit C-x-", "C-x u\tundo")
 event before-key-down	= &#038;HelpMessage
 key *U			= C-Z					# UNDO

keymap2 EmacsC-U0_9C-U : Global \
		= &#038;Repeat((&#038;KeymapWindow), 100) &#038;HelpMessage &#038;Variable(0, 0)
 key C-G	= &#038;HelpMessage &#038;Variable(0, 0) &#038;Ignore

keymap2 EmacsC-U0_9 : EmacsC-U0_9C-U
 event prefixed		= &#038;HelpVariable("繰り返し")
 key _0 Num0		= &#038;Variable(10, 0) &#038;Prefix(EmacsC-U0_9)
 key _1 Num1		= &#038;Variable(10, 1) &#038;Prefix(EmacsC-U0_9)
 key _2 Num2		= &#038;Variable(10, 2) &#038;Prefix(EmacsC-U0_9)
 key _3 Num3		= &#038;Variable(10, 3) &#038;Prefix(EmacsC-U0_9)
 key _4 Num4		= &#038;Variable(10, 4) &#038;Prefix(EmacsC-U0_9)
 key _5 Num5		= &#038;Variable(10, 5) &#038;Prefix(EmacsC-U0_9)
 key _6 Num6		= &#038;Variable(10, 6) &#038;Prefix(EmacsC-U0_9)
 key _7 Num7		= &#038;Variable(10, 7) &#038;Prefix(EmacsC-U0_9)
 key _8 Num8		= &#038;Variable(10, 8) &#038;Prefix(EmacsC-U0_9)
 key _9 Num9		= &#038;Variable(10, 9) &#038;Prefix(EmacsC-U0_9)
 key C-U		= &#038;Prefix(EmacsC-U0_9C-U)

keymap2 EmacsC-U : EmacsC-U0_9C-U
 event prefixed		= &#038;HelpVariable("繰り返し")
 key _0 Num0		= &#038;Variable(0, 0) &#038;Prefix(EmacsC-U0_9)
 key _1 Num1		= &#038;Variable(0, 1) &#038;Prefix(EmacsC-U0_9)
 key _2 Num2		= &#038;Variable(0, 2) &#038;Prefix(EmacsC-U0_9)
 key _3 Num3		= &#038;Variable(0, 3) &#038;Prefix(EmacsC-U0_9)
 key _4 Num4		= &#038;Variable(0, 4) &#038;Prefix(EmacsC-U0_9)
 key _5 Num5		= &#038;Variable(0, 5) &#038;Prefix(EmacsC-U0_9)
 key _6 Num6		= &#038;Variable(0, 6) &#038;Prefix(EmacsC-U0_9)
 key _7 Num7		= &#038;Variable(0, 7) &#038;Prefix(EmacsC-U0_9)
 key _8 Num8		= &#038;Variable(0, 8) &#038;Prefix(EmacsC-U0_9)
 key _9 Num9		= &#038;Variable(0, 9) &#038;Prefix(EmacsC-U0_9)
 key C-U		= &#038;Variable(4, 0) &#038;Prefix(EmacsC-U)

keymap	EmacsEdit
 key C-Space		= &#038;Prefix(EmacsMark)			# Mark
 key M-BackSpace	= $EmacsEdit/backward-kill-word		# BS(単語)
 key C-D		= Delete				# 削除
 key M-D		= $EmacsEdit/kill-word			# 削除(単語)
 key C-H		= BackSpace				# BS
 key C-J		= Return				# RETURN
 key C-K		= $EmacsEdit/kill-line			# 行末まで削除
 key C-M		= Return				# RETURN
 key C-O		= Return Left				# 一行増やす
 if ( !GANA ) key C-T	= $EmacsEdit/transpose-chars		# 文字入れ替え
 key C-W		= C-X					# CUT
 key M-W		= C-C					# COPY
 key C-U		= &#038;Variable(0, 4) &#038;Prefix(EmacsC-U)
 if ( !ZXCV ) key C-X	= &#038;Prefix(EmacsC-X)
 key C-Y		= C-V					# PASTE
 key C-Slash		= C-Z					# UNDO
 key M-U		= $EmacsEdit/upcase-word		# 大文字
 key M-L		= $EmacsEdit/downcase-word		# 小文字

keymap2	EmacsMark
 key M-S-IL-Comma	= S-C-Home	&#038;Prefix(EmacsMark)	# 文頭
 key M-S-IL-FullStop	= S-C-End	&#038;Prefix(EmacsMark)	# 文末
 key Home		= S-C-Home	&#038;Prefix(EmacsMark)	# 文頭
 key End		= S-C-End	&#038;Prefix(EmacsMark)	# 文末
 key C-A		= S-Home	&#038;Prefix(EmacsMark)	# 行頭
 key C-B		= S-Left	&#038;Prefix(EmacsMark)	# ←
 key M-B		= S-C-Left	&#038;Prefix(EmacsMark)	# ←(単語)
 key C-E		= S-End		&#038;Prefix(EmacsMark)	# 行末
 key C-F		= S-Right	&#038;Prefix(EmacsMark)	# →
 key M-F		= S-C-Right	&#038;Prefix(EmacsMark)	# →(単語)
 key C-G		= $EmacsMark/cancel &#038;Undefined		# キャンセル
 key C-N		= S-Down	&#038;Prefix(EmacsMark)	# ↓
 key C-P		= S-Up		&#038;Prefix(EmacsMark)	# ↑
 if ( !ZXCV ) key C-V	= S-Next	&#038;Prefix(EmacsMark)	# 次頁
 key M-V		= S-Prior	&#038;Prefix(EmacsMark)	# 前頁
 key C-W		= C-X Left Right			# CUT
 key M-W		= C-C Left Right			# COPY
 key S-M-Comma		= S-C-Home	&#038;Prefix(EmacsMark)	# 文頭
 key S-M-Period		= S-C-End	&#038;Prefix(EmacsMark)	# 文末
 key Left		= S-Left	&#038;Prefix(EmacsMark)	# ←
 key Up			= S-Up		&#038;Prefix(EmacsMark)	# ↑
 key Right		= S-Right	&#038;Prefix(EmacsMark)	# →
 key Down		= S-Down	&#038;Prefix(EmacsMark)	# ↓
 if ( MAP-ESCAPE-TO-META )
   key Escape		= &#038;Prefix(EmacsMarkEscape) &#038;EditNextModifier(M-)
   if ( KBD109 ) and ( ! KBD104on109 )
     key 半角/全角	= &#038;Prefix(EmacsMarkEscape) &#038;EditNextModifier(M-)
   endif
 endif

keymap2 EmacsMarkEscape
 event prefixed		= &#038;HelpMessage("EmacsMark ESC-", " ")
 event before-key-down	= &#038;HelpMessage
 key M-C-G		= &#038;Ignore
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/07/01/50/%e3%81%aa%e3%82%93%e3%81%a8%e3%81%aa%e3%81%8f%e7%aa%93%e4%bd%bf%e3%81%84%e3%81%ae%e6%86%82%e9%ac%b1%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e5%85%ac%e9%96%8b%e3%81%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>emacs : elscreen + iswitchb + mcomplete =&gt; Error in pre-command-hook</title>
		<link>http://hexe19.net/2008/05/11/46/emacs-elscreen-iswitchb-mcomplete-error-in-pre-command-hook/</link>
		<comments>http://hexe19.net/2008/05/11/46/emacs-elscreen-iswitchb-mcomplete-error-in-pre-command-hook/#comments</comments>
		<pubDate>Sat, 10 May 2008 16:09:54 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[elisp]]></category>

		<guid isPermaLink="false">http://hexe19.net/?p=46</guid>
		<description><![CDATA[emacs(Meadow 3.00-dev) の elscreen と iswitchb と mcomplete が便利でよかったんだけど、いつの頃からか、
C-z b(elscreen-find-and-goto-by-buffer)  をしたときに、ミニバッファが↓の様になって、うまくいかない事件が発生。
[No match] [No match] [No match] [No match] [No match] ...
調べてみると、*Message* バッファに次のエラーが。（数値の部分はその時々で変わる）
Error in pre-command-hook: (args-out-of-range 41 63)
ウチちの環境でこのエラーを再現する方法：

emacs を起動。 (elscreen, iswitchb, mcomplete が使える状態)
C-z b *Message* と入力しようとする
[No match] [No match] &#8230; と出て、全くバッファ名にマッチしなくなる
*Message* バッファに Error in pre-command-hook: (args-out-of-range 41 63) が出てる
*Message* [No match] [No match] [No match] [...]]]></description>
			<content:encoded><![CDATA[<p>emacs(Meadow 3.00-dev) の elscreen と iswitchb と mcomplete が便利でよかったんだけど、いつの頃からか、<br />
<strong>C-z b</strong>(elscreen-find-and-goto-by-buffer)  をしたときに、ミニバッファが↓の様になって、うまくいかない事件が発生。<br />
<code>[No match] [No match] [No match] [No match] [No match] ...</code></p>
<p>調べてみると、*Message* バッファに次のエラーが。（数値の部分はその時々で変わる）<br />
<code>Error in pre-command-hook: (args-out-of-range 41 63)</code></p>
<p>ウチちの環境でこのエラーを再現する方法：</p>
<ol>
<li>emacs を起動。 (elscreen, iswitchb, mcomplete が使える状態)</li>
<li><strong><strong>C-z b</strong> *Message*</strong> と入力しようとする</li>
<li><strong>[No match] [No match] &#8230; </strong>と出て、全くバッファ名にマッチしなくなる</li>
<li>*Message* バッファに <strong>Error in pre-command-hook: (args-out-of-range 41 63)</strong> が出てる</li>
<li><strong>*Message* [No match] [No match] [No match] [No match]</strong> とかいう名前のバッファが新規作成される</li>
</ol>
<p>ちなみに、 C-x b などでバッファを選ぶと問題ない。 C-z b の時だけ。</p>
<p><strong>原因究明：</strong><br />
pre-command-hook とか言われても、どの hook がダメなのかさっぱりだったので、いろいろ追っかけて、elscreen と mcomplete の連携がうまくいってないことが判明。<br />
ずっと、iswitchb が原因と思って iswitchb.el をデバッグしてたのに・・・。</p>
<p>mcomplete.el の 1093 行目付近の以下の箇所を修正。<br />
<strong>修正前：</strong></p>
<pre class="code">
(mapcar #'(lambda (f) (put f 'mcomplete-mode '(:mode off)))
        '(iswitchb-buffer iswitchb-buffer-other-window
          iswitchb-display-buffer iswitchb-buffer-other-frame

          ido-find-file ido-find-alternate-file ido-write-file
          ido-insert-file ido-switch-buffer ido-insert-buffer
          ido-kill-buffer ido-find-file-other-window
          ido-find-file-other-window ido-switch-buffer-other-window
          ido-display-buffer ido-find-file-other-frame
          ido-switch-buffer-other-frame))
</pre>
<p><strong>修正後：</strong></p>
<pre class="code">
(mapcar #'(lambda (f) (put f 'mcomplete-mode '(:mode off)))
        '(iswitchb-buffer iswitchb-buffer-other-window
          iswitchb-display-buffer iswitchb-buffer-other-frame

          ido-find-file ido-find-alternate-file ido-write-file
          ido-insert-file ido-switch-buffer ido-insert-buffer
          ido-kill-buffer ido-find-file-other-window
          ido-find-file-other-window ido-switch-buffer-other-window
          ido-display-buffer ido-find-file-other-frame
          ido-switch-buffer-other-frame

          elscreen-find-and-goto-by-buffer
          ))
</pre>
<p>どうやら、mcomplete は、 iswitchb とかと競合しないように気を遣っているようだけど、elscreen は眼中になかったらしい。</p>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/05/11/46/emacs-elscreen-iswitchb-mcomplete-error-in-pre-command-hook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php-mode.el (2)</title>
		<link>http://hexe19.net/2008/04/30/44/php-modeel-2/</link>
		<comments>http://hexe19.net/2008/04/30/44/php-modeel-2/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 15:43:02 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hexe19.net/?p=44</guid>
		<description><![CDATA[php-mode.el を修正。
↓の様なインデントをサポートするように改造。
$a = array(
    'aaaa' => 1,
    'bbbb' => 2,
);
あと、もともと入っていた template という、ウィザード形式の入力支援が苦手だったので、全部その処理をしているところをばっさり削除。
便利な入力支援は yasnippet を使うことにする方がいいかも。
http://code.google.com/p/yasnippet/

php-mode.el (2008/04/30)
過去の php-mode.el

]]></description>
			<content:encoded><![CDATA[<p>php-mode.el を修正。</p>
<p>↓の様なインデントをサポートするように改造。</p>
<pre class="code">$a = array(
    'aaaa' => 1,
    'bbbb' => 2,
);</pre>
<p>あと、もともと入っていた template という、ウィザード形式の入力支援が苦手だったので、全部その処理をしているところをばっさり削除。<br />
便利な入力支援は <a href='http://code.google.com/p/yasnippet/' target='_blank'>yasnippet</a> を使うことにする方がいいかも。<br />
http://code.google.com/p/yasnippet/</p>
<ul>
<li><a href='/wp/wp-content/uploads/2008/04/php-mode1.el'>php-mode.el (2008/04/30)</a></li>
<li><a href='/2008/03/01/5/'>過去の php-mode.el</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/04/30/44/php-modeel-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>左手小指に優しいキーマップ</title>
		<link>http://hexe19.net/2008/03/31/38/%e5%b7%a6%e6%89%8b%e5%b0%8f%e6%8c%87%e3%81%ab%e5%84%aa%e3%81%97%e3%81%84%e3%82%ad%e3%83%bc%e3%83%9e%e3%83%83%e3%83%97/</link>
		<comments>http://hexe19.net/2008/03/31/38/%e5%b7%a6%e6%89%8b%e5%b0%8f%e6%8c%87%e3%81%ab%e5%84%aa%e3%81%97%e3%81%84%e3%82%ad%e3%83%bc%e3%83%9e%e3%83%83%e3%83%97/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 09:29:00 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[Keyboar]]></category>

		<guid isPermaLink="false">http://hexe19.net/2008/03/31/38/</guid>
		<description><![CDATA[
Happy Hacking Keyboard Lite2 を使い始めて、手首を浮かすことがだいぶ少なくなったので、手首が腱鞘炎っぽくなることがほぼ無くなった。
それでも今度は、Emacs 使いの所為か左手小指にかなり負荷がかかっていて、
一日の終わりに頭よりも目よりも先に、左小指が一番最初にガタが来る症状に悩まされたあげく、自分なりの解決策にたどり着いた。
解決策：一番丈夫なのにスペースキーくらいしか叩いてない親指に働いてもらう
↑の画像のようにキーを入れ替える。

半角/全角 → 左Alt
無変換 → 左Control
変換 → 右Control
カタカナ/ひらがな → 右Alt
左Alt → メニュー
;（セミコロン） → Enter
Ctrl+;（Ctrlを押しながら;） → ;（セミコロン）

キーの入れ替えには「窓使いの憂鬱」というソフトを使用。
このソフトはかなり便利で、いろんなソフトで Emacs ライクなキーバインドを使える。
窓使いの憂鬱の設定ファイル .mayu に以下を追加。
mod control += 無変換       # 無変換 を LControl に
key *無変換 = *LControl     #       〃
mod control += [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://hexe19.net/wp/wp-content/uploads/2008/03/myhhkblite2-20080331-mini.png' alt='My Happy Hacking Keyboard Lite 2' /></p>
<p>Happy Hacking Keyboard Lite2 を使い始めて、手首を浮かすことがだいぶ少なくなったので、手首が腱鞘炎っぽくなることがほぼ無くなった。</p>
<p>それでも今度は、Emacs 使いの所為か左手小指にかなり負荷がかかっていて、<br />
一日の終わりに頭よりも目よりも先に、左小指が一番最初にガタが来る症状に悩まされたあげく、自分なりの解決策にたどり着いた。</p>
<p><strong>解決策：一番丈夫なのにスペースキーくらいしか叩いてない親指に働いてもらう</strong></p>
<p>↑の画像のようにキーを入れ替える。</p>
<ul>
<li><kbd>半角/全角</kbd> → <kbd>左Alt</kbd></li>
<li><kbd>無変換</kbd> → <kbd>左Control</kbd></li>
<li><kbd>変換</kbd> → <kbd>右Control</kbd></li>
<li><kbd>カタカナ/ひらがな</kbd> → <kbd>右Alt</kbd></li>
<li><kbd>左Alt</kbd> → <kbd>メニュー</kbd></li>
<li><kbd>;（セミコロン）</kbd> → <kbd>Enter</kbd></li>
<li><kbd>Ctrl+;（Ctrlを押しながら;）</kbd> → <kbd>;（セミコロン）</kbd></li>
</ul>
<p>キーの入れ替えには「窓使いの憂鬱」というソフトを使用。<br />
このソフトはかなり便利で、いろんなソフトで Emacs ライクなキーバインドを使える。</p>
<p>窓使いの憂鬱の設定ファイル .mayu に以下を追加。</p>
<pre class="code">mod control += 無変換       # 無変換 を LControl に
key *無変換 = *LControl     #       〃
mod control += 変換         # 変換を を LControl に
key *変換   = *LControl     #       〃
mod alt       += ひらがな   # ひらがな を LAlt に
key *ひらがな = *LAlt       #      〃

if ( HHKBLite2 )
  mod alt        -= RAlt       # RAlt を 右クリックメニューの出るやつに
  key *RAlt      = *APPS       #      〃
  mod alt        += 半角/全角  # 半角/全角 を LAlt に
  key *半角/全角 = *LAlt       #      〃
  key Escape     = &#038;Default    # Escape を元に戻す
endif

if ( LetsNoteCFY2 )
  key *半角/全角  = *Esc       # 半角/全角を Esc に
  #key *Esc       = *半角/全角 # Esc はそのまま
  key *Escape     = *Escape    # Escape を元に戻す
endif

key *IC-SemiColon      = Enter       # セミコロン を Enter に
key *IC-C-~S-SemiColon = SemiColon   # Ctrlを押しながらだとセミコロンに;
#key *IC-C-~S-I          = Tab        # Ctrlを押しながらだとTabに
</pre>
<p>↑の設定では、デスクトップの HHKBLite2 と、Laptop の Let&#8217;s note CF-Y2 で同じ設定を共有できるように、<br />
デスクトップで使用する場合は、シンボルに <strong>HHKBLite2</strong> を、<br />
Laptop で使用する場合は、シンボルに <strong>LetsNoteCFY2</strong> を定義して切り分けるようにしてある。</p>
<p>これで、Control キーを押しっぱなし、Alt キーを押しっぱなしといったことがほとんど親指の仕事になったので、<br />
左小指への負担はだいぶ軽減された。相当酷使しない限り今のところ平気。</p>
<p>あとは、さらに小指の負担が減るように、 Ctrl+i で Tab になるようにしてある。</p>
<p>「窓使いの憂鬱」を使い始めて、何も Happy Hacking Keyboard Lite2 じゃなくても、<br />
同じくらいか、もう少し小さめのキーを押しやすいキーボードがあればそれでいい気がしてきた・・・。<br />
英語版キーボードも、スペースキーの周りにもっとキーがいっぱいあればな・・・。</p>
<p>関連：<a href="http://hexe19.net/2008/03/31/36/">キーボード（Happy Hacking Keyboard Lite2）</a></p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hexe19-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=B00008B61E&#038;fc1=000000&#038;IS1=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;f" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/03/31/38/%e5%b7%a6%e6%89%8b%e5%b0%8f%e6%8c%87%e3%81%ab%e5%84%aa%e3%81%97%e3%81%84%e3%82%ad%e3%83%bc%e3%83%9e%e3%83%83%e3%83%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>キーボード（Happy Hacking Keyboard Lite2）</title>
		<link>http://hexe19.net/2008/03/31/36/%e3%82%ad%e3%83%bc%e3%83%9c%e3%83%bc%e3%83%89%ef%bc%88happy-hacking-keyboard-lite2%ef%bc%89/</link>
		<comments>http://hexe19.net/2008/03/31/36/%e3%82%ad%e3%83%bc%e3%83%9c%e3%83%bc%e3%83%89%ef%bc%88happy-hacking-keyboard-lite2%ef%bc%89/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 08:59:52 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Keyboard]]></category>

		<guid isPermaLink="false">http://hexe19.net/2008/03/31/36/</guid>
		<description><![CDATA[
今現在、デスクトップＰＣ用のキーボードで Happy Hacking Keyboard Lite2 の日本語配列を使用中。（キーを入れ替えて使用）
選んだ理由は、使い始めた当時、Happy Hacking Keyboard は使いやすいと噂で聞いていたのと、
Happy Hacking Keyboard Professional が英語配列しかなくて、しかも高かったので、 HHKB Lite2 を選択。

その当時の事情で、他のキーボードも触ることがよくあって、日本語配列←→英語配列を行き来するのが大変そうだったのも理由の一つ。
今となっては、日本語配列にして正解だったと思う。一番下の段にいっぱいキーがあるし。
好きな点：
キーボードがちょうどいいくらいに小さいので、総てのキーに指が簡単に届く
日本語配列だからノートＰＣとか、人のＰＣのキーボードを触っても困りにくい
日本語配列なので最下段に余計なキーがあって好きに使える（後述）
日本語配列なのでちゃんとカーソルキーが付いてる（やっぱりカーソルキーは要る）
デフォルトで、左Control キーが使いやすい a に左にある

きらいな点：
Enter キーが大きすぎる
F1 ～ F12 を独立させてほしい（Fn+最上段のキーでF1～F12は使いにくい）

改善されたらいいと思う点：
最近、スペースキーの押し心地が悪い気がするのでそれ(2008/04/13 追記)
音がカチャカチャうるさい(2008/04/13 追記)
キーがもっともっと弱い力で押せればいいのに(2008/04/13 追記)
きらいな点や、改善されたらいいと思う点とかをクリアしたキーボードがどこかからか発売されればいいのに(2008/04/13 追記)

Happy Hacking Keyboard Professional2 に日本語配列があれば買うのにな・・・。
つづく。


PFU Happy Hacking Keyboard Lite2 日本語配列/白/USB PD-KB210W/U
PFU Happy Hacking Keyboard Lite2 日本語配列/黒/USB PD-KB210B/U
PFU Happy Hacking Keyboard Lite2 日本語配列かな無刻印/白/USB PD-KB220W/U
PFU Happy Hacking Keyboard Lite2 日本語配列かな無刻印/黒/USB PD-KB220B/U

]]></description>
			<content:encoded><![CDATA[<p><img src='http://hexe19.net/wp/wp-content/uploads/2008/03/pdkb220w01_l-mini.png' alt='Happy Hacking Keyboard Lite2 日本語' /></p>
<p>今現在、デスクトップＰＣ用のキーボードで <a href="http://www.amazon.co.jp/gp/product/B00008B61F?ie=UTF8&#038;tag=hexe19-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=B00008B61F">Happy Hacking Keyboard Lite2 の日本語配列</a>を使用中。（キーを入れ替えて使用）<br />
選んだ理由は、使い始めた当時、Happy Hacking Keyboard は使いやすいと噂で聞いていたのと、<br />
Happy Hacking Keyboard Professional が英語配列しかなくて、しかも高かったので、 HHKB Lite2 を選択。</p>
<p><span id="more-36"></span></p>
<p>その当時の事情で、他のキーボードも触ることがよくあって、日本語配列←→英語配列を行き来するのが大変そうだったのも理由の一つ。<br />
今となっては、日本語配列にして正解だったと思う。一番下の段にいっぱいキーがあるし。</p>
<ul><strong>好きな点：</strong></p>
<li>キーボードがちょうどいいくらいに小さいので、総てのキーに指が簡単に届く</li>
<li>日本語配列だからノートＰＣとか、人のＰＣのキーボードを触っても困りにくい</li>
<li>日本語配列なので最下段に余計なキーがあって好きに使える（後述）</li>
<li>日本語配列なのでちゃんとカーソルキーが付いてる（やっぱりカーソルキーは要る）</li>
<li>デフォルトで、左Control キーが使いやすい a に左にある</li>
</ul>
<ul><strong>きらいな点：</strong></p>
<li>Enter キーが大きすぎる</li>
<li>F1 ～ F12 を独立させてほしい（Fn+最上段のキーでF1～F12は使いにくい）</li>
</ul>
<ul><strong>改善されたらいいと思う点：</strong></p>
<li>最近、スペースキーの押し心地が悪い気がするのでそれ(2008/04/13 追記)</li>
<li>音がカチャカチャうるさい(2008/04/13 追記)</li>
<li>キーがもっともっと弱い力で押せればいいのに(2008/04/13 追記)</li>
<li>きらいな点や、改善されたらいいと思う点とかをクリアしたキーボードがどこかからか発売されればいいのに(2008/04/13 追記)</li>
</ul>
<p>Happy Hacking Keyboard Professional2 に日本語配列があれば買うのにな・・・。</p>
<p><a href="http://hexe19.net/2008/03/31/38/">つづく</a>。</p>
<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hexe19-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=B00008B61E&#038;fc1=000000&#038;IS1=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;f" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<ul>
<li><a href="http://www.amazon.co.jp/gp/product/B00008B61E?ie=UTF8&#038;tag=hexe19-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=B00008B61E">PFU Happy Hacking Keyboard Lite2 日本語配列/白/USB PD-KB210W/U</a><img src="http://www.assoc-amazon.jp/e/ir?t=hexe19-22&#038;l=as2&#038;o=9&#038;a=B00008B61E" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li><a href="http://www.amazon.co.jp/gp/product/B00008B61F?ie=UTF8&#038;tag=hexe19-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=B00008B61F">PFU Happy Hacking Keyboard Lite2 日本語配列/黒/USB PD-KB210B/U</a><img src="http://www.assoc-amazon.jp/e/ir?t=hexe19-22&#038;l=as2&#038;o=9&#038;a=B00008B61F" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li><a href="http://www.amazon.co.jp/gp/product/B000EXXEW4?ie=UTF8&#038;tag=hexe19-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=B000EXXEW4">PFU Happy Hacking Keyboard Lite2 日本語配列かな無刻印/白/USB PD-KB220W/U</a><img src="http://www.assoc-amazon.jp/e/ir?t=hexe19-22&#038;l=as2&#038;o=9&#038;a=B000EXXEW4" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li><a href="http://www.amazon.co.jp/gp/product/B000EXXEWE?ie=UTF8&#038;tag=hexe19-22&#038;linkCode=as2&#038;camp=247&#038;creative=1211&#038;creativeASIN=B000EXXEWE">PFU Happy Hacking Keyboard Lite2 日本語配列かな無刻印/黒/USB PD-KB220B/U</a><img src="http://www.assoc-amazon.jp/e/ir?t=hexe19-22&#038;l=as2&#038;o=9&#038;a=B000EXXEWE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/03/31/36/%e3%82%ad%e3%83%bc%e3%83%9c%e3%83%bc%e3%83%89%ef%bc%88happy-hacking-keyboard-lite2%ef%bc%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>emacs(Meadow) de dired からファイルを CraftDrop 送りにする</title>
		<link>http://hexe19.net/2008/03/26/34/emacsmeadow-de-dired-%e3%81%8b%e3%82%89%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92-craftdrop-%e9%80%81%e3%82%8a%e3%81%ab%e3%81%99%e3%82%8b/</link>
		<comments>http://hexe19.net/2008/03/26/34/emacsmeadow-de-dired-%e3%81%8b%e3%82%89%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92-craftdrop-%e9%80%81%e3%82%8a%e3%81%ab%e3%81%99%e3%82%8b/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 14:53:23 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[CraftDrop]]></category>
		<category><![CDATA[dired]]></category>
		<category><![CDATA[meadow]]></category>

		<guid isPermaLink="false">http://hexe19.net/2008/03/26/34/</guid>
		<description><![CDATA[Meadow で、 dired から外部のプログラムへファイルを送る実験。
CraftDrop というコマンドラインからファイルを、起動中のプログラムへファイルをドラッグ＆ドロップするプログラムを使用する。
cdrop.exe, cdropopt.exe, cdrop.dat(←cdrop.exeを初回起動時に作成される) を PATH の通ったところにコピー。
（めんどかったので、meadow/bin に放り込んだ）
.emacs に↓を追加:
;; dired で "c" でファイルを CraftDrop 送り
(add-hook 'dired-mode-hook
          (lambda ()
            (local-set-key "c" 'dired-exec-craftdrop)))
(defun dired-exec-craftdrop ()
  "In dired, execute CraftDrop"
  (interactive)
  (craftdrop [...]]]></description>
			<content:encoded><![CDATA[<p>Meadow で、 dired から外部のプログラムへファイルを送る実験。</p>
<p><a href="http://hp.vector.co.jp/authors/VA012411/chapter-10.html">CraftDrop</a> というコマンドラインからファイルを、起動中のプログラムへファイルをドラッグ＆ドロップするプログラムを使用する。<br />
cdrop.exe, cdropopt.exe, cdrop.dat(←cdrop.exeを初回起動時に作成される) を PATH の通ったところにコピー。<br />
（めんどかったので、meadow/bin に放り込んだ）</p>
<p>.emacs に↓を追加:</p>
<pre class="code">;; dired で "c" でファイルを CraftDrop 送り
(add-hook 'dired-mode-hook
          (lambda ()
            (local-set-key "c" 'dired-exec-craftdrop)))
(defun dired-exec-craftdrop ()
  "In dired, execute CraftDrop"
  (interactive)
  (craftdrop (dired-get-filename)))
;; 現在の行のファイルを craftdrop 送りにする
(define-process-argument-editing "/cdrop\\.exe$"
  (lambda (x)
    (general-process-argument-editing-function x nil nil nil)))
(defun craftdrop (&#038;optional fname)
  (interactive)
  (if (not (file-exists-p fname))
      (message "%s can't open." fname)
    (setq fname (unix-to-dos-filename fname))
    (let ((w32-start-process-show-window t))
      (apply (function start-process)
             "cdrop" nil "cdrop.exe" (list fname)))))
</pre>
<p><kbd>C-x d </kbd> で dired を起動して、何かファイルにカーソルを合わせた状態で c を押すと、そのファイルを CraftDrop 送りにできる。</p>
<p>CraftDrop をまだ、ちゃんと使ってないので、このコードが活きてくるのか不明・・・。</p>
<p>参考にしたサイト:</p>
<ul>
<li><a href="http://www.bookshelf.jp/cgi-bin/wwwsrch2ch.cgi?WORD=hoge&#038;index=software">検索結果</a></li>
<li><a href="http://www.bookshelf.jp/soft/meadow_25.html#SEC277">25.3.7 dired から関連付けられたソフトで開く</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/03/26/34/emacsmeadow-de-dired-%e3%81%8b%e3%82%89%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92-craftdrop-%e9%80%81%e3%82%8a%e3%81%ab%e3%81%99%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php-mode.el</title>
		<link>http://hexe19.net/2008/03/01/5/php-modeel/</link>
		<comments>http://hexe19.net/2008/03/01/5/php-modeel/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 08:04:11 +0000</pubDate>
		<dc:creator>you</dc:creator>
				<category><![CDATA[Emacs]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://hexe19.net/wp/2008/03/01/5/</guid>
		<description><![CDATA[※新しい php-mode.el (2008/04/30)
PHP を使うことになったので emacs の php-mode を入れてみたけど、非常に使いにくい状態。
不満噴出で、いろいろ調べて既存の２つの php-mode をくっつけて修正したバージョン。
php-mode.el ver 0.0.4 と php-mode.el var 1.2.0を混ぜて少し修正。
meadow で動作確認。
site-lisp に php-mode.el　をコピーして、
.emacs に以下の行を追加。
(autoload 'php-mode "php-mode" "PHP mode" t)

(setq auto-mode-alist
      (cons '("\\.\\(php\\&#124;php5\\&#124;inc\\)$" . php-mode) auto-mode-alist))
(add-hook 'php-mode-hook '(lambda ()
			    (setq php-intelligent-tab nil)
			    (setq intelligent-tab nil)
			    (setq [...]]]></description>
			<content:encoded><![CDATA[<p><strong>※<a href='http://hexe19.net/2008/04/30/44/'>新しい php-mode.el (2008/04/30)</a></strong><br />
PHP を使うことになったので emacs の php-mode を入れてみたけど、非常に使いにくい状態。<br />
不満噴出で、いろいろ調べて既存の２つの php-mode をくっつけて修正したバージョン。</p>
<p><a href="http://mewde.googlecode.com/files/php-mode.el" title='php-mode.el ver 0.0.4' target="_blank">php-mode.el ver 0.0.4</a> と <a href="http://www.emacswiki.org/cgi-bin/wiki/PhpMode" title='php-mode.el var 1.2.0' target="_blank">php-mode.el var 1.2.0</a>を混ぜて少し修正。</p>
<p>meadow で動作確認。</p>
<p>site-lisp に <a href='http://hexe19.net/wp/wp-content/uploads/2008/03/php-mode.el' title='php-mode.el'>php-mode.el</a>　をコピーして、<br />
.emacs に以下の行を追加。</p>
<pre class="code">(autoload 'php-mode "php-mode" "PHP mode" t)

(setq auto-mode-alist
      (cons '("\\.\\(php\\|php5\\|inc\\)$" . php-mode) auto-mode-alist))
(add-hook 'php-mode-hook '(lambda ()
			    (setq php-intelligent-tab nil)
			    (setq intelligent-tab nil)
			    (setq indent-tabs-mode t)
			    (setq c-basic-offset 4)
			    (setq tab-width 4)
			    ) t)
</pre>
<ul>
<li><a href='http://hexe19.net/wp/wp-content/uploads/2008/03/php-mode.el' title='php-mode.el'>php-mode.el 2008/03/01</a></li>
<li><a href='http://hexe19.net/wp/wp-content/uploads/2008/03/php-mode.el-02' title='php-mode.el ちょっと修正 02'>php-mode.el ※追記 2008/03/18 ちょっと修正版</a></li>
<li><a href='http://hexe19.net/wp/wp-content/uploads/2008/04/php-mode.el' title='php-mode.el 2008/04/24'>php-mode.el ※追記 2008/04/24 # のコメントはないことにして、コメント内で#以降の色がおかしくなるのを修正。</li>
<li><a href='http://hexe19.net/2008/04/30/44/'>新しい php-mode.el (2008/04/30)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hexe19.net/2008/03/01/5/php-modeel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
