絕世emacs配置for Ubuntu

  反正過不了幾天就要退役了,把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)
.emacs
相關文章
相關標籤/搜索