網頁

2013年6月29日 星期六

quicklisp and slime installation

 
quicklisp :quicklisp官網 http://www.quicklisp.org/beta/ 有教學,不多說:
slime:下載最新slimehttp://common-lisp.net/project/slime/#downloading
.emacs設定
(set-language-environment "utf-8")
;(setq inferior-lisp-program "/usr/share/emacs/24.0.94/ccl/lx86cl64") ;your Lisp system
(setq inferior-lisp-program "/usr/bin/sbcl") ;your Lisp system
(add-to-list 'load-path "/usr/share/emacs/24.2/slime-2013-04-05/") ;your SLIME directory
(require 'slime)
(slime-setup)
(setq slime-net-coding-system 'utf-8-unix)
(slime-setup '(slime-fancy))
;(require 'slime-autoloads)
(defun lisp-indent-or-complete (&optional arg)
  (interactive "p")
  (if (or (looking-back "^\\s-*") (bolp))
      (call-interactively 'lisp-indent-line)
      (call-interactively 'slime-indent-and-complete-symbol)))
(eval-after-load "lisp-mode"
  '(progn
     (define-key lisp-mode-map (kbd "TAB") 'lisp-indent-or-complete)))

latex and xelatex install

 
Step 1: install texmaker 
Step 2: install texlive-xetex

vim autocomplete with clang(simple)

第一步:下載clang_complete.vmb
       下載網址:http://www.vim.org/scripts/script.php?script_id=3302
第二步:vim clang_complete.vmb -c 'so %' -c 'q'
完成圖片:

fcitx 簡繁轉換問題 z鍵 逗句點

 
1)簡繁轉換問題:
    google了一段時間才找到這篇文章:http://stackoverflow.com/questions/16380258/fcitx-scj6-chttrans-not-working
    不要使用OpenCC,請使用原生(native),然後修改/usr/share/fcitx/data/gbks2t.tab把簡繁對應沒有變化的刪掉,
    再把一些非漢字的刪字刪除,便大功告成啦!:)
2)z鍵:
    取消模糊鍵(matching key),把下一行的z也刪掉!
3)逗句點:
    忽略標點打勾!
    忽略部分標點,如果空白則忽略所有標點 設為`

2013年6月26日 星期三

quicklisp 與 cl-opengl

.sbclrc 加入 (ql:quickload "cl-opengl") (ql:quickload "cl-glu") (ql:quickload "cl-glut")

;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

(ql:quickload "cl-opengl")
(ql:quickload "cl-glu")
(ql:quickload "cl-glut")
sample.lisp
(cffi:defcallback renderscene :void ()
  (gl:clear :color-buffer-bit)
  (gl:flush))
(defun setuprc ()
  (gl:clear-color 0.0 0.0 1.0 1.0))

(defun main()
  (glut:init-display-mode :single :RGB)
  (glut:init)
  (glut:create-window "hello")
  (glut:display-func  (cffi:callback renderscene) )
  (setuprc)
  (glut:main-loop))
後來發現(ql:quickload "cl-opengl") (ql:quickload "cl-glu") (ql:quickload "cl-glut")只用做一次就好了, 之後只用(require 'cl-opengl) (require 'cl-glut) (require 'cl-glu)便可以了。
.sbclrc

;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

sample.lisp
(require 'cl-opengl)
(require 'cl-glut)
(require 'cl-glu)
(cffi:defcallback renderscene :void ()
  (gl:clear :color-buffer-bit)
  (gl:color 0.0 0.0 1.0 )
  (gl:rect 100 150 150 100)
  (gl:flush))

(cffi:defcallback changeSize :void ((w :int) (h :int))
  (if (= h 0) (setf h 1))
  (gl:viewport 0 0 w h )
  (gl:matrix-mode :projection )
  (gl:load-identity)
  (if (<= w h)
      (gl:ortho 0 250 0 (/ (* 250 h ) w) 1 -1)
      (gl:ortho 0 (/ (* 250 w ) h) 0 250 1 -1))
  (gl:matrix-mode :modelview )
  (gl:load-identity))

(defun setuprc ()
  (gl:clear-color 0.0 0.0 0.0 1.0))
(defun main()
  (glut:init-display-mode :single :RGB)
  (glut:init)
  (glut:init-window-size 250 250)
  (glut:create-window "hello")
  (glut:display-func (cffi:callback renderscene) )
  (glut:reshape-func (cffi:callback changesize) )
  (setuprc)
  (glut:main-loop))