スキップしてメイン コンテンツに移動

投稿

2010の投稿を表示しています

svnをrsyncのように使う

概要   svnでは,リポジトリに対するファイルの追加・削除は,ユーザが明示的に指定する.これを自動的におこないたい.すなわち,あるディレクトリ以下のファイルについて,追加されたファイルは勝手にリポジトリに追加し,消されたファイルは勝手にリポジトリから削除したいことがある.   これをおこなうrubyスクリプトを書いた.使い方は次の通り. $ スクリプト名 ディレクトリ   引数で指定したディレクトリ以下のファイルを,自動的に同期する.   スクリプトを以下に示す. #!/usr/bin/ruby # class Svn def initialize() @del = [] @add = [] end def update() system('svn update') # puts 'svn update' end def status() =begin M:modify !:deleted (not registered) ?:added (not registered) =end `svn status`.split(/\n/).each{|l| /^(.)\s+(.*)$/ =~ l case $1 when '!' #deleted @del.push($2) when '?' #added @add.push($2) end } end def add_del() @add.each {|file| system("svn add #{file}") # puts "svn add #{file}" } @del.each {|file| system("svn rm #{file}") # puts "svn rm #{file}" } end def commit() msg = "commit by #{$0} at #{E

Diary/2010-12-04

今日は   買い物に出て,食材なりお酒なりを買い込んできた.それ意外は一日中家に立て籠っていた.ただいまFNS歌謡祭見るなう. 頭の処理能力はかったー reflusterの処理能力は、周波数 0.07GHz、12コアでマルチスレッディン グ機能がついています。総合的に見て、あなたはかなり一般的な処理能 力をお持ちのようです。   http://shindanmaker.com/65359   これのどこが一般的か...

Diary/2010-11-18

PCパーツ選定 。。 蜿倶ココ縺訓C繧定㌕菴懊☆繧九縺ァ,そのパーツを選ぶことに.要件は次の通り. 予算10万円以内とする. コンパイルを並列実行する. OSは問わない (OSの料金は予算に含めない). 。。 縺ィ縺≧縺薙→縺ァ,以下のパーツを選んだ. マザーボード P7P55D-E ¥13,479 http://kakaku.com/item/K0000073240/ CPU Core i7 870 BOX ¥24,500 http://kakaku.com/item/K0000057014/ メモリ W3U1600HQ-2G (DDR3 PC3-12800 2GB 2枚組) ¥5,444 http://review.kakaku.com/review/K0000077524/ 筐体 GUNTER-BK ¥6,780 http://kakaku.com/item/K0000035365/spec/ HDD 0S02601 [1TB SATA300 7200] ¥5,098 http://kakaku.com/item/K0000134872/ グラフィックボード RH4350-LE512HD/HS (PCIExp 512MB) ¥3,120 http://kakaku.com/item/K0000025599/ 光学ディスク DVR-S7260LEBK ¥2,970 http://kakaku.com/item/K0000155880/ モニタ ProLite E2410HDS PLE2410HDS-W1 [24インチ] ¥18,800 http://kakaku.com/item/K0000111852/spec/ 。。 繝代繝r驕ク繧薙〒縺※,自分も新しいPCを欲しくなってしまった.

Diary/2010-11-06

黒部峡谷   雨が多い富山にしては不思議なことに,土日は両日とも晴れ.ということで,黒部峡谷に行ってきた.電車に1時間ほど乗ったあとは,トロッコで登山.予約しないと乗れないこともあるトロッコだが,駆け込み乗車で丁度乗れた.なかなか運が良い.   少しばかり早いが,山は紅葉で真っ赤に染まっていた.けれども,トロッコが11月中に運行停止になることを考えれば,丁度良い時期に来れたのだと思う.ちなみに,帰りのトロッコでは,イルミネーションが見られる,とアナウンスされたのだが,実際は人間大のクリスマスツリーが2,3個あっただけで,期待はしていなかったけどもがっかり. 寿司   夜は魚津に戻って寿司屋に行くことに.これまたタクシーの運ちゃんのお勧めのお店.寿司屋にしては安めの価格設定だが,都会で食べる寿司の数倍は美味だった.ワインが好きな同期がいたので,日本酒,ワイン,お寿司,赤出しをいただいた.

Diary/2010-11-03

はじめや (ラーメン屋)   富山のタクシーの運ちゃんが,ラーメンのうまい店が複数あるというので,さっそく昼に食べにいった.「」という店で,やや濃いめの味つけだったけど,無難で安定したうまさを提供していた.また来よう. 海風亭   夜は,駅前の海鮮料理屋で,海鮮丼を摂取.コースのように次々と料理が運ばれて,それぞれが美味な上に,かなりの満腹感.魚津は白海老が有名らしいので,白海老のかき揚げも注文.素晴しいおいしさだったが,お財布の中身も素晴しい減りっぷりだった.

Diary/2010-11-01

研修   会社の研修の都合で,富山の工場にきた.今日から今月の末ごろまで,富山にある社員寮で過ごす予定.   せっかく日本海に来たので,魚を大量に摂取する予定.日本酒もうまいらしいので,しっかり摂取する予定.あと,最近話題の熊には遭遇しないことを願うばかりだ.

Diary/2010-10-24

TSUBAME 2.0   東工大で,今月から運用されているスパコンTSUBAME2.0.このTSUBAME2.0の全貌がASCII.technologiesの12月号に紹介されていたので,思わず買ってしまった.   前世代の東工大スパコンであるTSUBAME1.0に比べ約30倍の性能を,ほとんど同等の容積で実現するという内容が書かれている.また,電力当たりの性能が世界トップクラスになるであろう,と予測されている.   東工大生,および同大学出身者は,当然迷わず買って読みましょう. 参考文献 TSUBAME計算サービス http://tsubame.gsic.titech.ac.jp/?q =ja ASCII.technologies 12月号 http://tech.ascii.jp/technologies/

Diary/2010-10-22

  仕事でLinuxのソースコードを理解する必要がでてきた・・・のだが.ある関数の動作を追跡するために,100以上の関数を追跡するはめに.追跡する対象の関数の内部で,別の関数が呼ばれているため,当然のことなのだが.いつになったらスラスラ理解できるようになるのだろうか.   LinuxKernelHack Japanでは,ひらメソッドというのを提唱している.これは,関数の呼び出し関係を木構造で表現したときに,その末端の関数から順に,ルートに向かって理解していく方法である.この順で理解することで,理解していない関数に遭遇することが無くなり,コードを読む際のストレスを軽減できるのだという.   外部リンク LinuxKernelHack Japan http://hira-consulting.com/wiki/index.php?%A4%E8%A4%A6%A4%B3%A4%BD

webrick - rubyでwebサーバをたてる

