前の月 / 次の月 / 最新

hiChangeLog / 2007-04

2007-04
SMTWTFS
1234567
891011121314
15161718192021
22232425262728
2930

2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12

2007-04-19 Thu

VMWare WS 5.5をAthlon X2上で動かすにはAMD Dual-Core Optimizerが必要だった [VMWare]

新しいPCにVMWareをインストールし(Windows XP MCE)、既存の仮想マシンを起動しようとしたら、NUMAやらBIOSやらがどうのと言われて起動できなかった。
何だろうと調べてみると、皆同様な件で苦労しているようであった。とりあえずAMD Dual-Core Optimizerをインストールして再トライしてみると、うまく動いているようであった。

2007-04-18 Wed

Excelのショートカットキー(キーバインド)を少し [Excel]

入力し終わって右のセルに移るにはTab。その後のEnterもうまく処理してくれる。新規入力なら矢印でも右に移動できるが、Tabはセルの変更にも対処できる。
あるセルを編集するにはF2。

Excel 2000 のショートカット キー

2007-04-17 Tue

あふの表示ディレクトリをEshellで開く方法 [emacs][Eshell][シェル][VBScript(WSH)]

シェル環境としてはMSYSのbashをコマンドプロンプトで開くのがお気に入りであるが、日本語に難があるのが玉にキズ。Eshell => MSYS と辿ってきたのだが、日本語対策としてEshellも考え直してみることにした。

私がシェル環境に求めるものは、コピペ環境、キーバインドなどがあるが、実は第一条件はあふの表示ディレクトリに素早く飛べることである。これができなければ試す気にもならない。というわけでその方法についてメモ。

まずはEshellで指定したディレクトリに飛ぶ関数を作っておく。(Emacs - Hirotake Itoh's memo by PukiWiki

(defun eshell-in-the-directory (targetdir)
  (interactive)
  (let ((dir default-directory))
    (eshell)
    (cd targetdir)
    (eshell-interactive-print (concat "cd " targetdir "\n"))
    (eshell-emit-prompt)
    (cd dir)
    (end-of-buffer)
    ))
以上の関数を外部から呼出せればよい。NTEmacs 22.0.90を用いているのだが、付属のemacsclientwを使うことを考える。gnuclientと違ってemacsウィンドウをアクティブ(フォアグラウンド)にするオプションが無いので、自分でそこまで面倒を見る必要がある。この条件からVBScript(WSH)を用いるのが便利と思う。([2007-4-17-1])以下で、ダブルクォーテーションが2連続な場所は、ダブルクォーテーションで囲まれた中で自分自身をエスケープしているという意味(バックスラッシュではない)。
Option Explicit
''' パスの準備
Dim strArg      ' 引数情報
' WScript.Arguments.Count が引数の数

Dim path
path = WScript.Arguments(0)
path = Replace(path, "\", "/")

''' EShellの起動

Dim objWshShell     ' WshShell オブジェクト
Dim strCmdLine      ' 実行するコマンド

Set objWshShell = WScript.CreateObject("WScript.Shell")
If Err.Number = 0 Then
    strCmdLine = "C:\programs\emacs-22.0.90\22.0.90\bin\emacsclientw.exe -e ""(eshell-in-the-directory \""" + path + "\"")"" -n"
    objWshShell.Exec(strCmdLine)
    objWshShell.AppActivate("emacs@ITOH")
    If Err.Number = 0 Then
        ' successful
    Else
        msgbox "error"
    End If
Else
    msgbox "エラー: " & Err.Description
End If

Set objWshShell = Nothing

以上をEshell.vbsなどと保存しておき、あふから
wscript C:\programs\afx\Eshell.vbs $P
などとパスを引数として渡して起動してやれば、あふの表示ディレクトリをEshellで開くことができる。

ここまでやって、eshellじゃなくってshellだけで充分じゃないかと思うようになったが、試すのはまた後日。

ウィンドウをアクティブ(フォアグラウンド)にするにはAppActivate [VBScript(WSH)]

タイトルの通り。前方、後方一致するウィンドウタイトルを指定する。以下は http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/wshshell.htm にある記述とほぼ同一

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate("MyWindowTitle")
まあ以下でもよい。
WScript.CreateObject("WScript.Shell").AppActivate("MyWindowTitle")

2007-04-16 Mon

