文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>给文本加个漂亮的小框

给文本加个漂亮的小框

时间:2006-05-03  来源:pluskid

浏览邮件列表的时候经常看到有人发表这样的小框,很漂亮:
,----[ foo bar ]
| text in the box
| looks beautiful
`----
也想自己弄一个,于是写了段 elisp 小代码,用来在 Emacs 里面把选中的区域加上边框,elisp 代码如下:
(defun kid-box-region (begin end title)
(interactive "r\nsBox Title: ")
(let ((old-buffer (current-buffer)))
(switch-to-buffer (get-buffer-create "*kid-box-region-output*"))
;; 删除以前的内容,为防止误删东西,把他放在 kill-ring 里面
(kill-region (point-min) (point-max))
(insert-buffer-substring old-buffer begin end)
(goto-char (point-min))
(insert ",----------[ " title " ]\n")
(replace-regexp "^" "| ")
(goto-char (point-max))
;; 检查最后是否有换行
(if (search-backward-regexp "^| $" (point-min) t)
(delete-char 2)
(insert "\n"))
(insert "`----------\n")))

处理之后会变成这样,因为 lisp 缩进很多,为了变漂亮一点,我决定多加几个“-”:
,----------[ kid-box-region ]
| (defun kid-box-region (begin end title)
| (interactive "r\nsBox Title: ")
| (let ((old-buffer (current-buffer)))
| (switch-to-buffer (get-buffer-create "*kid-box-region-output*"))
| ;; 删除以前的内容,为防止误删东西,把他放在 kill-ring 里面
|
(kill-region (point-min) (point-max))
| (insert-buffer-substring old-buffer begin end)
| (goto-char (point-min))
| (insert ",----------[ " title " ]\n")
| (replace-regexp "^" "| ")
| (goto-char (point-max))
| ;; 检查最后是否有换行
|
(if (search-backward-regexp "^| $" (point-min) t)
| (delete-char 2)
| (insert "\n"))
| (insert "`----------\n")))
`----------
这下我也可以有漂亮的 box 了! :)
相关阅读 更多 +
排行榜 更多 +
浴血混战官方下载

浴血混战官方下载

飞行射击 下载
检票员模拟器免广告下载

检票员模拟器免广告下载

模拟经营 下载
最终前哨最终版手机版下载

最终前哨最终版手机版下载

休闲益智 下载