webrickとは   rubyには,httpサーバの機能を提供するフレームワーク,webrickがある.webrickはruby-1.8以降では標準で添付されている.このため,apacheなどのサーバプログラムをインストールする必要がない.加えて,apacheのような複雑な設定ファイルの記述は不要である.   これは,簡易httpサーバを立てる際に便利である.例えば,次のような場合に威力を発揮する. htmlやcgiなどの簡単なコーディングをして,動作させたい ローカルで運営する簡単なwebサーバをたてたい   このような場合,apacheほどの速度やセキュリティは必要ではなく,お手軽さが臨まれる.この要望を満たす手段として,webrickは有用である. サンプルコード   以下に,webサーバをたてるサンプルコードを示す.ここで,公開するファイルの置かれているドキュメントのルートディレクトリは,${HOME}/public_html/とする. #!/usr/bin/env ruby require 'webrick' server = WEBrick:: HTTPServer.new({ :Port => 80, :BindAddress => '0.0.0.0', :DocumentRoot => "#{ENV['HOME']}/public_html/"}) trap('INT') { server.shutdown } server.start   HTTPServer.newでサーバを起動する.引数は以下の通り. Port 使用するポート番号を指定する BindAddres 起動するサーバのIPアドレスを指定する DocumentRoot htmlドキュメントを置くルートディレクトリを指定する 実行   上に示したスクリプトを保存し,実行すると,httpサーバの動作を開始する.終了時は,Ctrl+cで終了する. 閲覧   ${HOME}/public_htmlにindex.htmlを置き, http://localhost/ にアクセスす

beamerでしおりを付ける

しおり   しおりとは,acroreadなどでpdfを表示する際に,ウィンドウの左側に表示される目次のようなものである.このしおりを使うことで,文章の構成を大まかに把握したり,特定の項目に移動することが簡単にできる.   beamerには,標準でしおりを付ける機能が備わっている.以降では,しおりを付ける方法について述べる. しおりをつける   beamerでしおりを付けるには,次のコマンドをtexの文章中に記述する. section{} subsection{} subsubsection{}   カッコの中に記述する文字列が,しおりの項目名に使用される.また,section,subsection,subsubsectionを使い分けることで,階層化をすることも可能. 文字化け対策   しおりは,標準の仕様ではUnicodeのみがサポートされている.EUCを使う場合は,そのままではしおりの日本語が文字化けする.このため,Unicodeを用いない際には,何らかの対策が必要である.   以下では,EUCを利用する人のための対処策を述べる.ここで,dviからpdfを生成する際の方法によって,対処の仕方が異なることに注意する.具体的には,(1)dvipdfmxを用いる場合と,(2)dvipsおよびps2pdfを用いる場合で,対処の仕方が異なる.以降,それぞれについて述べる. dvipdfmxを用いる場合   次のコードをプリアンブルに記述しておくことで解決できる.これにより,しおりの部分の文字列が,自動でUnicodeに変換される. \ifnum 42146=\euc"A4A2 \AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}\else \AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}\fi   ただし,実行にはEUC-UCS2というファイルが必要.texをインストールする際に,標準でシステムに入る場合はこのままコンパイルできるが,無ければコンパイルできない.私がこれまで経験したなかでは,Vine 5.0, Mac OSXには含まれているが,Debian lennyには入っていなかった.   システムにEUC-UCS2が無い場合,以下のようなサイトから取ってくる.取って

beamerを試してみる

基本的なコード   以下に,beamerの基本的なコードを示す. \documentclass[dvips]{beamer} \usetheme{Antibes} \usecolortheme{dolphin} \usepackage{hyperref} \title{ここにタイトルを入れます} \author{ここに著者を入れます} \institute{ここに所属を入れます} \date{ここに日付を入れます} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame} \frametitle{2ページ目のタイトル} \begin{itemize} \item ほげほげ \item ふがふが \end{itemize} \end{frame} \begin{frame} \frametitle{3ページ目のタイトル} \begin{enumerate} \item $a = hoge$ \item $b = fuga$ \item $c = fefe$ \end{enumerate} \end{frame} \end{document}   これをファイルに保存し,platex,dvips,ps2pdf,の過程を経て,pdfが仕上がる.   \usetheme{Antibes}では,使用するテーマを,\usecolortheme{dolphin}では,使用するカラーテーマをそれぞれ指定している.使用できるテーマの一覧は,以下の参考文献を参照 参考文献 Beamer Theme Matrix http://www.hartwork.org/beamer-theme-matrix/

Diary/2010-10-05

  職場で使っているLinuxマシンの作業環境をいろいろと整えた.主に変えたのは,次のとおりである. エディタ ターミナル ウインドウマネージャ VNC tex環境   エディタは仕事の推進速度を大きく左右する.使用するエディタによっては,日々の仕事の作業効率が半分以下になることなど,何ら不思議なことではない.「弘法筆を選ばず」と言うが,こればかりはどうしようもないのだ.   エディタの優劣をめぐって,宗教戦争が勃発することもある.中でも最も激しいのが,viとemacsの論争である.激しいというのは,両勢力が尋常でないほど大きいという意味である.これは,セリーグであれば巨人と阪神,政治で言えば自民党と民主党,に相当する.   私がこれまで見てきた限り,エディタの論争で争うのは,多くの場合,如何に巧妙な機能を自身が知っていて,如何にこれを使いこなせているか,であり,必ずしもユーザインタフェイスの良し悪しなどを争っているのではない.これは,分野外の人から見れば,意味不明の論争である.   職場の話に戻そう.職場で働いた日数はまだ1ヶ月に満たないため,周りの人がエディタを使用しているところを見る機会はそれほどない.このため,この間職場の方々と飲みに行った際に,皆さんがどんな環境で普段作業なさっているのか,しっかりと情報を仕入れてきた.   私の職場では,vi愛好家が9割を超えており,その他はterapadなどのwindows上で動作するエディタを使用している.つまり,emacs愛好家が一人もいない.なので,共用のLinuxサーバに最新のemacsなど当然インストールされているはずもない.   では,私はどうなのかと言えば,emacsとviのどちらのエディタも使いたい人なので,両方のエディタが無いと困る人なのだ.かと言って,emacsがviよりも優れているとまでは言うつもりはない.両者は全く別路線のエディタであり,直交するものなので,単純に比較できないと考えているためだ.だからといって,emacsが無くても良い,というわけにはいかない.従って,私が職場に入ることによって,emacsとviの小さな論争が勃発することとなった.   やむを得ず,emacsを自分のホームディレクトリの下にインストールすることに.色々とカスタマイズしたいので,ソースコードからコンパイルした.これにて

dircolors

