今日のおおしお市民農園




2016年05月11日(木): やっと、エディター:xyzzy の設定が終わりました。
その備忘録です。なお、エディターのバージョンは xyzzy-0.2.2.253 です 。

1.インストール場所は、"c:\usr\bin\ にしました。
2.環境変数:XYZZYHOME 値:c:\home 設定。(コントロールパネル->システム-> システムの詳細設定-> ...)
3.初期設定ファイル".xyzzy" をc:\home\ に設定。

.xyzzy の内容
=============================================================================

; 解説書からの転記 (2016_05_11)
; 使用しないのでコメントアウト
;;; winkey.l
;(load-library "winkey")


;;; perl モードの拡張子追加 (2016_05_11)
(pushnew '("\\.plx$" . perl-mode) *auto-mode-alist* :test 'equal)



;;; 起動時に.abbrev_defs を読み込む
(defvar *abbrev-file-name* "~/.abbrev_defs")
(quietly-read-abbrev-file *abbrev-file-name*)
;(quietly-read-abbrev-file)


;;; Mule風に、キーバインドの変更
(global-set-key #\C-u 'undo) ; 元は、universal-argument
(global-set-key #\C-\\ 'toggle-ime) ; 元は、 undo
(global-set-key #\M-% 'query-replace) ; 問合せ置換、xyzzy では M-C-r 

============================================================================


4.略語表:".abbrev_defs" をc:\home\ に設定。

.abbrev_defs の内容 (perl-mode と global-abbrev 設定例)
===========================================================================
(in-package "editor")
(define-abbrev-table '*perl-mode-abbrev-table* '(
  ("qw" "my @_ = qw();" nil 0)
  ("week" "my @week = qw(Sunday Monday Tuesday Wensday Thursday Friday Saturday);" nil 0)
  ("week3" "my @week = qw(Sun Mon Tue Wen Thu Fri Sat);" nil 0)
  ("jweek" "my @jweek = qw(日 月 火 水 木 金 土);" nil 0)
  ("mnth" "my @mnth = qw(Jan Feb Mar Apr May Jun Jul Aug Set Oct Nov Dec);" nil 0)
  ("die" "|| die \"Can't , $!\\n\";" nil 0)
  ("trz" "$ =~ tr/a-z/A-Z/;" nil 0)
  ("keys" "foreach $key (sort keys(%_) ) {" nil 0)
  ("join" "$_ = join(\"\",@_);" nil 0)
  ("sw" "@_ = split(' ',\"\");" nil 0)
  ("split" "@_ = split(//,$_);" nil 0)
  ("chop" "chomp($_ = );" nil 0)
  ("each" "while ( ($key,$value) = each(%_) ) {" nil 0)
  ("fhandle" "open (FHANDLE, \"file\"); close (FHANDLE);" nil 0)
  ("dbmr" "use Fcntl;use SDBM_File;tie %TH, SDBM_File, \"\", O_RDONLY, 0444 || die \"Can't open DBM, $!\\n\";" nil 0)
  ("dbm" "dbmopen(%HASH, \"file\",0644) || die \"can't open DBM.file, $!\";" nil 0)
  ("uniq" "foreach $_(@s){ push(@_,$_) unless $seen{$_}++;}" nil 0)
  ("sort" "sort {$a <=> $b || $a cmp $b} (@_);" nil 0)
))

(in-package "editor")
(define-abbrev-table '*c-mode-abbrev-table* '(
))

(in-package "editor")
(define-abbrev-table '*lisp-mode-abbrev-table* '(
))

(in-package "editor")
(define-abbrev-table '*global-abbrev-table* '(
  ("week3" "Sun Mon Tue Wen Thu Fri Sat" nil 2)
  ("weekj" "日月火水木金土" nil 0)
  ("mnth" "Jan Feb Mar Apr May Jun Jul Aug Set Oct Nov Dec" nil 0)
))


===========================================================================
注意: "M-x list-abbrev" で略語表を記述しても、 C-x C-s では保存できない。
xyzzy が終了すれば、記述は消えてしまう。.abbrev_defs の作成・修正が必要。
(M-x write-abbrev-file で、.abrev_defs が作成される。 後は、これが呼び出される。)
言い換えると、C-x C-s の後、M-x write-abbrev-file が一度だけ必要。
後は、M-x list-abbrev でも、.abrev_defs の直接修正でも可。




xyzzy の本の表紙


保存庫

HOME