emacsclientでBuffer `hogehoge' still has clientsと言われないために [Emacs]

[2007-04-09-01]で書いたことだが、これはemacsclientに-nオプションを渡すだけで回避できるようである

TeXをインストールする際に必要なファイルをまとめて入手 [TeX]

WindowsにおけるTeXのインストールでは、いちいちリンク先をクリックしてファイルを入手するのが面倒くさい。なので、ファイルが列挙してあるページのソースからファイルのURLを抜き出して(gzで終わる、とかの条件で)以下のスクリプトを回した。

import sys,os
f = open('texfiles.txt', 'r')

for line in f:
	os.system('wget http://www.ring.gr.jp/pub/text/TeX/ptex-win32/current/' + line)

うまくいった。でもFTPクライアントを使えば面倒なことは何もないんじゃね?とやり終わってから気付いた。

yatexのインストールその2 [yatex]

[2006-11-21-4]でもメモしたが、もう一度メモ。
yatex1.73をNTEmacs22.0.90にインストールした。
makefileをいじって

export DISPLAY=":0.0"
make elc
make install
したらできた(MSYSのsh)。その際、makefileは以下のように編集した。installコマンドのフルパス指定が私的なキモだった。
$ diff -u makefile.orig makefile
--- makefile.orig       Wed Jul 20 22:02:46 2005
+++ makefile    Mon Apr 16 13:46:10 2007
@@ -3,11 +3,13 @@
 #

 # Edit these variables to be suitable for your site
-PREFIX = /usr/local
+PREFIX = /c/programs/emacs-22.0.90
+EMACS = emacs
+EMACSDIR = ${PREFIX}/22.0.90

 ## mule2
-EMACS  = mule
-EMACSDIR= ${PREFIX}/lib/${EMACS}
+#EMACS = mule
+#EMACSDIR= ${PREFIX}/lib/${EMACS}
 ## emacs20
 #EMACS = emacs
 #EMACSDIR= ${PREFIX}/share/${EMACS}
@@ -26,16 +28,16 @@
 # LISPDIR      = ${EMACSDIR}/site-packages/lisp/yatex
 DOCDIR = ${LISPDIR}/docs
 HELPDIR        = ${EMACSDIR}/site-lisp
-INFODIR        = ${PREFIX}/info
+INFODIR        = ${EMACSDIR}/info

 TAR    = tar
-INSTALL        = install -c -m 444
+INSTALL        = /bin/install -c -m 444
 MKDIR  = mkdir -p
 INSTINFO= install-info


 # Comment out below if you are using Emacs Windows(meadow, etc)
-GEO    = -geometry 80x20+0+0
+#GEO   = -geometry 80x20+0+0

 ###################
 # Do not edit below

2007-04-11 Wed

改行を取り除くスクリプトを書いた [python]

以下でうまく動いているようだ。

import sys
f = sys.stdin
for line in f:
    print line.rstrip('\n'), # comma is to suppress newline charactersa

Windowsのコマンドライン版のvimをインストールした [vim]

普段エディタとしてはemacsを使うが、コンソールでのちょっとした作業にはvimも便利。
本家からvim70rt.zip、vim70w32.zipを入手して展開するだけで使えるようになった。
MSYSのvimはリネームした。

XUL/Migemo (Forked Edition) が便利そう [Firefox]

日本語検索にはmigemoが便利。それをFirefoxから使えるようにしたのがこの拡張機能。

XUL/Migemo (Forked Edition)

一瞬でインストール、設定が終了して使えるようになった。とても便利そうだ。

2007-04-09 Mon

faceの色などを変更したい場合、custom-set-faces関数を使う [Emacs]

以下のようにしたが、望んだ効果が得られているようである。NTEmacs 22.0.90

(custom-set-faces
 '(action-lock-face ((((class color)) (:foreground "yellow" :underline "dark cyan"))))
 '(howm-mode-title-face ((((class color)) (:background "purple"))))
)

パラメータは list-faces-display や list-colors-display から決めた。

apelとskkをNTEmacsにインストールした [Emacs]

[2006-11-21-7]と意味的には同等だが内容が新しく詳しい。

まずは準備というか前提条件というか。emacsはNTEmacs 22.0.90。コマンドライン環境はMSYSのsh.exe。emacsのbinディレクトリにパスを通しておく。

APELについて。APEL公式サイトからAPEL 10.7を入手し展開した。で、APEL-CFGを以下のように書換えた。

(前略)
;; Or, you can specify APEL_DIR and EMU_DIR directly.
 (setq APEL_DIR "c:/programs/emacs-22.0.90/22.0.90/site-lisp/apel")
 (setq EMU_DIR "c:/programs/emacs-22.0.90/22.0.90/site-lisp/emu")
(後略)
理由は、デフォルトだとapelがやや上位のディレクトリにインストールされそうだったが、それを回避するため。で、
make
make what-where
make install
した。

SKKについて。SKK Openlabから ddskk-20070408.tar.gz を入手し展開。こちらは何もいじらず
make
make what-where
make install
した。

で、SKK OpenlabからからSKK-JISYO.Lとかの辞書を入手し以下を.emacsに書いたら動いた。

(setq skk-large-jisyo "C:/hiroitoh/SKK-JISYO.L")
(setq skk-jisyo "C:/hiroitoh/.skk-jisyo-euc")

; ignore dired
(global-set-key "\C-x\C-j" 'skk-mode)
(global-set-key "\C-xj" 'skk-auto-fill-mode)
(global-set-key "\C-xt" 'skk-tutorial)
(autoload 'skk-mode "skk" nil t)
(autoload 'skk-auto-fill-mode "skk" nil t)
(autoload 'skk-tutorial "skk-tut" nil t)

;;"「"を入力したら"」"も自動で挿入
(setq skk-auto-insert-paren t)

;; @で挿入する日付表示を半角に
(setq skk-number-style nil)

Referrer (Inside): [2008-05-07-2]

\222がちりばめられて文字化けを起こすのはemacs-muleなる人のせい [Emacs]

ある日howmを眺めていたら文字化けを起こしているメモ(プレーンテキストファイル)を発見した。\222が各所にちりばめられており、nkfで頑張っても見ることができず、途方に暮れていた。

だけどこれはemacs-muleなる形式?のためだそうだ。\222とは2バイト文字の文字コード情報なのだそうだ。

C-x RET c emacs-mule 
としてから C-x C-f で開くと、意図した通りの文字を見ることができ、問題は解決した。

MSYSのコンソールを便利に使う設定のまとめ [Windows][コマンド][シェル]

MinGW及びMSYSに書いたことの再整理。

まずどこでもいいので下記のバッチファイルを作成。mymsys_cmd.bat とかの名前をつける。

@echo off

REM remove '"'
set arg=%~1

REM replace '\' to '/'
set str=%arg:\=/%

REM remove ':'
set str=%str::=%

REM do not forget to add '/' at the beginning
C:\msys\1.0\bin\sh.exe -c "{ export INITIAL_DIR='/%str%'; exec /bin/sh --login; }"

環境変数 INITIAL_DIR を解釈するため、/etc/profile に下記を追加。
if [ "$INITIAL_DIR" == "" ]; then
  cd "$HOME"
else
  cd "$INITIAL_DIR"
fi

これで
C:\programs\mymsys_cmd.bat "$P"
とかやると指定したパス($P)でコンソールを開くことができた。

また、色の見栄えを良くするため、~/.profile に下記を追加するとよい。
export PS1='\[\033]0;\w\007
\033[1;32m\]\u@\h \[\033[1;33m\w\033[0m\]
$ '

emacsclientって使えるのか [Emacs]

以前[2007-3-4-1]にemacsclientがなかなか良さそうというニュアンスのメモをしたが、なんだかそうでもなさそうだ。emacsが立ち上がってなければ((server-start)してなければ) --alternate-editor を指定しないと文句を言われるし、指定しても emacsclientw: connect: No error とかトンチキなダイアログが登場する。EmacsWikiを見てもemacsclientはwindowsでは使えませんとか書いてあるしで一体何を信用すればいいのか。

まあ、emacsなんて普段起動しっぱなしなので、起動に関しては手動で行うという処置で我慢する。.emacsには

(server-start)
と書いておく。

また、C-x k してバッファを消す時に
Buffer `hogehoge' still has clients; kill it? (yes or no)
とか言われてうっとうしいという問題もある。これは以下のようにして回避することにした。記述内容はEmacs part10スレ(2ch)の758さんの発言と同一。
(remove-hook
'kill-buffer-query-functions 
'server-kill-buffer-query-function)

2007-04-03 Tue

MSYS1.0.10をインストールした [Windows][コマンド][シェル]

MSYS-1.0.10をダウンロードしてインストールした。post install process で以下のように言われた

When you install MinGW I suggest you install it to C:/mingw
(replace C: with the drive of your choice).  Then create an
/etc/fstab file with a line that has a value similar to:
C:/mingw /mingw
Press ENTER to continue

ckwを再び触ってみた [Windows]

Windowsでのシェル使用においてckwは便利なのだが、私の環境ではCPU使用率が奇妙な挙動を示すという問題があった。だが久々に同じマシンで試してみたらそのような挙動は出なくなっていた。わけがわからん。

新しく導入したWindows XP Media Center Editionでも同様に問題なく使えた。一旦はコマンドプロンプトでいこうと結論付けたが、これからはckwを導入してみようかな。

2007-04-02 Mon

Windows XPで、USBの英語キーボードのみ接続した時のキーボードレイアウト設定で多少苦労した [Windows]

まっさらなPCを触った。Windows XP Media Center Editionなるものが入っていて、キーボードやマウスとしてはUSBのもののみが付属していた。何とも時代を感じさせる構成だが、ちょっぴり設定などに苦労したことをメモする。

私は英語キーボードが好きなので早速導入したが、当初は意図した動作をしなかった。
入力言語が日本語、キーボードレイアウト/入力システムがMicrosoft Office IME 2007という構成である。マウスによってしか変えられない言語バーをJPという表記にすると Alt + ` でIMEのトグルは可能だが、キーボードレイアウトが日本語になってしまっていた。一方でENにするとレイアウトは英語キーボードのものだがIMEのトグルが不可能になっていた。どちらも不満なので、解消の方法を求めていろいろと調べた。

どうやらレジストリいじりが必要になるようである。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
から LayerDriver JPN を kbd106.dll から kbd101.dll に、OverridekeyboardIdentifier PCAT_106KEY を PCAT_101KEY に変更したら、無事にIMEトグルが有効となるJPモードについても英語キーボードレイアウトでの入力が可能となった。
参考:http://www.diatec.co.jp/support/details/wxp-101usbsetup.html

2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2010-03-08 22:21