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 は文字色 (背景色) と対応しています。