Page 5 of 7: « 1 2 3 4 5 6 7 »





はてダモードでテンプレートを挿入 on xyzzy

Posted at Mon, 03 Jul 2006 in computer::xyzzy

はてなダイアリーで毎日決まったカテゴリの日記を書くという場合に自動でテンプレートを挿入してくれると便利です。

(require "hateda-mode")
;;; ファイルを新規作成した場合にテンプレートを挿入
(add-hook '*hateda-mode-hook*
          #'(lambda () (interactive)
              (when (equal (point-max) (point-min))
                (insert "\n*[日記]\n")
                (backward-char)
                )))

上のようなものを .xyzzy などに書いておくと、空白の日記を開いた場合に以下のような文字列が自動挿入されます。


*[日記]

"\n" が改行。カーソルを [日記] の直後に持って来たいので (backward-char) で1文字分戻っています。



2ch-mode で右クリックとアプリケーションキーの動作を同じにする on xyzzy

Posted at Thu, 01 Jun 2006 in computer::xyzzy

アプリケーションキーというのは、右の Ctrl キーの左隣にあるメニューとカーソルが書いてあるキーのことです。
存在は知っていたけれど名前は今調べてわかりました。
Mac とかノートパソコンとか古い(Windows キーがついていないような)キーボードとかだとついていないこともあるみたいです。

2ch-mode でついアプリケーションキーを押してしまい、標準のポップアップが立ち上がってしまうのがなんとかならないか、ということで ~/lisp/mouse.l から適当にコピペして作りました。~/.2ch/config.l に記述します。
かめ~るとか www-mode とかも同じ要領でできるはず。

;;;;;;;;;;;;;;;;;;
;; ■ アプリケーションキーとマウスの右クリックを同じにする
(defun apps-popup ()
  (interactive)
  (let ((*last-mouse-window* (selected-window))
        (*last-mouse-line* (current-virtual-line-number))
        (*last-mouse-column* (current-virtual-column)))
    (2ch-mouse-right-press)))
(define-key *board-map* #\Apps 'apps-popup)
(define-key *bookmark-map* #\Apps 'apps-popup)
(define-key *form-map* #\Apps 'apps-popup)
(define-key *grep-map* #\Apps 'apps-popup)
(define-key *history-map* #\Apps 'apps-popup)
(define-key *http-map* #\Apps 'apps-popup)
(define-key *menu-map* #\Apps 'apps-popup)
(define-key *search-map* #\Apps 'apps-popup)
(define-key *tracking-map* #\Apps 'apps-popup)
(define-key *view-map* #\Apps 'apps-popup)


delicious.l を使って del.icio.us から検索(成功編)on xyzzy

Posted at Fri, 26 May 2006 in computer::xyzzy

以前はうまく使えなかった delicious.l ですが、shiro さんに教えていただいて使えるようになりました。というか使い方がわかっていないだけでした。Tab キーを押せば良いだけだったらしい…。

なんとなく嬉しかったので Wink を使ってスクリーンキャストにしてみました。

検索できるのはタグとタイトル(前方一致)で、タイトルの部分一致やコメントは検索しないみたいです。

silog - script del.icio.us
http://white.s151.xrea.com/wiki/index.php?script%2Fdel.icio.us



はてダモード更新(ver0.2)

Posted at Tue, 23 May 2006 in computer::xyzzy

はてダモードを更新しました。(ver0.2)
http://womo.nconc.net/misc/hateda-mode.html

マルチアカウントに対応しました。これに伴ってアカウントの設定方法が変わっています。

(setf *hatedara-multi-accounts*
      '(("userA" nil "~/etc" "-t")
        ("userB" nil "c:/data/userB/" nil)
        ("userC" nil "c:/" nil)
        ;("ユーザ名" "パスワード" "ディレクトリ" "はてダラに毎回渡す引数")
        ))

そのほかの更新は以下のような感じ。

不都合や要望などあったら教えてください。



del.icio.us のエントリ取得 & 投稿 on xyzzy

Posted at Thu, 18 May 2006 in computer::xyzzy

silog さんのところの delicious.l をインストールしてみました。

使える機能は↓な感じみたいです。

  • del.icio.us のエントリ取得
  • del.icio.usに投稿/削除/変更
  • はてブへの同時ポスト
  • はてブからのインポート
  • はてブへのエクスポート
  • タグのリネーム
  • 複数アカウント対応

……みたいなのですが、何が悪いのかいまいちうまく動かない…。



はてダラと xyzzy の連携

Posted at Tue, 16 May 2006 in computer::xyzzy

このあたりから適当に発展させてみました。はてなダイアリー用のメジャーモード(色付けしてるだけ)+はてダラとの連携機能が入った hateda-mode.l です。



範囲選択中にタブが押されたら冒頭にタブを挿入する on xyzzy

Posted at Tue, 09 May 2006 in computer::xyzzy

タイトルの通り、先頭にタブを入れたり先頭のタブを削除したりする Lisp です。
ずーっとほしいなぁ、と思っていたものの要望がたまたまあがっていたので適当に作ってみました。

Tab で先頭にタブを挿入、Shift + Tab で先頭のタブを1つ削除します。

;;;;;;;;;;;;;;;;;;
;; ■ 範囲選択中にタブが押されたら冒頭にタブを挿入
(in-package "editor")
(defun perform-replace-selection (pattern replacement query regexp interactive-p noerror)
  "選択範囲内を perform-replace"
  (interactive "*p")
  (let ((type (get-selection-type)))
    (selection-start-end (start end)
      (save-restriction
        (narrow-to-region start end) (goto-char (point-min))
        (perform-replace pattern replacement query regexp interactive-p noerror)
        (save-excursion
          (goto-char (point-min))
          (start-selection type t (point-max))
          (fix-selection-point)
          )))))
(defun tabshift-selection ()
  "冒頭にタブを挿入"
  (interactive "*p")
  (perform-replace-selection "^.+$" "\t\\0" nil t nil t))
(defun untabshift-selection ()
  "冒頭のタブを1つ削除(タブがなければ何もしない)"
  (interactive "*p")
  (perform-replace-selection "^\t" "" nil t nil t))
(in-package "user")

;;キーバインド
(setq-default ed::selection-keymap (make-sparse-keymap))
(define-key ed::selection-keymap #\TAB 'tabshift-selection)
(define-key ed::selection-keymap #\S-F15 'untabshift-selection)
(set-extended-key-translate-table exkey-S-tab #\S-F15)

ちなみにうちだとキーバインドの設定はこんなかんじです。Ctrl + c でコピーと共存バージョン。

;;; winkey.lからコピー
(defvar *default-selection-keymap*
  (let ((keymap (make-sparse-keymap)))
	(define-key keymap #\C-c 'copy-selection-to-clipboard)
	(define-key keymap #\C-x 'kill-selection-to-clipboard)
    (define-key keymap #\TAB 'tabshift-selection)
    (define-key keymap #\S-F15 'untabshift-selection)
    (set-extended-key-translate-table exkey-S-tab #\S-F15)
	keymap))