dircolors   lsコマンドの実行時のファイルの表示色を指定する.ヂィレクトリ内のファイル一覧をlsコマンドで表示する際に,--colorオプションを指定することで,ファイルの種類やパーミッションにより色を変えて表示する.dircolorsコマンドとこれに渡す設定ファイルを用いることで,さらに細かい指定が可能となる.   設定ファイルを作成後,以下のコマンドを実行することで,設定が反映される. $ eval `dircolors [config-file] -c`   私の設定ファイルを以下に示す.ディレクトリ,デバイスファイル,パイプなどの色分けに加え,通常ファイルの中でも,拡張子で色分けするよう記述している. # Configuration file for the color ls utility # This file goes in the /etc directory, and must be world readable. # You can copy this file to .dir_colors in your $HOME directory to override # the system defaults. # COLOR needs one of these arguments: 'tty' colorizes output to ttys, but not # pipes. 'all' adds color characters to all output. 'none' shuts colorization # off. COLOR tty # Extra command line options for ls go here. # Basically these ones are: # -F = show '/' for dirs, '*' for executables, etc. # -T 0 = don't trust tab spacing when formatting ls output. OPTIONS -F -T 0 # Below, there should be one TERM entry fo

fvwm2の設定: bindings

  ~/lib/conf/wm/bindings   fvwmのキーバインドを設定する. # key bindings: # ショートカットキー # M=Meta C=Control S=Shift A=なし # press shift arrow + meta key, and move the pointer by 1/10 of a page Key Left A C CursorMove -10 +0 Key Right A C CursorMove +10 +0 Key Up A C CursorMove +0 -10 Key Down A C CursorMove +0 +10 # shift + meta + arrow = change desktop Key Left A MC GotoDesk -1 $[desk_min_no] $[desk_max_no] Key Right A MC GotoDesk 1 $[desk_min_no] $[desk_max_no] Key Tab A M FocusNextWindow Key Tab A SM FocusPrevWindow Key Tab A C RaiseLower # Keyboard accelerators Key F2 A M Menu RootMenu Nop Key F3 A M WindowList Key F4 A M Delete key F5 A M Maximize 0 100 key F6 A M Maximize 100 0 Key F7 A M Move Key F8 A M Resize Key F9 A M

dot.fvwm2rcの設定

  fvwmの初期化をおこなう.中身は,各設定ファイルを読み込むだけ. # # .fvwm2rc # ### environmental variables Read $[HOME]/lib/conf/wm/globalfeel ### settings Read $[HOME]/lib/conf/wm/colors Read $[HOME]/lib/conf/wm/bindings Read $[HOME]/lib/conf/wm/fonts Read $[HOME]/lib/conf/wm/menus Read $[HOME]/lib/conf/wm/modules Read $[HOME]/lib/conf/wm/startup Read $[HOME]/lib/conf/wm/styles ### other settings #Read $[HOME]/lib/conf/wm/misc

fvwm2の設定: styles

  ~/lib/conf/wm/styles   fvwmの細かなスタイルを設定する. # スタイル。 "*" はすべてのWindowに対して # BorderWidth 枠の太さ # HandleWidth ハンドルの太さ # Icon アイコン画像の指定 # NoTitle タイトルバーを消す # NoHandles ハンドルを消す # Sticky 画面粘着(デスクトップ内を移動したときについてくる) # WindowListSkip ウィンドウリストに載せない # StaysOnTop 常に一番上に来る # CirculateSkip Next [*] Focus で Focus されない # ポップアップメニューのスタイル (テキスト色/背景色/影色/フォント/{fvwm|mwm}) MenuStyle $[my_fg_color] $[my_hilight_color] $[my_hilight_color] \ -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* mwm Style "*" Icon unknown1.xpm Style "*" Color $[my_fg_color]/$[my_normal_color] Style "*" BorderWidth 5, HandleWidth 5 Style "*" MWMFunctions, MWMButtons, MWMBorder, MWMDecor Style "*" DecorateTransient, IconBox -100 10 -1 -1 Style "*" ClickToFocus, CirculateSkipIcon # 新規Windowの配置方法 # * ActivePlacement 自分で位置をきめる # * RandomPlacement Random に配置 # * SmartPlacement 隙間をみつけて配

fvwm2の設定: startup

  ~/lib/conf/wm/startup   fvwmの開始時または再起動時におこなう処理を指定する. ######################## 初期化関数 ######################## # 起動時 #AddToFunc InitFunction "I" Module FvwmButtons #+ "I" exec xsetroot -mod 2 2 -fg \#554055 -bg \#705070 #Pager #FvwmPager 0 1 を FvwmPager 0 のようにすれば仮想デスクトップは1つに。 AddToFunc InitFunction + "I" Module FvwmWinList + "I" Module FvwmPager $[desk_min_no] $[desk_max_no] + "I" Exec exec fvwm-root $[HOME]/lib/media/img/green_1920x1200.png + "I" Exec exec xsetroot -solid \#000000 # 再起動時 AddToFunc RestartFunction + "I" Module FvwmWinList + "I" Exec exec xsetroot -solid \#000000 + "I" Exec exec fvwm-root $[HOME]/lib/media/img/green_1920x1200.png + "I" Module FvwmPager $[desk_min_no] $[desk_max_no] #+ "I" Exec exec fvwm-root /var/private-$[USER]/img/bg

fvwm2の設定: modules

  ~/lib/conf/wm/modules   fvwmで使用するモジュールの設定.モジュールとは,画面上に配置するツールボックスのようなもの.例えば,仮想ウィンドウの管理画面や,タスク管理画面など. ################## FvwmModules ########################################## ################## FvwmButtons button-bar ################################ # FvwmButtons FvwmIconMan Pager などが合体しているやつ *FvwmButtonsGeometry 520x100-1-1 *FvwmButtonsBack bisque3 *FvwmButtons(Frame 2 Padding 2 2 Container(Rows 2 Columns 5 Frame 1 \ Padding 10 0)) #*FvwmButtons(3x2 Frame 2 Swallow "FvwmIconMan" "Module FvwmIconMan") #*FvwmButtons(1x2 Frame 2 Swallow(UseOld) "FvwmPager" "Module FvwmPager 0 0") *FvwmButtons(1x2 Frame 0 Container(Rows 2 Columns 2 Frame 0)) #*FvwmButtons(Frame 2 Swallow(UseOld,NoHints,Respawn) "xbiff" `Exec exec xbiff g bisque3`) #*FvwmButtons(2x1 Frame 3 Swallow(UseOld,NoHints,Respawn) "xbiff" `Exec exec xcalc`) #*FvwmButtons(Frame 2 Swallow(UseOld,NoHints,Respawn) "xclock&

fvwm2の設定: misc

  ~/lib/conf/wm/misc   fvwmのその他の設定. # Icon file specifications # アイコンファイルの指定 # # Mostly, you don't have to specify icon files, as FvwmIconBox now # reads icon files specified in Style commands. # ほとんど, アイコンファイルを指定しなくてよいでしょう, 現在の # FvwmIconBoxは, Styleコマンドで指定されたアイコンファイルを読み込みます # *FvwmIcon: Box "Fvwm*" - # FvwmForm alias - rlogin or telnet to host via xterm # FvwmForm エイリアス - Kterm上で他ホストへのrlogin もしくは telnet *RloginWarpPointer *RloginFont *helvetica*m*r*n*12* *RloginButtonFont *helvetica*m*o*n*12* *RloginInputFont *cour*m*r*n*12* *RloginFore Black *RloginBack Light Gray *RloginItemFore Wheat *RloginItemBack Gray50 # begin items *RloginLine center *RloginText "Login to Remote Host" *RloginLine center *RloginText "Host:" *RloginInput HostName 30 "" *RloginLine center *RloginSelection meth single *RloginChoice TN TN off &q

fvwm2の設定: menus

  ~/lib/conf/wm/menus   fvwmのメニューの設定.デスクトップ上をクリックするなどの際に,ポップアップして現れるもの. ######################## 各メニュー設定 ################### AddToMenu RootMenu #+ "XTerm" Exec exec xterm #+ "Rxvt" Exec exec rxvt #+ "" Nop #+ "Remote Logins" Popup Remote-Logins #+ "" Nop #+ "Fvwm Simple Config Ops" Popup Misc-Ops #+ "Refresh Screen" Refresh #+ "Recapture Screen" Recapture #+ "" Nop + "Apps" Popup Apps + "" Nop + "Restart Fvwm" Restart fvwm #+ "Fvwm Modules" Popup Module-Popup #+ "Fvwm Window Ops" Popup Window-Ops + "Fvwm" Popup Fvwm + "" Nop + "Exit Fvwm" Popup Quit-Verify #AddToMenu Utilities "Utilities" Title #+ "Top" Exec exec xterm -T Top -n Top -e top

fvwm2の設定: globalfeel

  ~/lib/conf/wm/globalfeel   fvwmの全体的な設定. ########### definitions # default color SetEnv my_hilight_color #701a40 #SetEnv my_hilight_color #6174ED #SetEnv my_hilight_color #6877D4 #SetEnv my_hilight_color #6868A6 #SetEnv my_hilight_color #888888 SetEnv my_normal_color #181818 SetEnv my_fg_color #f0f0f0 #SetEnv my_font_normal -*-kochi gothic-*-r-*-*-*-*-*-*-*-*-*-* SetEnv my_font_normal -*-sazanami gothic-*-r-*-*-17-*-*-*-*-*-*-* #SetEnv my_font_normal -*-helvetica-*-r-*-*-*-*-*-*-*-*-*-* # desk size SetEnv desk_min_no 0 SetEnv desk_max_no 7 # fvwm のモジュール、アイコンのパス。: で区切って複数書くことができる #ModulePath /usr/lib/X11/fvwm2 #PixmapPath /usr/local/X11R6.4/include/X11/pixmaps/ PixmapPath /usr/share/pixmaps/:$[HOME]/lib/icons/ #IconPath /usr/local/X11R6.4/include/X11/bitmaps/ # 画面の端 10 dot 以内に 250 ms 以上いるとスクロール # スクロールを禁止したい場合は、0 0 とする #EdgeResistance 250 10 EdgeResistance 5 5 # 画面の端にいくと、何パーセント画面を動かすか # スクロールを禁止したい場合は、0 0 とする # X Y EdgeScroll 100 100

fvwm2の設定: fonts

  ~/lib/conf/wm/colors   fvwmで使用するフォントを設定する. # ウィンドウに使用されるフォント #WindowFont -*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* #WindowFont -*-new century schoolbook-bold-r-*-*-17-*-*-*-*-*-*-* WindowFont $[my_font_normal] #-*-kochi gothic-*-*-*--*-*-*-*-*-*-* #WindowFont -*-kochi gothic-*-r-*-*-17-*-*-*-*-*-*-* #WindowFont -*-clean-medium-r-*--14-*-*-*-*-*-*-* #WigndowFont -*-sazanami gothic-*-r-*-*-17-*-*-*-*-*-*-* #WinsldowFont -*-bitstream charter-*-*-*-*-*-*-*-*-*-*-*-* #WindowFont -*-mona outline-*-*-*-*-*-*-*-*-*-*-*-* # アイコンに使用されるフォント #IconFont -adobe-times-bold-r-*-*-18-*-*-*-*-*-*-* #IconFont -*-helvetica-*-r-*-*-12-*-*-*-*-*-*-* IconFont $[my_font_normal]

fvwm2の設定: colors

  ~/lib/conf/wm/colors   fvwmの色設定をおこなう. # フォーカスの当たっているウィンドウの色 (テキスト 背景) #SetEnv my_hilight_color #701a40 #SetEnv my_normal_color #181818 #SetEnv my_fg_color #f0f0f0 #HilightColor #f0f0f0 #701a40 HilightColor $[my_fg_color] $[my_hilight_color] # カラーマップの挙動 ColormapFocus FollowsMouse

dot.Xmodmapの設定

  以下に,個人的なdot.Xmodmapの設定を示す. keycode 8 = keycode 9 = Escape keycode 10 = 1 exclam keycode 11 = 2 at keycode 12 = 3 numbersign keycode 13 = 4 dollar keycode 14 = 5 percent keycode 15 = 6 asciicircum keycode 16 = 7 ampersand keycode 17 = 8 asterisk keycode 18 = 9 parenleft keycode 19 = 0 parenright keycode 20 = minus underscore keycode 21 = equal plus keycode 22 = BackSpace Terminate_Server keycode 23 = Tab ISO_Left_Tab keycode 24 = q Q keycode 25 = w W keycode 26 = e E keycode 27 = r R keycode 28 = t T keycode 29 = y Y keycode 30 = u U keycode 31 = i I keycode 32 = o O keycode 33 = p P keycode 34 = bracketleft braceleft keycode 35 = bracketright braceright keycode 36 = Return keycode 37 = Control_L add Control = Control_L keycode 38 = a A keycode 39 = s S keycode 40 = d D keycode 41 = f F keycode 42 = g G keycode 43 = h H keycode 44 = j J keycode 45 = k K keycode 46 = l L keycode 47 = semicolon colon keycode 48 = apostrophe quotedbl keycode 49

Diary/2010-09-10

