Skip to content

Instantly share code, notes, and snippets.

@masayukig
Created September 4, 2011 23:22
Show Gist options
  • Save masayukig/1193703 to your computer and use it in GitHub Desktop.
Save masayukig/1193703 to your computer and use it in GitHub Desktop.
dot files
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
alias view='vim -R'
export SCALA_HOME=~/.svm/current/rt
PATH=${SCALA_HOME}/bin:/usr/java/latest/bin:~/bin:~/src/global-5.5/global:$PATH:~/bin:~/scripts:/usr/sbin:/sbin:~/maven/bin
export LANG=ja_JP.UTF8
export PATH
export VIEWER='vim'
export EDITOR='vim'
export PYTHONPATH=$HOME/lib/python:$PYTHONPATH
export JAVA_HOME=/usr/java/latest
export CSCOPE_EDITOR=vim
export RUBYLIB=$RUBYLIB:$HOME/test_code
alias ls='ls --color=auto'
alias less='/usr/share/vim/vim73/macros/less.sh'
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
## for screen
if [ "$TERM" = 'xterm' -o "$TERM" = 'linux' ]; then
## screen -rx || screen -D -RR
screen -RR
fi
ScreenNumber=""
if test "$TERM" = "screen"
then
ScreenNumber="($WINDOW)"
fi
PS1="[\u@\h$ScreenNumber\W] $ "
;; .emacs
;;; 日本語環境設定
;; (require 'un-define)
;; (require 'jisx0213)
(set-language-environment "Japanese")
(setq default-file-name-coding-system 'utf-8-unix)
;; fontset 作成
;(create-fontset-from-fontset-spec
; "-vlgothic-gothic-medium-r-normal--13-*-*-*-*-*-fontset-vlgothic13")
;(add-to-list 'default-frame-alist
; '(font . "-vlgothic-gothic-medium-r-normal--13-*-*-*-*-*-fontset-vlgothic13"))
;; 初期フレームの設定
(if window-system
(setq default-frame-alist
;; (append (list '(foreground-color . "black")
;; '(background-color . "LemonChiffon")
(append (list
'(foreground-color . "white")
'(background-color . "#005050")
'(background-color . "gray")
'(border-color . "black")
'(mouse-color . "white")
'(cursor-color . "white")
'(top . 25)
'(left . 200)
;;'(font . "VL ゴシック-9")
;;'(font . "IPAMonaGothic-10")
'(font . "Fixed-10")
)
default-frame-alist))
)
(if window-system
(set-frame-height (next-frame) 75))
(if window-system
(set-frame-width (next-frame) 130))
(set-face-attribute 'default nil
;;:family "console8x8"
;;:family "Gothic"
;;:family "IPAGothic"
;;:family "IPAMonaGothic"
:family "Fixed"
;;:family "VL ゴシック"
;;:family "Dejavu Sans Mono"
:height 120)
;; (set-fontset-font "fontset-default"
;; 'japanese-jisx0208
;; '("IPAGothic*" . "jisx0208-sjis"))
;; ;;'("VL ゴシック*" . "jisx0208-sjis"))
;; (set-fontset-font "fontset-default"
;; 'katakana-jisx0201
;; '("IPAGothic*" . "jisx0201-katakana"))
;; ;;'("VL ゴシック*" . "jisx0201-katakana"))
;; (add-to-list 'face-font-rescale-alist
;; `(,(encode-coding-string ".*VL.*bold.*iso8859.*" 'emacs-mule) . 1.8))
;; (add-to-list 'face-font-rescale-alist
;; `(,(encode-coding-string ".*VL.*bold.*jisx02.*" 'emacs-mule) . 1.95))
;; (set-face-attribute 'default nil
;; :family "MS ゴシック"
;; :height 120)
;; (set-fontset-font "fontset-default"
;; 'japanese-jisx0208
;; '("MS ゴシック*" . "jisx0208-sjis"))
;; (set-fontset-font "fontset-default"
;; 'katakana-jisx0201
;; '("MS ゴシック*" . "jisx0201-katakana"))
;; (setq w32-enable-synthesized-fonts t)
;; (add-to-list 'face-font-rescale-alist
;; `(,(encode-coding-string ".*MS.*bold.*iso8859.*" 'emacs-mule) . 0.9))
;; (add-to-list 'face-font-rescale-alist
;; `(,(encode-coding-string ".*MS.*bold.*jisx02.*" 'emacs-mule) . 0.95))
;; ; emacs23 用設定
;; (cond
;; (window-system
;; ;; デフォルトフォントの設定
;; ;; フォント名-フォントサイズで指定する。
;; ;;(set-default-font "VL ゴシック-12")
;; ;;(set-default-font "VL Gothic-11")
;; (set-default-font "Dejavu Sans Mono-10")
;; ;;(set-default-font "IPAMonaGothic-11")
;; ;;(set-default-font "MS Gothic-11")
;; ;; 日本語(japanese-jisx0208)フォントの設定
;; (set-fontset-font
;; (frame-parameter nil 'font)
;; 'japanese-jisx0208
;; ;;'("IPAMonaGothic" . "unicode-bmp")
;; ;;'("IPA モナー ゴシック" . "unicode-bmp")
;; ;;'("さざなみ ゴシック" . "unicode-bmp")
;; ;;'("VL Gothic" . "unicode-bmp")
;; ;;'("VL ゴシック" . "unicode-bmp")
;; ;;'("VL Gothic:weight=bold" . "unicode-bmp")
;; ;;'("MS Gothic:weight=bold" . "unicode-bmp")
;; '("MS Gothic" . "unicode-bmp")
;; ;; 手元の環境では、↑のようにボールドの設定をしておか
;; ;; ないと、いわゆる半角英数文字のボールドフォントが、
;; ;; 設定したもの(ここでは VL ゴシック)にならない。
;; )
;; )
;; )
;マウス、Shift&矢印で領域を選択可能にする
(pc-selection-mode)
;初期ディレクトリをホームにする
(setq default-directory "~/")
;デフォルトで保存する文字コードをUTF-8に設定
(set-default-coding-systems 'utf-8)
;;; uncomment this line to disable loading of "default.el" at startup
;; (setq inhibit-default-init t)
;; turn on font-lock mode
(when (fboundp 'global-font-lock-mode)
(global-font-lock-mode t))
;; enable visual feedback on selections
;(setq transient-mark-mode t)
;;; Localeに合わせた環境の設定
;;(set-locale-environment nil)
;; default to better frame titles
(setq frame-title-format
(concat "%b - emacs@" system-name))
;; default to unified diffs
(setq diff-switches "-u")
;;; Ctrl-H を前1文字削除に変更
(define-key global-map "\C-h" 'backward-delete-char)
;;; バックアップファイルを作らない
(setq backup-inhibited t)
;;; ツールバーを消す
(tool-bar-mode 0)
;;; 対応する括弧を光らせる。
(show-paren-mode 1)
;;; 終了時にオートセーブファイルを消す
(setq delete-auto-save-files t)
;;; emacs -nw で起動した時にメニューバーを消す
(if window-system (menu-bar-mode 1) (menu-bar-mode -1))
;;; 圧縮されたファイルも編集できるようにする
(auto-compression-mode t)
;;; モードラインに時間を表示する
(display-time)
;;; 現在の関数名をモードラインに表示
(which-function-mode 1)
;;; カラム番号を表示
(column-number-mode t)
;;; c-mode-hook
(setq c-mode-hook
'(lambda ()
(setq c-basic-offset 8) ; 字下げ
(setq tab-width 8) ; Tab幅
(setq c-auto-newline nil) ; 自動改行をしない
))
;; C-c c で compile コマンドを呼び出す
;; http://at-aka.blogspot.com/2006/12/emacs-c.html#clmemo-20061208-complete
(define-key mode-specific-map "c" 'compile)
(setq tab-width 8)
(transient-mark-mode 1) ;;選択範囲に色を付ける
;;; for wanderlust
;(setq load-path (cons "/usr/share/emacs/site-lisp/wl" load-path))
;; ;; SEMI のパス
;; (setq load-path (append '("/usr/share/emacs/site-lisp/semi") load-path))
;; (setq load-path (append '("/usr/share/emacs/site-lisp/apel") load-path))
;; (setq load-path (append '("/usr/share/emacs/site-lisp/flim") load-path))
;; (setq load-path (append '("/usr/share/emacs/site-lisp/emu") load-path))
;; (setq load-path (append '("/usr/share/emacs/site-lisp/wl") load-path))
;;; c-sig との干渉を防ぐ
;; (setq mime-setup-use-signature nil)
;; (require 'mime-setup)
;; (autoload 'wl "wl" "Wanderlust" t)
;; (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
(setq load-path (append '("~/.elisp") load-path))
(require 'gtags)
(setq c-mode-hook
'(lambda ()
(gtags-mode 1)
))
(setq gtags-select-mode-hook
'(lambda ()
(setq hl-line-face 'underline)
(hl-line-mode 1)
))
(setq gtags-mode-hook
'(lambda ()
(local-set-key "\M-t" 'gtags-find-tag)
(local-set-key "\M-r" 'gtags-find-rtag)
(local-set-key "\M-s" 'gtags-find-symbol)
(local-set-key "\C-t" 'gtags-pop-stack)
))
;; ついでに自動で gtags-mode になるように&補完リスト作成
;; http://d.hatena.ne.jp/higepon/20060107/1136628498
(add-hook 'c-mode-common-hook
'(lambda()
(gtags-mode 1)
;(gtags-make-complete-list)
))
(require 'linum)
(global-linum-mode)
(setq sig-replace-string t)
;; バックアップファイルを作らない
(setq make-backup-files nil)
;起動時の*GNU Emacs*(スタート画面)を非表示
(setq inhibit-startup-message t)
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
;; Optional setup (Read Mail menu for Emacs 21):
(if (boundp 'read-mail-command)
(setq read-mail-command 'mew))
;; Optional setup (e.g. C-xm for sending a message):
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
(setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
(define-mail-user-agent
'mew-user-agent
'mew-user-agent-compose
'mew-draft-send-message
'mew-draft-kill
'mew-send-hook))
(setq mew-use-highlight-x-face t)
(if (fboundp 'mew-use-highlight-x-face-function)
(setq mew-use-highlight-x-face-function
'x-face-decode-message-header)
(defalias 'mew-highlight-x-face 'x-face-decode-message-header))
;;;;;;;;;;;;;;;;;;;;;;
;;;;; for anthy
;;;;;;;;;;;;;;;;;;;;;;
(when (locate-library "anthy")
; 変換モードでカーソルを緑にする
(defun toggle-anthy-mode ()
(interactive)
(anthy-mode)
(if anthy-minor-mode
(set-cursor-color "green")
(set-cursor-color "white")))
; 最初に変換キーが押されて初めてロードする
(defun anthy-standup ()
(interactive)
(require 'anthy)
(setq default-input-method "japanese-anthy")
(global-set-key [kanji] 'toggle-anthy-mode)
(global-set-key [M-kanji] 'toggle-anthy-mode)
(global-set-key [zenkaku-hankaku] 'toggle-anthy-mode)
(global-set-key [M-zenkaku-hankaku] 'toggle-anthy-mode)
(anthy-mode))
(global-set-key [kanji] 'anthy-standup)
(global-set-key [M-kanji] 'anthy-standup)
(global-set-key [zenkaku-hankaku] 'anthy-standup)
(global-set-key [M-zenkaku-hankaku] 'anthy-standup))
;;;;;;;;;;;;;;;;;
;;; for emacs-nav
;;; http://code.google.com/p/emacs-nav/
;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "~/.elisp/emacs-nav")
(require 'nav)
;;; バッファをさっさと切り替え Ctrl + t
(defun previous-buffer ()
"Select previous window."
(interactive)
(bury-buffer))
(defun backward-buffer ()
"Select backward window."
(interactive)
(switch-to-buffer
(car (reverse (buffer-list)))))
(global-set-key "\C-t" 'previous-buffer)
(global-set-key "\M-\C-t" 'backward-buffer)
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; 補完
;;;;;;;;;;;;;;;;;;;;;;;;;
(define-key completion-list-mode-map "\C-n" 'next-completion)
(define-key completion-list-mode-map "\C-f" 'next-completion)
(define-key completion-list-mode-map "\C-p" 'previous-completion)
(define-key completion-list-mode-map "\C-b" 'previous-completion)
(define-key completion-list-mode-map "\C-m" 'my-choose-completion)
(defun my-choose-completion ()
"Choose the completion that point is in or next to."
(interactive)
(let (beg end completion (buffer completion-reference-buffer)
(base-size completion-base-size))
(if (and (not (eobp)) (get-text-property (point) 'mouse-face))
(setq end (point) beg (1+ (point))))
(if (and (not (bobp)) (get-text-property (1- (point)) 'mouse-face))
(setq end (1- (point)) beg (point)))
(if (null beg)
(error "No completion here"))
(setq beg (previous-single-property-change beg 'mouse-face))
(setq end (or (next-single-property-change end 'mouse-face) (point-max)))
(setq completion (buffer-substring-no-properties beg end))
(delete-completion-window)
(choose-completion-string completion buffer base-size)))
;;;;;;;;;;;;;;
;; auto-complete
;; http://www.neutralworks.com/blog/emacs/emacsglobalgtags.html
;; http://blog.soi33.org/?p=189
;; http://nschum.de/src/emacs/company-mode/
;;;;;;;;;;;;;;
;; ;; ロード
;; (require 'auto-complete)
;; (require 'auto-complete-config)
;; ;; 対象の全てで補完を有効にする
;; (global-auto-complete-mode t)
;; (require 'ac-company)
;; ;; ac-company で company-xcode を有効にする
;; (ac-company-define-source ac-source-company-xcode company-xcode)
;; ;; ac-company で company-gtags を有効にする
;; (ac-company-define-source ac-source-company-gtags company-gtags)
;; ;; objc-mode, c-mode c++-mode で補完候補を設定
;; (setq ac-modes (append ac-modes '(objc-mode)))
;; (setq ac-modes (append ac-modes '(c-mode)))
;; (setq ac-modes (append ac-modes '(c++-mode)))
;; hook
;; (add-hook 'objc-mode-hook
;; (lambda ()
;; (define-key objc-mode-map (kbd "\t") 'ac-complete)
;; ;; XCode を利用した補完を有効にする
;; (push 'ac-source-company-xcode ac-sources)
;; (push 'ac-source-c++-keywords ac-sources)
;; (add-to-list 'ac-sources 'ac-source-company-gtags)
;; ))
;; hook
;; (add-hook 'c-mode-hook
;; (lambda ()
;; add-to-list 'ac-sources 'ac-source-company-gtags)
;; )
;; ;; 補完ウィンドウ内でのキー定義
;; (define-key ac-completing-map (kbd "C-n") 'ac-next)
;; (define-key ac-completing-map (kbd "C-p") 'ac-previous)
;; (define-key ac-completing-map (kbd "M-/") 'ac-stop)
;; ;; 補完が自動で起動するのを停止
;; (setq ac-auto-start nil)
;; ;; 起動キーの設定
;; (ac-set-trigger-key "TAB")
;; ;; 候補の最大件数 デフォルトは 10件
;; (setq ac-candidate-max 20)
;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; 独自のCモード インデント設定
;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-c-mode-hook ()
(c-set-style "linux")
(setq tab-width 8)
(setq c-basic-offset tab-width))
(add-hook 'c-mode-hook 'my-c-mode-hook)
;;;;;;;;;;;;;;;;;;;;;;;;
;; for gdb
;; http://d.hatena.ne.jp/higepon/20090505/p1
;;;;;;;;;;;;;;;;;;;;;;;;
;;; GDB 関連
;;; 有用なバッファを開くモード
(setq gdb-many-windows t)
;;; 変数の上にマウスカーソルを置くと値を表示
(add-hook 'gdb-mode-hook '(lambda () (gud-tooltip-mode t)))
;;; I/O バッファを表示
(setq gdb-use-separate-io-buffer t)
;;; t にすると mini buffer に値が表示される
(setq gud-tooltip-echo-area nil)
;;;;;;;;;;;;;;;;;;;;;;;;
;; for S/MIME
;; http://www.mew.org/ja/feature/smime.html
;;
;; Mew から S/MIME を使う
;;
;; 添付領域のパートに "SS" マーク (S/MIME 署名) を付けるには、'M-s' とタイプします。
;;
;; 添付領域のパートに "SE" マーク (S/MIME 暗号) を付けるには、'M-e' とタイプします。
;;
;; 'C-cC-s'、'C-cC-e'、'C-cC-b' および 'C-cC-r' を(PGP 用ではなく) S/MIME 用に使いたいなら、以下のように設定します。
;;
;; (setq mew-draft-privacy-method 'smime)
;;
;; 以下の値を 'mew-protect-privacy-always-type' に設定することも可能です。
;;
;; * smime-signature
;; * smime-encryption
;; * smime-signature-encryption
;; * smie-encryption-signature
;;
;; たとえば、'C-cC-c' か 'C-cC-m' を押してメッセージを作成する際に、常に S/MIME の署名を付けたいなら、以下のように設定します。
;;
;; (setq mew-protect-privacy-always t)
;; (setq mew-protect-privacy-always-type 'smime-signature)
;;;;;;;;;;;;;;;;;;;;;;;;
(setq mew-draft-privacy-method 'smime)
(setq mew-protect-privacy-always t)
(setq mew-protect-privacy-always-type 'smime-signature)
;;;;;;;;;;;;;;;;;
;;;; for jaspace
;;;;;;;;;;;;;;;;;
;;(require 'jaspace)
;;;;;;;;;;;;;;;;;
;;;;; for auto-complete-mode
;;;;; http://cx4a.org/software/auto-complete/
;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
;;;;;;;;;;;;;;;;;
;;; auto-complete.elを使ってEmacsで自動補完
;;; http://www.nomtats.com/2010/11/auto-completeelemacs.html
;;;
;;; Emacsで開発していると、Visual StudioやEclipseにあるような補完機能が
;;; 欲しくなるときがあります。
;;; Emacsのデフォルトでは[M-/]にexpand-abbrevが割り当てられているので、
;;; これを使えばそこそこ便利です。しかし、とても自動補完と呼べるほどのものではありません。
;;;
;;; そこで、auto-complete.elを導入してEmacsでの開発を少し楽にしたいと思います。
;;; http://cx4a.org/software/auto-complete/
;;;;;;;;;;;;;;;;;
;;(require 'auto-complete-clang)
;; (defun my-ac-cc-mode-setup ()
;; ;; 読み込むプリコンパイル済みヘッダ
;; (setq ac-clang-prefix-header "stdafx.pch")
;; ;; 補完を自動で開始しない
;; (setq ac-auto-start nil)
;; (setq ac-clang-flags '("-w" "-ferror-limit" "1"))
;; (setq ac-sources (append '(ac-source-clang
;; ac-source-yasnippet
;; ac-source-gtags)
;; ac-sources)))
;; (defun my-ac-config ()
;; (global-set-key "\M-/" 'ac-start)
;; ;; C-n/C-p で候補を選択
;; (define-key ac-complete-mode-map "\C-n" 'ac-next)
;; (define-key ac-complete-mode-map "\C-p" 'ac-previous)
;; (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)
;; (add-hook 'c-mode-common-hook 'my-ac-cc-mode-setup)
;; (add-hook 'ruby-mode-hook 'ac-css-mode-setup)
;; (add-hook 'auto-complete-mode-hook 'ac-common-setup)
;; (global-auto-complete-mode t))
;; (my-ac-config)
;;; for fetchmail
;;; M-x fetchmailでfetchmailできるようになる
(defun fetchmail ()
(interactive)
(shell-command "fetchmail")
)
;;;;;;;;;;;;;;;;;;;;;;;
;;; for scala
;;; from http://d.hatena.ne.jp/tototoshi/20100925/1285420294
;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "~/.emacs.d/scala-mode")
(require 'scala-mode-auto)
;;; もし自動でscala-modeにならなかったら次の1行を設定ファイルに加えてください。
;(add-to-list 'auto-mode-alist '("\\.scala$" . scala-mode))
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;;;;;;;; FOR CEDET
;; ;;;;;;;;; http://cedet.sourceforge.net/
;; ;; Load CEDET.
;; ;; See cedet/common/cedet.info for configuration details.
;; (load-file "~/.emacs.d/cedet-1.0/common/cedet.el")
;; ;; Enable EDE (Project Management) features
;; (global-ede-mode 1)
;; ;; Enable EDE for a pre-existing C++ project
;; ;; (ede-cpp-root-project "NAME" :file "~/myproject/Makefile")
;; ;; Enabling Semantic (code-parsing, smart completion) features
;; ;; Select one of the following:
;; ;; * This enables the database and idle reparse engines
;; (semantic-load-enable-minimum-features)
;; ;; * This enables some tools useful for coding, such as summary mode
;; ;; imenu support, and the semantic navigator
;; (semantic-load-enable-code-helpers)
;; ;; * This enables even more coding tools such as intellisense mode
;; ;; decoration mode, and stickyfunc mode (plus regular code helpers)
;; ;; (semantic-load-enable-gaudy-code-helpers)
;; ;; * This enables the use of Exuberent ctags if you have it installed.
;; ;; If you use C++ templates or boost, you should NOT enable it.
;; ;; (semantic-load-enable-all-exuberent-ctags-support)
;; ;; Or, use one of these two types of support.
;; ;; Add support for new languges only via ctags.
;; ;; (semantic-load-enable-primary-exuberent-ctags-support)
;; ;; Add support for using ctags as a backup parser.
;; ;; (semantic-load-enable-secondary-exuberent-ctags-support)
;; ;; Enable SRecode (Template management) minor-mode.
;; ;; (global-srecode-minor-mode 1)
;; (setq semantic-default-submodes
;; '(
;; global-semantic-idle-scheduler-mode
;; global-semantic-idle-completions-mode
;; global-semanticdb-minor-mode
;; global-semantic-decoration-mode
;; global-semantic-highlight-func-mode
;; global-semantic-stickyfunc-mode
;; global-semantic-mru-bookmark-mode
;; ))
;; cdする
(cd "~/")
caption always "%?%F%{= wk}%:%{= ww}%?%-w%{=u Wk}%n %t%{-}%+w"
defscrollback 10000
termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
escape ^t^t
bind 2 split
bind o focus
bind 1 only
bind 0 remove
bind -c REGION \^ resize
bind x command -c REGION
set number
set numberwidth=8
set softtabstop=8
set shiftwidth=8
"set expandtab
set smarttab
set autoindent
set nobackup
set noswapfile
set wildmode=list:full
set background=dark
sy on
"http://nanasi.jp/articles/others/xmllint.html
au FileType xml exe ":silent 1,$!xmllint --format --recover - 2>/dev/null"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment