Skip to content

Instantly share code, notes, and snippets.

@golbin
Last active August 5, 2016 13:21
Show Gist options
  • Save golbin/f1df0e5f94eec48b33a2 to your computer and use it in GitHub Desktop.
Save golbin/f1df0e5f94eec48b33a2 to your computer and use it in GitHub Desktop.
dotemacs
(require 'package)
(package-initialize)
(setq package-archives '(("marmalade" . "https://marmalade-repo.org/packages/")
("melpa" . "https://melpa.org/packages/")))
(require 'helm)
(require 'helm-ag)
(require 'helm-projectile)
(require 'magit)
(require 'yasnippet)
(require 'clojure-mode)
(require 'neotree)
(require 'auto-complete)
(require 'web-mode)
(require 'php-mode)
(require 'ace-jump-mode)
(require 'js2-mode)
(require 'markdown-mode)
(require 'restclient)
(set-language-environment 'utf-8)
(prefer-coding-system 'utf-8)
(setq inhibit-startup-message t)
(setq make-backup-files nil)
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
(setq tab-width 4)
(electric-pair-mode 1)
(setq mac-command-modifier 'meta)
(setq mac-option-modifier nil)
(add-hook 'before-save-hook 'delete-trailing-whitespace)
(setq projectile-switch-project-action 'neotree-projectile-action)
;; Custom shortcuts
(if window-system
(progn
(windmove-default-keybindings 'meta)
(global-set-key [(alt left)] 'windmove-left)
(global-set-key [(alt up)] 'windmove-up)
(global-set-key [(alt right)] 'windmove-right)
(global-set-key [(alt down)] 'windmove-down)))
(global-set-key [C-kanji] 'set-mark-command)
(global-set-key (kbd "C-/") 'comment-dwim)
(helm-mode 1)
(global-set-key [(meta x)] 'helm-M-x)
(global-set-key [(meta s)] 'helm-ag)
(global-set-key [(meta p)] 'backward-paragraph)
(global-set-key [(meta n)] 'forward-paragraph)
(global-set-key (kbd "C-M-h") 'query-replace-regexp)
(global-set-key (kbd "C-x C-x") 'neotree-toggle)
(global-set-key (kbd "C-x C-z") 'neotree-change-root)
(global-set-key (kbd "C-x C-b") 'switch-to-buffer)
(global-set-key (kbd "C-x C-f") 'helm-find-files)
(global-set-key (kbd "C-M-p") 'helm-projectile)
(global-set-key (kbd "C-M-f") 'helm-projectile-ag)
(global-set-key (kbd "C-c SPC") 'ace-jump-mode)
(global-set-key (kbd "C-c C-c SPC") 'ace-jump-line-mode)
(define-key web-mode-map (kbd "C-x C-e") 'php-send-region)
;; Themes
(require 'sublime-themes)
(load-theme 'brin t)
(custom-set-faces
'(default ((t (:family "Monaco")))))
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(setq initial-frame-alist '((width . 100) (height . 50)))
(setq default-frame-alist '((width . 100) (height . 50)))
(set-face-attribute 'default nil :background "black" :font "Consolas-11");
(set-frame-parameter (selected-frame) 'alpha '(90 90))
(add-to-list 'default-frame-alist '(alpha 90 90))
(setq-default neo-smart-open t)
(setq neo-theme 'ascii)
(setq neo-window-width 25)
;; (setq neo-vc-integration '(face char))
;; Projectile
(projectile-global-mode)
(setq projectile-indexing-method 'alien)
(setq projectile-enable-caching t)
(defun helm-projectile-ag ()
(interactive)
(helm-ag (projectile-project-root)))
;; Utility
(defun join-lines (arg)
(interactive "p")
(end-of-line)
(delete-char 1)
(delete-horizontal-space)
(insert " "))
(global-set-key (kbd "C-j") 'join-lines)
;; Auto complete
(global-auto-complete-mode t)
(setq ac-delay 0.2)
(setq ac-auto-show-menu 0.2)
;; For PHP
(defun my-setup-php ()
;; enable web mode
(web-mode)
;; make these variables local
(make-local-variable 'web-mode-code-indent-offset)
(make-local-variable 'web-mode-markup-indent-offset)
(make-local-variable 'web-mode-css-indent-offset)
;; set indentation, can set different indentation level for different code type
(setq web-mode-code-indent-offset 4)
(setq web-mode-css-indent-offset 2)
(setq web-mode-markup-indent-offset 2))
(add-to-list 'auto-mode-alist '("\\.php$" . my-setup-php))
(setq web-mode-ac-sources-alist
'(("css" . (ac-source-words-in-buffer ac-source-css-property))
("html" . (ac-source-words-in-buffer ac-source-abbrev))
("php" . (ac-source-words-in-buffer
ac-source-words-in-same-mode-buffers
ac-source-dictionary))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment