cftp.zip (2007/06/20)
上記中の cftp.l、cftp.lc を xyzzy の site-lisp ディレクトリに置き、.xyzzy か siteinit.l に以下のように記述します。
(in-package "editor")
(export '(cftp) "editor")
(autoload 'cftp "cftp" t)
(in-package "user")
また好みに応じ上記 ‘(autoload 'cftp "cftp" t)’ の下に以下の各種設定を記述して下さい。以下の例はデフォルト値です。変更する必要がない場合は記述しなくてかまいません。
(add-hook '*cftp-mode-hook*
#'(lambda ()
(setf
;; パッシブモード
user::*ftp-passive-mode* nil
;; ローカルのデフォルトディレクトリ
*cftp-default-directory* (default-directory)
;; アカウントやパスワードを保存するファイルのパス
*cftp-account-file* (merge-pathnames ".cftp" (user-config-path))
;; リモートファイル閲覧時に作成される一時ファイルのパス
*cftp-tmp-file* (merge-pathnames ".cftp_tmp" (user-config-path))
;; Anonymous FTP サーバー用パスワード
*cftp-anonymous-password* nil
;; パスワード保存するか
*cftp-save-password* t
;; 一時ファイルを削除するか
*cftp-tmp-file-delete-p* nil
;; 2 画面表示のときの 1 出力バッファの幅 (文字数)
*cftp-window-width* 68
;; ディレクトリを先に表示するか
*cftp-list-dir-p* t
;; アカウント文字色
*cftp-account-color* 1
;; リモート文字色
*cftp-remote-color* 2
;; ローカル文字色
*cftp-local-color* 6
;;====================================
;; 出力バッファ色付け用の正規表現キーワードリスト
*cftp-regexp-keyword-list*
(compile-regexp-keyword-list '(
("^d[rwx-]\\{9\\} .*" nil 2)
(".*\t<DIR>\t.*" nil 2)
("^[RS]: .*" nil 1)
("^L: .*" nil (:color 6))
)
)
;; 出力バッファ色付け用の正規表現キーワードリスト
;;====================================
;;====================================
;; キーバインド
;; コマンド実行
(define-key *cftp-mode-map* #\RET 'cftp-command)
;; コマンド、ファイル、ディレクトリ名を補完
(define-key *cftp-mode-map* #\TAB 'cftp-complete)
;; 左側の出力バッファをアクティブに
(define-key *cftp-mode-map* #\C-1 'cftp-set-output-buffer-1)
;; 右側の出力バッファをアクティブに
(define-key *cftp-mode-map* #\C-2 'cftp-set-output-buffer-2)
;; 出力バッファ分割トグル
(define-key *cftp-mode-map* #\C-3 'cftp-set-output-buffer-3)
;; ローカルパスをファイラで開く
(define-key *cftp-mode-map* '(#\C-c #\f) 'cftp-filer)
;; プロンプト先頭へ
(define-key *cftp-mode-map* #\C-a 'cftp-command-goto-bol)
;; 履歴進む
(define-key *cftp-mode-map* #\C-n 'cftp-history-next)
;; アクティブな出力バッファを 1 行上にスクロール
(define-key *cftp-mode-map* #\M-n 'cftp-scroll-up-other-window)
;; 2 つの出力バッファを 1 行上にスクロール
(define-key *cftp-mode-map* #\C-M-n 'cftp-scroll-up-both-window)
;; 履歴戻る
(define-key *cftp-mode-map* #\C-p 'cftp-history-previous)
;; アクティブな出力バッファを 1 行下にスクロール
(define-key *cftp-mode-map* #\M-p 'cftp-scroll-down-other-window)
;; 2 つの出力バッファを 1 行下にスクロール
(define-key *cftp-mode-map* #\C-M-p 'cftp-scroll-down-both-window)
;; アクティブな出力バッファを上にページスクロール
(define-key *cftp-mode-map* #\M-v 'cftp-next-page-other-window)
;; アクティブな出力バッファを下にページスクロール
(define-key *cftp-mode-map* #\M-z 'cftp-previous-page-other-window)
;; キーバインド
;;====================================
)
)
)
以上の設定を済ませると、M-x cftp と入力することにより cFTP が起動します。
☆‘出力バッファ色付け用の正規表現キーワードリスト’ の補足
(setf *cftp-regexp-keyword-list*
(compile-regexp-keyword-list '(
("regexp1" case-fold color)
...
("regexpN" case-fold color)
)
)
)
色付けする文字の正規表現。
大文字小文字を区別するか。‘t’ で区別しない、‘nil’ で区別するようになります。
設定する色を指定します。いくつかの指定方法があります。
キーワード 1 〜 3 の色となります。
キーワード 1 〜 3 の色で、対象文字列が反転します。
キーワード 1 〜 3 の色で、対象文字列のある行が反転します。
0 〜 8 の数字を指定時と同じ色で太字となります。
:string
‘文字列’の色。
:comment
‘コメント’の色。
:tag
‘タグ’の色。
(:color fg [bg [atr])
fg に文字色としたい 0 〜 15 の数字、bg に背景色としたい 0 〜 15 の数字、atr には太字 :bold、下線 :underline、取り消し線 :strike-out、行全体 :line を指定します。角括弧 ‘[ 〜 ]’ は省略可能を意味します。ここでいう 0 〜 15 の数字は「ツール」-「共通設定」-「フォント」-「表示色」の文字 (背景) 1 〜 15 の色と、0 は文字色 (背景色) と対応しています。