~/.xyzzy / VC6からxyzzyを呼び出す他 / メモに絵が欲しい / Blogツール三種の神器 / 言語の基本的なところ

投稿日: 2004年09月27日 更新日: 2017年07月22日

~/.xyzzy

最近使い始めたばかりのマシンの.xyzzy

(require "ni/setup")
;; 自動設定を利用する
(ni-autoload)

(in-package "tdiary")
(setf *tdiary-diary-list* '(
    ("mylab" "http://www.mylab.jp/diary/")
))
(in-package "editor")

(pushnew '("\\.src" . basic-mode) *auto-mode-alist* :test 'equal) 

(setq *c-indent-tabs-mode* nil)

(load-library "php-mode")
(pushnew '("\\.php$" . php-mode) *auto-mode-alist*)
;; php-miscを使う場合
(load-library "php-misc")

(setq c++-indent-level 4)
(setq c++-continued-statement-offset 4)
(setq c++-argdecl-indent 4)
(setq c++-brace-offset 0)
(setq c++-brace-imaginary-offset 0)
(setq c++-label-offset -4)
(setq c++-comment-indent 2)
(setq *c++-indent-tabs-mode* t)

;; c-mode/c++-modeのときにF1でhelpが見たい
(define-key ed::*c-mode-map* #\F1 'show-html-help)
(define-key ed::*c++-mode-map* #\F1 'show-html-help)
(define-key ed::*c++-mode-map* #\TAB 'self-insert-command)

(require "dabbrev")
(global-set-key #\C-t 'dabbrev-popup)
(setq *popup-completion-list-default* :always)

(load-library "winkey")

VC6からxyzzyを呼び出す他

http://d.hatena.ne.jp/MajyokkoRoyRoy/20040921#1095747669より

explorer #見ているファイルの場所 コマンド:C:\WINNT\explorer.exe 引数  :/e,$(FileDir) explorer #開いているワークスペースの場所 コマンド:C:\WINNT\explorer.exe 引数  :/e,$(WkspDir) xyzzy.exe #行と列も渡します コマンド:C:\kame\xyzzy.exe 引数  :$(FilePath) -g$(CurLine) -c$(CurCol) xyzzycli.exe #ファイルを追加して開きます コマンド:C:\kame\xyzzycli.exe 引数  :$(FilePath) -g$(CurLine) -c$(CurCol) ツールバー1にワークスペースを開くボタンと保存するボタン、上で設定したボタンをすこし追加。

オプションの書式でソースウィンドウのフォントを設定。

VC6からエクスプローラやxyzzyを呼び出す設定。さすがに業務でつかってる人のメモは参考になります。

しかも簡単にツールバーにも割り当てられて便利。以前にdoxygenを呼び出すアドインのdoxbarを導入したときにインストールドキュメントどおりにやった作業がこれだったのか。

ついでに別のdoxbarのインストールドキュメントもメモ

http://park.zero.ad.jp/~zbk75471/tech/doxbar.html

メモに絵が欲しい

スクリーンショットがないと伝わりにくい。というかあるとわかりやすいメモが多い。特に最近のxyzzy系は。xyzzy日記はスクリーンショットが多くてわかりやすい。

んだけど、スクリーンショット撮ってアプるのはちょっと面倒だったりする。普段はフォームからの更新をすることはめったになく、xyzzyのtdiary-modeで更新してるからなおさら。

マウスで画面上を範囲選択して「tDiaryに貼り付け」ができると理想的。でなくともファイルを選択して右クリックで同じことができるとうれしい。さらにその際にどのセクションに貼り付けるか選択できたら・・・

となるとtDiary側になんらかのインターフェース(XML-RPCとか)がないとそもそもアプリ側ではセクション分割もできないな。やるとなると自分で各書式ごとにパースしなきゃいけない。

Blogツール三種の神器

tDiary2.0になってから三種の神器(TrackBack、ping、RSS feed)が使えるようになってるけど、僕が活用できてるのは今のところRSS feedだけ。プラグインは有効になってるけど使えてない。

これまたtdiary-modeで更新してるからなんだけど。tdiary-modeからの更新で自動的に作動(?)する神器はおそらくRSS feedのみ。

TrackBackは相手先を指定しなきゃいけないし、最近は送信元のセクションも指定できる。が、tdiary-modeにその機能はない。

pingは宛先は固定だけどtdiary-modeからの更新で送信してるのかどうか未調査。ちなみに今はbulkfeedsのPingサーバを指定している。だって早くSimilarity Searchに反映して欲しいからね。

言語の基本的なところ

for( int i = 0; i < 10; i++ ){
  int j = 0;
  printf( "%d\n", j );
  j++;
}

と書いたら毎回jは0に初期化されるんだっけか?それとも初回だけ?というかなり基本的なことをいまさら疑問に思ってためしてみた。

結果は「毎回0で初期化される」。当たり前の動作だと思うんだけどなんで初回だけだと思ったのか・・・。どっかで何か勘違いしてる悪寒。スコープ?変数の宣言?

これとは別に、このソースのiはhttp://homepage2.nifty.com/aito/cpp/node4.htmlによると

最新のC++の仕様では,変数iのスコープは, forで繰り返すブロックの中になる.ところが,以前の仕様では, iのスコープはfor文が属する外側のブロックだった.そのため,古いC++のプログラムは新しいC++コンパイラでは動かず,またその逆も起こる.

となるらしい。

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