祝婚約   パナソニックの本社R&D部門には,ソフトウェア,デバイス,品質管理,人事,その他,といったグループ分けがなされている.このグループ分けをおこなう基準として,大学時代の専攻が考慮されることは少ないらしい.情報系の人がデバイスに配属されたり,数学科の人がソフトウェアに配属されるのは珍しいことではないようだ.   中でも,本社R&D部門のソフトウェアな方々は,我々セミコンダクター社のソフトウェアな人間と共同で,先月からソフトウェア研修を受講している.この研修の目的は,組込みシステムについて学ぶことと,チームでの演習を通してソフトウェアの開発プロセスを体験することにある.   この研修も中盤に差しかかった本日,本社R&Dのデバイスグループのひとりが婚約なさったということで,その祝賀パーティが開かれた.普段研修を一緒に受けているのはソフトウェアグループであるため,今回婚約なさった方は全く知らない人であった.   我々セミコンダクター社のソフトウェアな人達は,この祝賀パーティに参列した.全く知らない人を祝うのも不思議なものだが,本社R&D部門との親交を深めることを目的として,会場に向かった.   会場は,大阪の梅田にあるザ・リッツ・カールトン大阪.まったく普段の生活とは無縁な未開の地であった.こんな機会でも無ければ足を踏みいれる場所ではないので,カメラを持っていけばよかったと後悔している.   そして,訳が分からないままパーティが終了した.これが,本日抱いた正直な感想なのかもしれない.この原因には,大半の人が初対面だったため,というのもあるだろうし会場がリッツ・カールトンだから,というのもあるだろう.右も左もわからない内に,あっという間にパーティは幕を閉じた.   ただし,主賓の幸福に満ちた様子から,結婚の良さを同時に痛感した.私は,どちらかと言えば,結婚願望が弱い方だと思っているため,考える良い機会となった.このインパクトは意外と大きく,今日のパーティには参加して良かったと思う.

zshの構成: ファイル構成

  zshはsh用のスクリプトに上位互換である.このため,私は次に述べる方針で設定ファイルを記述している.すなわち,基本的な設定はshのものを使用し,zsh特有の設定ファイルを別に設ける.これにより,shとzshの設定を限りなく近づけることができる.   私のzshの設定ファイルの構成を以下に示す. alias.sh: エイリアスを設定する. env.sh: 環境変数を設定する. misc.sh: その他の設定をおこなう. misc.zsh: zsh特有の設定をおこなう.   ディレクトリ構成は次のようにしている. ~/ lib/ conf/ shell/ sh/ dot.profile alias.sh env.sh misc.sh ~/ lib/ conf/ shell/ zsh/ misc.zsh

shの設定: ファイル構成

  私のshの設定ファイルの構成を以下に示す. alias.sh: エイリアスを設定する. env.sh: 環境変数を設定する. misc.sh: その他の設定をおこなう.   ディレクトリ構成は次のようにしている. ~/ lib/ conf/ shell/ sh/ dot.profile alias.sh env.sh misc.sh

dot.xinitrc

~/.xinitrc   ~/.xinitrcには,startxコマンドを実行し,Xを起動する際の振舞いを記述する.中身はshのスクリプトである.   通常は,Xは1つだけ起動するため,.xinitrcは1度だけ実行される.このため,環境設定など,一度だけおこなう処理を記述する.   .xinitrcに記述するべき内容は次の通りである. X11で使用するキーマップの設定 .Xmodmapの読み込み .Xresourcesの読み込み 日本語入力環境の初期化 ウィンドウマネージャまたは統合デスクトップ環境の起動. 私の.xinitrc   以下に,私の使っている.xinitrcを示す.   キーボードの設定は次の部分でおこなう.setxkbmapによって,キー配列やキーボードの種類を指定する.xsetでリピート入力の速度を指定する.また,xsetでビープ音を消去する.   私はウィンドウマネージャとしてfvwmを使用しているので,スクリプトの末尾でこれを起動する.gnomeを使用する場合は,gnome-sessionを実行すればよい. #!/bin/sh sysresources=/usr/local/lib/X11/xinit/.Xresources sysmodmap=/usr/local/lib/X11/xinit/.Xmodmap userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap ##### jp kbd #setxkbmap -rules xorg -layout jp -model jp106 -option ctrl:swapcaps setxkbmap -rules xorg -layout us -model us ##### merge in defaults and keymaps if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f "$userresources" ]; then xrdb -merge "$

dot.Xresources

  私の.Xresourcesファイルの中身を以下に示す.ここでは,xterm,kterm,emacs,tgifの設定を記述している.基本的な設定は,フォント,カラー,ウィンドウサイズである.   emacsについては,使用するフォントを.emacs.elで指定するよりも,.Xresourcesに記述するほうが,emacsの起動時間の短縮に繋がる.   tgifについては,使用可能な色を増やす際に,.Xresourcesを使用する.まず,Tgif.MaxColorsで使用する色数を指定する.そして,Tgif.Color[n]で,n番目の色をRGBそれぞれ16進数で指定する.   .Xresourcesを書き直したら, $ xrdb -merge ~/.Xresources で設定を更新するのを忘れずに. !!!!!!!! ~/.Xresources !!!!!!! vt xterm kterm emacs xdvi tgif !!!!!!!! xterm XTerm*metaSendsEscape: true XTerm*eightBitInput: false XTerm*selectToClipboard: true XTerm*geometry: 128x78+250+0 XTerm*curses: on XTerm*multiScroll: on XTerm*jumpScroll: on XTerm*reverseWrap: on XTerm*foreground: white XTerm*background: #000000 XTerm*font: -*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-* !!!!!!!! kterm KTerm*kanjiMode: euc KTerm*visualBell: on Kterm*Geometry: 80x50 KTerm*ScrollBar: on KTerm*saveLines: 1000 KTerm*openIm: true KTerm*background: #000000 KTerm*foreground: #f0f0f0 K

Diary/2010-09-04

結婚式   旧友が式を挙げるというので,友人数人を集め,お酒を飲みながら,その日程や段取りなどを聞くことに.挙式は来月とのこと.今は,仕事をこなしつつ,式の準備に振り回されているため,かなりお疲れのようだった.   とは言うものの,既にこの友人は,数ヶ月前に婚約をすませている.そもそも,同棲を初めて2年になるという.なので,特に式を挙げることに対する特別な意識は無いのだという.聞いた話によれば,一生に一度の行事であるし,周囲からの目もあるので,挙げることにした,らしい.私は未婚なので,そのような感覚は分からないが.   ところで,集まった友人の中の一人が,私の勤務先と競合する企業に入社していたことが判明.今後,ついうっかり勝手にライバル視しそうな自分がいる.

Diary/2010-09-02

  もう9月になった.入社してから早くも5ヶ月.正直なところ,研修ばかりで業務らしいことは何ひとつしていない.無論,研修も大事ではあると思うが,職場の方々や業務に早く慣れたいと思うこのごろ.   一方で,帰宅後は,独立行政法人,情報処理推進機構が実施する,情報処理技術者試験 ネットワークスペシャリスト の試験対策本をながめている.実は,2年前にこの試験を受けたが,見事にすべったので,今回はそのリベンジになる.というか,2年の間にいつのまにか試験の名称も変わってるし.

WikiFarm

WikiFarmとは   Wikiを複数に分割し,独立して扱う機能.複数のWikiは,親子関係で扱うことができる.Wikiが膨大になり,複数の独立したWikiを構成したい場合などに重宝する. 参考サイト FreeStyleWiki 入門6 WikiFarm http://koitaro.fswiki.com/wiki/FreeStyleWiki+%C6%FE%CC%E76

