反正過不了幾天就要退役了,把emacs配置放出來造福(禍害)大衆?c++
濃濃的OIER風格,除了方便打代碼就沒別的用處(F8並不這樣認爲?),只惋惜windows下的弄丟了,只有Ubuntu下的。shell
F1不解釋誰用誰知道。windows
F2是個好東西,沒有一鍵編譯都不能沒有它,誰用誰知道。數組
F3和F4對處理碼農題有奇效,眼不見心不煩。ide
F5開O2,能夠測數組越界或者什麼奇怪的東西,或者加快拍的速度。Iria同窗用血的教訓告訴咱們:O2會自動把一些沒定義初始值的東西自動賦值成0,因此一些可能打掛的地方,嗯哼,拍不出來,一測就掛?因此要先不開O2拍,拍一下子再開O2。spa
F6是啥?表示不用gdb這個東西……code
F7是emacs下自帶calc計算器,後綴表達式形式的輸入,沒事拿來玩玩,還不如計算器。orm
F8……想東西的時候按下F8有強大的加成,多按幾回就想出來了?爲何機房裏沒人贊同我這一點呢……blog
F9一鍵編譯,編譯命令本身看算了,只支持cpp?ip
F10打開.in文件,沒有的話會自動生成一個新的,前綴同源文件。注意若是使用前gedit沒有打開,按下F10後emacs將動不了,但你的按鍵會在關閉gedit以後反映到emacs上。因此……呵呵。
F11運行當前程序。在沒有加文件輸入輸出、有讀入的狀況下按下它是在做死……通常拿來看造數據的東西,按下F10下面會顯示輸出。
F12運行並打開.out,規矩同F11。
一鍵撤銷什麼的我也不知道有沒有啊……沒有自動保存,寫幾下按下F9再按下F2就是當保存了。沒有撤銷,本身設置就能夠了。
沒有括號匹配,但有匹配顯示。括號匹配是人類退步的源頭!拒絕括號匹配從我作起!
(global-hl-line-mode t) (ido-mode t) (set-background-color "black") (set-foreground-color "pink") (scroll-bar-mode -1) (global-linum-mode t) (set-scroll-bar-mode nil) (setq-default cursor-type 'bar) (add-hook 'c-mode-hook 'hs-minor-mode) (add-hook 'c++-mode-hook 'hs-minor-mode) (setq kill-ring-max 200) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(default ((t (:family "Courier 10 Pitch" :foundry "bitstream" :slant normal :weight normal :height 120 :width normal))))) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(blink-cursor-mode nil) '(column-number-mode t) '(cua-mode t nil (cua-base)) '(display-time-mode t) '(inhibit-startup-screen t) '(show-paren-mode t) '(tool-bar-mode nil)) (set-face-foreground 'highlight "white") (set-face-background 'highlight "Blue") (set-face-foreground 'region "cyan") (set-face-background 'region "dark slate gray") (setq-default indent-tabs-mode nil) (setq default-tab-width 2) (setq c-basic-offset 2) (setq tab-stop-list ()) (display-time-mode 1) (setq scroll-margin 3 scroll-conservatively 10000) (setq frame-title-format "emacs %b by_Fenghr") (setq-default kill-whole-line t) (setq make-backup-files nil) (setq-default make-backup-files nil) (setq user-full-name "Fenghr") (defun common-compile () (interactive) (compile (format "g++ -o %s %s -g -Wall" (file-name-sans-extension (buffer-name))(buffer-name)))) (defun wuxianzhan+O2 () (interactive) (compile (format "g++ -o %s %s -g -Wall -O2" (file-name-sans-extension (buffer-name))(buffer-name)))) (defun open-in-file() (interactive) ;;(shell-command (format "if not exist %s.in cd.script -f %s.in" (file-name-sans-extension (buffer-name))(file-name-sans-extension (buffer-name)))) (shell-command (format "touch %s.in" (file-name-sans-extension (buffer-name)))) (shell-command (format "xdg-open %s.in" (file-name-sans-extension (buffer-name)))) (shell-command (format "rm %s.in~" (file-name-sans-extension (buffer-name)))) ) (defun only-run () (interactive) (shell-command (format "./%s" (file-name-sans-extension (buffer-name)))) ) (defun run-and-show-result () (interactive) (shell-command (format "./%s" (file-name-sans-extension (buffer-name)))) (shell-command (format "xdg-open %s.out" (file-name-sans-extension (buffer-name)))) ) (global-set-key [f1] 'speedbar) (global-set-key [f2] 'delete-other-windows) (global-set-key [f3] 'hs-hide-block) (global-set-key [f4] 'hs-show-block) (global-set-key [f5] 'wuxianzhan+O2) (global-set-key [f6] 'gud-gdb) (global-set-key [f7] 'calc) (global-set-key [f8] 'zone) (global-set-key [f9] 'common-compile) (global-set-key [f10] 'open-in-file) (global-set-key [f11] 'only-run) (global-set-key [f12] 'run-and-show-result) (set-frame-parameter (selected-frame) 'alpha (list 85 55)) (add-to-list 'default-frame-alist (cons 'alpha (list 85 55))) (put 'scroll-left 'disabled nil)