使用マシン

自作機 (デスクトップ)   2004年に自作したマシン.購入後,5年目にしてようやく,ディスククラッシュなどの障害が心配になり,新たにHDDを増設.重要なデータは新しい方に置くことに.   大容量データ保存用.音声や動画像の符号化・複合化,CGのレンダリングなど,重たい処理に使用. Windows XP | Debian GNU/Linux 5.0.3 Dual Boot Athlon64 2000+ 1GB Main Memory 2TB HDD Super Multi-Drive FDD GeForce 256MB VRAM MacBook Pro 13 inch   2009年に購入.使う場所を選ばないオールマイティーなマシン.学会,旅行など,遠出をする際にも活躍.何といっても,ノートPCなのに性能が良い. Mac OS X Snow Leopard 2.26 GHz Intel Core 2 Duo 2GB Main Memory 160GB HDD Nvidia GeForce 9400M 256MB VRAM Super Drive US Keyboard IBM ThinkPad R40   2009年に大学の研究室の関係者からいただいた,おさがりのノートPC.静穏性,低電力性を生かし,家庭用のサーバとして活躍.主にウェブサーバ,SVNサーバとして利用している. FreeBSD 8.0 Intel Mobile Pentium 4 2.20GHz 1GB Main Memory 40GB HDD DVD ROM Drive US Keyboard

Diary/2010-08-26

  ただいま,企業の研修中.本日は,組込みOSを用いたマイコンのプログラミング実習をおこなった.使用する組込みOSとして,TRONを使用している.学生時代にEmbedded Technologyなどでお目にかかることがあったが,まさかここで使うことになるとは.

Diary/2010-08-25

 フジテレビの高島彩アナウンサーが年内退社を発表. 司会を務める「めざましテレビ」は,9月いっぱいで降板することを決めたようだ.  大学時代から6年間,私は朝のニュース番組として毎日「めざましテレビ」を見てきた. それだけに,"高島アナの"めざましテレビが見れなくなるのは,正直寂しい. デイリースポーツ記事

Diary/2010-08-24

 iPhoneのアプリの作り方.スタンフォード大学の講義資料のようだ.古く使いまわされたマイコンを動かす講義もよいが,このような比較的新しい機器を使う講義もアメリカンで素敵.ぜひ受けてみたい. http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter

zshの設定: dot.zshrc

dot.zshrc   zshの起動時に読み込まれるスクリプトである. #!/bin/zsh os_rev=`uname` source ${HOME}/lib/conf/shell/sh/alias.sh source ${HOME}/lib/conf/shell/sh/env.sh source ${HOME}/lib/conf/shell/sh/misc.sh source ${HOME}/lib/conf/shell/zsh/misc.zsh os_rev=   多くはshの設定ファイルを利用できる.shとは異なる設定は,全てmisc.zshに記述している.

zshの設定: misc.zsh

misc.zsh   shに無い,zsh特有の設定について記述している.   以下の,全ての「^[」は,手動でコントロールシーケンスに書き換えて利用すること.emacsであれば,"C-qC-["と入力すればよい. #!/bin/zsh # history search bindkey ^P history-search-backward bindkey ^N history-search-forward # emacs keybind bindkey -e case ${UID} in 0) PROMPT="%B%{^[[31m%}[%n@%m]#%{^[[m%}%b " RPROMPT="%B%{^[[31m%}[%~]%{^[[m%}%b" PROMPT2="%B%{^[[31m%}%_#%{^[[m%}%b " SPROMPT="%B%{^[[31m%}%r is correct? [n,y,a,e]:%{^[[m%}%b " # [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && # PROMPT="%{^[[36m%}${HOST%%.*}:${PROMPT}" ;; *) PROMPT="%{^[[36m%}%n@%m%%%{^[[m%} " RPROMPT="%{^[[36m%}[%~]%{^[[m%}" PROMPT2="%{^[[36m%}%_> %{^[[m%} " SPROMPT="%{^[[36m%}%r is correct? [n,y,a,e]:%{^[[m%} " # [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && # PROMPT="%{^[[36m%}${HOST%%.*}:${PROMPT}" ;; esac setopt auto_pushd seto

shの設定: misc.sh

misc.sh   その他,細々したことを設定する. #!/bin/sh umask 022 if which dircolors 2>&1 1>/dev/null; then eval `dircolors ~/lib/conf/misc/dot.dir_colors -c` fi PS1="\[\033[36m\]\u:\w \$ \[\033[0m\]" case $os_rev in "Linux") limit coredumpsize 0 ;; "SunOS") ;; "FreeBSD") if [ -n ${DISPLAY} ]; then kbdcontrol -b off fi ;; "CYGWIN*") cd ${HOME} ;; *) ;; esac umask   新規にファイルを作成する際の,パーミッションにかけるマスクを設定する. dircolors   lsコマンドで表示する各ファイルの色を指定するために利用する.実際には,evalによって,環境変数LS_DIRCOLORSを設定する. PS1   プロンプトで表示する内容を指定する.

shの設定: env.sh

env.sh   環境変数を設定する. #!/bin/sh export EDITOR=vi export SVN_EDITOR=vi if [ -z ${DISPLAY} ]; then export LANG=C fi export EMACS_IME="anthy-el" export PATH='' export PATH=${HOME}/lib/bin:$PATH export PATH=${HOME}/local/bin:$PATH export PATH=${HOME}/local/usr/bin:$PATH export PATH=/usr/local/bin:$PATH export PATH=/usr/bin:$PATH export PATH=/usr/sbin:$PATH export PATH=/bin/:$PATH export PATH=/sbin:$PATH case $os_rev in "Darwin") export PATH=/opt/local/bin:/opt/local/sbin:$PATH export DISPLAY=:0.0 ;; esac export MANPATH=${MANPATH}:${HOME}/local/man/

shの設定: dot.profile

dot.profile   /bin/shの起動時に,初期化するために呼ばれるスクリプト. #!/bin/sh chsh() { search_dir='/bin /usr/bin /usr/local/bin' search_shell='zsh tcsh bash' for shell in $search_shell; do for dir in $search_dir; do path=$dir/$shell if [ -x $path ]; then SHELL=$path echo $SHELL exec $SHELL fi done done } chsh os_rev=`uname` source ${HOME}/lib/conf/shell/sh/alias.sh source ${HOME}/lib/conf/shell/sh/env.sh source ${HOME}/lib/conf/shell/sh/misc.sh os_rev= シェルの変更   私はzshを使う人なので,zshがあればexec zshしてシェルを変更する.では,どうせシェルを変えるのならば,何故chshして予めzshを使うよう指定しないのか.これは,マシンに新規にOSをインストールする際に,通常はzshがデフォルトで入らないことによる.このため,あらゆるディストリビューションに必ず入っている/bin/shをデフォルトで使用し,もしzshがインストールされていればこれに乗り換える,という策を講じている.

TeXマクロプログラミング

2012.03.30 更新 スライド化しました.   新しいマクロ定義 以下に例を示す. \dev\hoge{ほげ}    これにより,\hogeが「ほげ」に変換される.引数を使うには,以下のように記述する. \dev\hour#1{今は#1時です}   別の方法 上に示した処理は,以下のようにも記述できる. \newcommand{\hoge}{ほげ} \newcommand{\hour}[1]{今は#1時です}   defとnewcommand違い defとnewcommandが異なる箇所として,以下が上げられる. 定義命令を定義している処理系 マクロを多重定義した場合の動作 引数のとり方  まず,定義されている処理系が異なる.defはtexで定義されており,newcommandは,latexで定義されている.  次に,多重定義した際の動作が異なる.defでは,新しい定義で上書きする.一方,newcommandではエラーを出力する.  最後に,defでは,引数のとり方としてパターンマッチングを利用できる.例えば,以下のマクロ定義があるとする. \def\Hatchr(#1,#2)(#3,#4)#5 これにより,以下に示すインターフェイスを実現する. \Hatchr(3,4)(7,8){hoge}   マクロの複製 以下の処理では,\hogeの内容を\fugaに複製する. \let\fuga\hoge   マクロの初期化 以下のコードで,\hogeを初期化する. \let\fuga\relax  ここで,\relaxは初期化のために利用する空の定義である.   マクロに文字を追加し再定義 defによる定義は,マクロの多重展開をおこなわない.例えば,以下のコードを考える. \def\hoge{ほげ} \def\hoge{\hogeふぇふぇ}  この後,\hogeを利用すると「\hogeふぇふぇ」と展開される.つまり,一度だけしかマクロは展開されない.  マクロを展開してから定義する際には,以下の記述を用いる. \edef\hoge{\hogeふぇふぇ}  これに

Terastationをマウントする

概要   LAN接続ハードディスクの一つ,Terastationにアクセスする方法を述べる.Windowsからアクセスする場合は,sambaと同様に扱うことで可能である.ここでは,UNIXやLinuxでマウントすることにより,アクセス方法について述べる. 下準備   マウント時に利用するファイルシステムは,cifsである.標準で入っているシステムはまれなので,このファイルシステムを扱うライブラリをマシンにインストールする.   Debianの場合,aptitude等で検索しても見つからなかったが,代わりにsmbfsをインストールすると同時に入った. # aptitude install smbfs マウント   以下のコマンドでマウントする.このコマンドを実行すると,terastationのログインパスワードを聞かれるので,入力する. mount -t cifs //terastation's_IP_address/share2 /mnt/tera -o\ username=username   以下のように,コマンド中にパスワードを埋め込むことも可能.これは,マシンの立ち上げ時に自動的にマウントする際などに有用である. mount -t cifs //terastation's_IP_address/share2 /mnt/tera -o\ username=username, password=password 関連サイト Fedora7にNAS (terastation) をマウントする http://pcmemoofdkuro.blogspot.com/2007/12/fedora7nasterastation.html

rubyでblogspotに投稿する

概要   htmlファイルをblogspotに投稿するrubyスクリプトを紹介する.コマンドラインから投稿できるため,ローカルマシンでの投稿記事の一元管理,投稿の自動化,emacsからの投稿など,様々な応用が効く.   blogspotへの投稿には,blogger.comでサポートされているATOM-APIを用いる. ATOMとは   ATOMとは,XMLのフォーマットや,Web上でコンテンツを通信する際に使用するプロトコルなどの総称である.サービスの利用者は,ATOM-APIを使用して,コンテンツ配信などを実現することができる. 前準備   以下のサイトから,rubygemsのライブラリgdata-ruby-utilをダウンロードし,インストールする.これは,Google Data APIを使用するために利用する. http://code.google.com/p/gdata-ruby-util/ コード   以下に,rubyのコードを示す. #!/usr/bin/env ruby $LOAD_PATH.delete(".") # $LOAD_PATH.push('/path/to/BloggerAPI/gdata/gdata-1.0.0/lib') require 'rubygems' require "rexml/document" require 'time' require 'gdata' class MyBlogger def initialize(ary) @ary = ary @client = GData::Client::Blogger.new end def base(account, pass, url) doc = txt_to_xml # get token @client.clientlogin(account, pass) @client.prepare_headers @client.post(url, doc) end def txt_to_xml title = @ary[0].chomp # content = @ary[2..@ar

Emacsのキーバインドを調べる

  キーボードのキーバインドを調べたいときがある.この際には,次のコマンドを利用できる. M-x describe-key   これを入力した後,調べたいキーを入力する.これにより,次の内容が表示される. バインドされている関数名 関数が定義されているファイル名 動作説明

emacsの設定: ファイル構成

  私のemacsの設定ファイルのファイル構成を以下に示す. base.el: 基本的なemacsの設定をおこなう. ime.el: OSや環境によって,適当なIMEの設定をおこなう. anthy.el: anthy-elの設定をおこなう. atokx.el: atokx for linuxの設定をおこなう. canna.el: japanese-cannaの設定をおこなう. msime.el: windows imeの設定をおこなう. faces.el: 配色などの表示関連の設定をおこなう. packages.el: site-lispの読み込みをおこなう. key-assign: キーボード入力に対する処理方法をいくつか定義する. mouse.el: マウス入力の設定をおこなう. server.el: emacsserverを立ち上げる. hook.el: プログラムフックの設定をおこなう.   ディレクトリ構成は以下のようにしている. ~/ lib/ conf/ emacs/ dot.emacs.el anthy.el atokx.el base.el canna.el faces.el hook.el ime.el key-assign.el mouse.el msime.el package.el server.el

emacsの設定: atokx.el

  ~/lib/conf/emacs/atokx.el (progn (require 'un-define) (setq coding-category-utf-8 'utf-8) (setq iiimcf-server-control-hostlist '("localhost")) (setq iiimcf-server-control-default-language "ja") (setq default-input-method 'iiim-server-control) (require 'iiimcf-sc) ;; 変換トグルの設定 (define-key global-map "\C-\\" 'toggle-input-method) ;; Shift-Space または 半角/全角 でも起動 (global-set-key [?\S-\ ] 'toggle-input-method) (global-set-key [zenkaku-hankaku] 'toggle-input-method) ;;モードライン表示をすっきりと ;;(setcar default-mode-line-format "") ) >> emacsの設定

emacsの設定: dot.emacs.el

  ~/lib/conf/emacs/dot.emacs.el (load "~/lib/conf/emacs/base.el") (load "~/lib/conf/emacs/ime.el") (load "~/lib/conf/emacs/server.el") (load "~/lib/conf/emacs/faces.el") (load "~/lib/conf/emacs/mouse.el") (load "~/lib/conf/emacs/hook.el") (load "~/lib/conf/emacs/key-assign.el") (load "~/lib/conf/emacs/package.el") >> emacsの設定

emacsの設定: canna.el

  ~/lib/conf/emacs/canna.el (progn (if (and (or (and (boundp 'CANNA) CANNA) (<= emacs-major-version 20)) (not (equal emacs-ime "canna-tamago"))) (progn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; emacs-dl-canna/emcws の場合 (load-library "canna") ;; color-mate を使わないで、漢字変換に色を付けたい時に ;(setq canna-use-color t) ;; フェンスモードでなくアンダーラインを使う ;;(setq canna-with-fences nil) ;;(setq canna-underline t) ;; Canna サーバの指定 (if (null (getenv "CANNA_SERVER")) (setq canna-server "unix") (setq canna-server (getenv "CANNA_SERVER"))) (canna) ;; Canna を Ctrl-\ で起動します。コメントアウトすれば、 ;; Ctrl-\ で skk が立ち上がります。 (global-set-key "\C-\\" 'canna-toggle-japanese-mode) (global-set-key "\C-o" 'canna-toggle-japanese-mode) ;; Shift-Space または 半角/全角 でも起動 (global-set-key [?\S-\ ] 'canna-toggle-japanese-mode) (global-set-key [zenkaku-

emacsの設定: base.el

  ~/lib/conf/emacs/base.el ;;; 言語環境の指定 (set-language-environment "Japanese") ;;; 漢字コードの設定 (if (equal (getenv "LANG") "ja_JP.UTF-8") (progn (cond ((<= emacs-major-version 21) (require 'un-define))) (set-default-coding-systems 'utf-8) (set-buffer-file-coding-system 'utf-8-unix) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8)) ;;; 日本語メニューバー (UTF-8のメニューバーを用意?) ;(cond ; (and (>= emacs-major-version 21) ; (equal (substring (concat (getenv "LANG") "__") 0 2) "ja") ; (load "menu-tree-utf8"))) (progn (set-default-coding-systems 'euc-jp) (set-buffer-file-coding-system 'euc-jp-unix) (set-terminal-coding-system 'euc-jp) (set-keyboard-coding-system 'euc-jp) ;;; 日本語メニューバー ;(cond ;((and (>= emacs-major-version 21) ;(equal (substring (concat (getenv "LANG"

emacsの設定: msime.el

  ~/lib/conf/emacs/msime.el (when (fboundp 'mw32-ime-initialize) (setq default-input-method "MW32-IME") (setq-default mw32-ime-mode-line-state-indicator "[--]") (setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]")) (mw32-ime-initialize) (wrap-function-to-control-ime 'y-or-n-p nil nil) (wrap-function-to-control-ime 'yes-or-no-p nil nil) (wrap-function-to-control-ime 'universal-argument t nil) (wrap-function-to-control-ime 'read-string nil nil) (wrap-function-to-control-ime 'read-from-minibuffer nil nil) (wrap-function-to-control-ime 'read-key-sequence nil nil) (wrap-function-to-control-ime 'map-y-or-n-p nil nil) (wrap-function-to-control-ime 'read-passwd t t) ; don't work as we expect. ) >> emacsの設定

emacsの設定: faces.el

  ~/lib/conf/emacs/faces.el ;;; 起動画面の非表示 (setq inhibit-startup-message t) ;;; タイトルバー ;;(setq frame-title-format (format "emacs@%s : %%f" (system-name))) ;;; メニューバーを消す (menu-bar-mode nil) ;;; ツールバーを消す (tool-bar-mode nil) ;;; cursor の blink を止める ;(blink-cursor-mode nil) ;;; スクロールバーを右側に表示する (set-scroll-bar-mode 'right) ;;; visible-bell (setq visible-bell nil) ;;; 行番号を表示する (line-number-mode t) ;;; active でない window の空 cursor を出さない (setq cursor-in-non-selected-windows nil) ;;; フォントのスケールをしない (setq scalable-fonts-allowed nil) ;;; mark 領域に色付け (setq transient-mark-mode nil) ;;; image.el における JPEG の判定基準を緩める ;(eval-after-load "image" ; '(setq image-type-regexps ; (cons (cons "^\377\330" 'jpeg) image-type-regexps))) ;;; 表示の行間を拡げる (setq line-spacing 2) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; フォントの設定 ;; ~/.emacsによるフォントの読み込みは遅いので, ;; UNIX系OSの場合は~/.Xresourcesに記述 ;; Windowsの場合は以下で設定 ;;(if (eq window-system

emacsの設定: hook.el

  ~/lib/conf/emacs/hook.el ;;;;;;;;;;;;;;;;;;;; ;; verilog-mode ;;;;;;;;;;;;;;;;;;;; (add-hook 'verilog-mode-hook '(lambda () (font-lock-mode 1))) ;;;;;;;;;;;;;;;;;;;; ;; Dired ;;;;;;;;;;;;;;;;;;;; ;; Dired のリストフォーマット設定 (ls へのオプション) ;; (setq dired-listing-switches "-aoFLt") ;; ls の出力を英語にする(ls を LANG=C で実行) (add-hook 'dired-mode-hook '(lambda () (setenv "LANG" "C"))) ;;;;;;;;;;;;;;;;;;;; ;; c-mode ;;;;;;;;;;;;;;;;;;;; (add-hook 'c-mode-common-hook '(lambda () (setq indent-tabs-mode nil) ; use 'spaces' instead of 'tab' (c-set-style "k&r") ;; c-mode, two space 'tab', replace tab with spaces ;;(setq-default tab-width 5) (setq c-basic-offset 4))) ;(put 'set-goal-column 'disabled nil) ;;;;;;;;;;;;;;;;;;;; ;; wanderlust ;;;;;;;;;;;;;;;;;;;; (add-hook 'wl-summary-mode-hook '(lambda () (defun wl-summary-redisplay-force ()

emacsの設定: ime.el

  ~/lib/conf/emacs/ime.el ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; IMEの設定 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (cond ((eq system-type 'berkeley-unix) (setq emacs-ime (getenv "EMACS_IME"))) ((eq system-type 'gnu/linux) (setq emacs-ime (getenv "EMACS_IME"))) ((eq system-type 'linux) (setq emacs-ime (getenv "EMACS_IME"))) ((eq system-type 'berkeley-unix) (setq emacs-ime (getenv "EMACS_IME"))) ((eq system-type 'windows-nt) (setq emacs-ime "ms-ime")) ((eq system-type 'darwin) (setq emacs-ime "kotoeri")) ((eq system-type 'cygwin) (setq emacs-ime "none")) (t (setq emacs-ime "none"))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; かんなの設定 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (if (or (equal emacs-ime "canna&qu