Hatena::ブログ(Diary)

Fedora 19(はてな) このページをアンテナに追加 RSSフィード


Search in WWW Search in hatena/fedora9/

2008-12-05

vim カスタマイズ

画像

vim-users.jp(vim Hack)

leafpad .vimrc

" plugin .vim/plugin
" NERD_commenter.vim http://d.hatena.ne.jp/tanakaBox/20070409/1176062438
" FuzzyFinder http://www.vim.org/scripts/script.php?script_id=1984
nnoremap sf :new<Cr>:FuzzyFinderFile<Cr>

" http://hatena.g.hatena.ne.jp/hatenatech/20060515/1147682761
set nocompatible  " Use Vim defaults instead of 100% vi compatibility
set backspace=indent,eol,start  " more powerful backspacing
set nobackup    " Don't keep a backup file
"set number      " 行番号を表示 :se nu  非表示 :se nonu  :h number
set incsearch   " 検索文字を打ち込むと即検索する(インクリメンタルサーチ)
set wildmenu    " :e .v<TAB><TAB> した時に補完候補を上に表示 
"set list      " 改行に$を表示 :se list :se nolist
set expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
set ignorecase " 検索文字列が小文字の場合は大文字小文字を区別なく検索する
set autoindent
set cindent
set smarttab
set laststatus=2
"set statusline=%n\:\ %f\ %m\ %r%{&foldenable!=0?'[fen]':''}%=%l/%L\ (%p%%)\ %{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}
" http://github.com/januswel/dotfiles/blob/68b7980885979acffd2be82a106032e6d2f9c5f4/.vimrc
set statusline=%t\ %y%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%r%m%=%c:%l/%L[%3p%%]

"set cursorline   " :se cul  :se nocul  :h cursorli
set hidden " バッファが編集中でもその他のファイルを開けるように
set fileencoding=utf-8
set encoding=utf-8
set showmatch " 対応するカッコを強調表示

syntax on " /etc/vimrc(fedora)
colorscheme darkblue " darkblue はデフォルトでインストール済み
"colorscheme desert

" keymap
" http://hatena.g.hatena.ne.jp/hatenatech/20060515/1147682761
" ノーマル、ビジュアル、挿入時、コマンド入力時(:wq)にShift + l(Ctrl + l)で抜ける
" L が入力できないので l を入力して~で大文字に変換
" 本来Lは画面の一番下にカーソル移動 一番上はH
imap <C-l> <esc>
imap <C-g> <esc>
map <C-l> <esc>
map <C-g> <esc>
"make Shift+l(Ctrl + l) an additional ESC
"noremap L <ESC>
"noremap <C-l> <ESC>
"noremap <C-g> <ESC>
"cnoremap L <C-C>
"cnoremap <C-l> <C-C>
"cnoremap <C-g> <C-C>
" :w など入力時にShift + l でキャンセル
cmap <C-l> <C-C>
cmap <C-g> <C-C>
"inoremap L <ESC>
"inoremap <C-l> <ESC>
"inoremap <C-g> <ESC>
" http://github.com/guyon/configs/tree/master/.vimrc
" .vimrcの再読み込み
"nnoremap ,vr :source $HOME/.vimrc<CR>
nnoremap ,vr :source %<CR>
" Ctrl + z でジャンプする前の位置に移動(gg,Shift + g,10 Shift + g)
map <C-z> <C-o>
" Ctrl + k で行末までカット
map <C-k> D
" Space で半画面スクロール Ctrl + u で上へ半画面スクロール
"map <Space> <C-d>
" Ctrl + a で行頭 本来Ctrl + a は値の増加
map <C-a> 0
" すべて選択 ggVG
" すべてコピー ggyG
" 行末までコピー y Ctrl + e
" Ctrl + e で行末 本来Ctrl + e は1行下にスクロール 上はCtrl + y
map <C-e> $
" Shift + c 行末までカットして挿入モード
" command mode 時 tcsh風のキーバインドに
cmap <C-A> <Home>
cmap <C-E> <End>
cmap <C-F> <Right>
cmap <C-B> <Left>
cmap <C-D> <Delete>
" Ctrl + c で ESC(コマンド入力時(:wqとか))
" ee で上書き保存 eで文字の末尾に移動が遅くなる
"nnoremap ee :w<CR>
" qq で上書き保存して終了 Shift + zz
nnoremap qq :wq<CR>
" :ls でbuffer一覧表示
" :e .emacs で新しくbufferに開く
"buffer operation
nnoremap sn :bn<CR>
nnoremap <C-T> :bn<CR>
nnoremap sp :bp<CR>
"window operation
" ssで分割 scで閉じる so
noremap ss <C-W>s
noremap sc <C-W>c
noremap so <C-W>o
"move
"tt で別のウィンドウへ移動 sjで下 siで上
noremap tt <C-W><C-W>
noremap sj <C-W>j
noremap si <C-W>k
"resize +広げる -狭める
noremap + <C-W>+
noremap - <C-W>-
" zEnter で最大化
noremap z<CR> <C-W>_
" z0 で最小化
noremap z0 1<C-W>_
" z. で均等に
noremap z. <C-W>=
" 表示行単位で行移動する 長い行で自動折り返した時用
nnoremap j gj
nnoremap k gk
" b でブレース 対応する括弧(){}にジャンプ
nmap b %
" http://d.hatena.ne.jp/guyon/20081230/1230648901
" http://github.com/guyon/configs/tree/master/.vimrc
" 検索時に画面中央にくるようにする
" nzzを割り当てるとfold時の検索でnを押して次に進んだ場合に自動展開されない
nnoremap n nzzzv
nnoremap N Nzzzv
nnoremap * *zzzv
nnoremap # #zzzv
nnoremap g* g*zzzv
nnoremap g# g#zzzv

" 全角スペースを視覚化
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=white
match ZenkakuSpace / / 
" http://d.hatena.ne.jp/magicalhat/20081223/1230013283
if has("autocmd")
  filetype plugin indent on
  autocmd FileType perl,cgi :compiler perl  "コンパイラの指定

  " テンプレ http://d.hatena.ne.jp/higeorange/20071003/1191356790
  "autocmd BufNewFile *.html 0r ~/.vim/templates/skel.html 

  " filetypeをセット http://d.hatena.ne.jp/rdera/20090110/1231565387
  " autocmd BufNewFile,BufReadPost ~/.zfunc/* :set ft=zsh

  " カーソルの位置を復元 Ubuntu 8.10
  " http://d.hatena.ne.jp/chonmagejiro/20080815/1218780398
  " When editing a file, always jump to the last known cursor position.
  " Don't do it when the position is invalid or when inside an event handler
  " (happens when dropping a file on gvim).
  autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal g`\"" |
    \ endif
endif

" 文字コードの自動認識
" http://www.kawaz.jp/pukiwiki/?vim#cb691f26
if &encoding !=# 'utf-8'
  set encoding=japan
  set fileencoding=japan
endif
if has('iconv')
  let s:enc_euc = 'euc-jp'
  let s:enc_jis = 'iso-2022-jp'
  " iconvがeucJP-msに対応しているかをチェック
  if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
    let s:enc_euc = 'eucjp-ms'
    let s:enc_jis = 'iso-2022-jp-3'
  " iconvがJISX0213に対応しているかをチェック
  elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
    let s:enc_euc = 'euc-jisx0213'
    let s:enc_jis = 'iso-2022-jp-3'
  endif
  " fileencodingsを構築
  if &encoding ==# 'utf-8'
    let s:fileencodings_default = &fileencodings
    let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
    let &fileencodings = &fileencodings .','. s:fileencodings_default
    unlet s:fileencodings_default
  else
    let &fileencodings = &fileencodings .','. s:enc_jis
    set fileencodings+=utf-8,ucs-2le,ucs-2
    if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
      set fileencodings+=cp932
      set fileencodings-=euc-jp
      set fileencodings-=euc-jisx0213
      set fileencodings-=eucjp-ms
      let &encoding = s:enc_euc
      let &fileencoding = s:enc_euc
    else
      let &fileencodings = &fileencodings .','. s:enc_euc
    endif
  endif
  " 定数を処分
  unlet s:enc_euc
  unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
  function! AU_ReCheck_FENC()
    if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
      let &fileencoding=&encoding
    endif
  endfunction
  autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
  set ambiwidth=double
endif

" メモ memo
" :help a または :h a。分割ウィンドウで表示。scで閉じる。z.で同じサイズに
" :h ctrl-z。:h insert-index。
" 
" アンドゥ u
" 行の切り取り dd
" 行のコピー yy
" 4文字コピー y4
" 行末までカット Ctrl + k 
" 画面の一番上に移動  Shift + h  中央 Shift + m  一番下  Shift + l
" ペースト p
" 上書き保存 :w
" ESC = Ctrl + l
" 下スクロール Ctrl + f
" 上スクロール Ctrl + b
" ウィンドウ分割 ss
" ウィンドウを閉じる sc
" http://d.hatena.ne.jp/shakaku/20090124
" vlllとかで選択して "+y でコピーします(Firefoxとかに貼り付け可能)
" .vimrc を編集保存して、:source % するかvimを再起動すると反映します。
" アドレスを右クリックしてFirefoxで開ける
" Shift + k  関数の説明?
" :x (または :wq) 保存して終了
" :w で上書き保存
" $ vimtutor
" d0 行頭までをカット
" カーソルの位置は自動保存
" 10 Shift + g で 10行めにジャンプ
" 10 j 10行下にジャンプ。Ctrl + zで戻る
" Ctrl + z  ジャンプする前の位置に戻る
" http://www.thinkit.co.jp/article/123/3/
" :new または Ctrl + w n 新しいウィンドウを開く
" z<Enter>  分割中のアクティブなウィンドウを最大化
" z0 分割中のアクティブなウィンドウを最小化
" z. 分割ウィンドウを同じ大きさに変更
" z10<Enter>  分割中アクティブなウィンドウを10行表示
" z- カーソル行を一番下になるようスクロール
" zt カーソル行を画面の最初に。zz 中央に。zb 最後に。
" v でビジュアルモード、再度vで抜ける(Shift + v、Ctrl + vも同様)
" gd カーソルのある位置の文字で検索(* と同じ)
" ga アスキーコードを表示
" Ctrl + m  次の行の行頭に移動
" gi 最後に追加した後の位置に追加
" e 文字の末尾に移動(wと同じ?)。ge 前の文字の末尾に移動
" 文字コード指定して開き直す
":e ++enc=euc-jp
":e ++enc=sjis
":e ++enc=iso-2022-jp
" :lcd Desktop  分割したウィンドウだけcd
" 単語の補完 Ctrl + p。Ctrl + n で後方。Ctrl + l で決定。
" /hello 後方検索。?hello 前方検索。n で次を検索。Shift + n で前。
" /hello して Ctrl + h でBackspace
" o でカーソルの下に新しい行を追加。Shift + o でカーソルのある行に追加
" Shift + r  上書き変更
" ファイルの一番上へ gg。  一番下へ Shift + g。10行めへ 10 Shift + g。
" Shift + a 行末に追加
" :noh または :nohlsearch 検索のハイライトを消す
" Ctrl + z で一時停止  コマンドが入力でき、$ fg で元に戻す
" 関数の折りたたみ zf   展開 Space
" mark(tag)一覧表示 :marks
" markをつける ma(aは任意)  markにジャンプ 'a(aは任意) 終了後も保存
" '' 直前の行(マーク)に戻る。ジャンプする前に戻ったり。
" 大文字小文字の変換 ~
" Shift + x 前の文字を削除(Backspaceと同じ)、x カーソルのある文字を削除
" 複数行まとめてコメント化 行頭でCtrl + v jjjj Shift + i # Esc
" pathやファイル名などを表示 2 Ctrl + g
" バッファのリストを表示 :ls
" sn 次のバッファ  sp 前のバッファ
" ファイルをバッファに開く :e .vimrc
" 次のendの前まで削除 d/end<return>
" :set nonu で行番号を非表示、 :set nu で表示
" vllで範囲選択してyでコピー、pでカーソルの右にペースト Shift + p で左にペースト
" vllで範囲選択してdでカット、pでカーソルの右にペースト Shift + p で左にペースト
" vllで選択中oで選択範囲の四隅へ移動
" 行の特定の文字の手前まで削除 例  ) の手前まで削除するには、ct)
" 半画面下にスクロール 上Ctrl + d  上Ctrl + u 
" 保存して終了 Shift + zz
" アンドゥ u。行をまとめてアンドゥ Shift + u。
" アンドゥのやり直し Ctrl + r
" 10行めへジャンプ 10 Shift + g
" 選択スタート v(visual)
" 行選択スタート  Shift + v
" 矩形選択スタート Ctrl + v
" 1行上にスクロール Ctrl + y  下 Ctrl + e
" 1画面上にスクロール Ctrl + b  下 Ctrl + f
" sn  次のバッファを表示  sp 前のバッファを表示  
" 文字を削除して挿入モード s  行を削除して挿入モード Shift + s
" 行を切り取り挿入モード cc または Shift + s
" 文字をカーソルの右に追加 a  行末に追加 Shift + a
" 文字をカーソルの左に挿入 i  行頭に挿入 Shift + i
" 同じ行の任意の文字にジャンプ fa(aは任意) ta で文字の手前にジャンプ
" 同じ行の任意の文字にジャンプ fa;(;で繰り返し) fa;,(,で逆方向に繰り返し)
" p viのyやddでコピー・カットしたものを貼り付け
" 行を複製 yyp
" xp 2文字の入れ替え(EmacsではCtrl + t)
" 下に空白行を挿入して挿入モード o
" クリップボードの内容貼り付け :a して Ctrl + Shift + v して Ctrl + c
" 行連結 Shift + j (自動的に半角スペースで区切る)
" * カーソルのある位置の単語で検索。逆方向に検索は#。
" cw 単語を切り取って挿入モード
" dw 単語をカット
" macro記録開始 qa(aは任意) 記録終了 q 実行 @a
" 行末までをカットして挿入モードへ Shift + c
" コントロールコードの入力 Ctrl + Shift + v (例えば :set をコピーした状態で)
" indent追加  >>、  indent解除  <<。 複数行選択しても可能
" Shift + v で行を選択して、> でindent追加。 >.. で連続
" Shift + q  Exモード
" 保存 :w。保存して終了 :wq。保存せず終了 :q!。

ESCは遠いので、ESCの代わりにCtrl + l(Shift + l)

5月8日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど


,, で <esc> とか、,h1 で タグ を入力して間で入力モードとか。

処理系コレクション:Linux:~/.vimrc


vim注目エントリー


vim でカーソルの位置を復元する方法 - ちょんまげじろうの日記


ずれないようにペーストするには、(vim7では:a!)

:a! して、Ctrl + Shift + v して、Ctrl + c

ペースト時 の vim のオートインデントを無効にしたい - Web道楽

はてな vim 勉強会勝手にリファクタリング


colorize.vim 入力モード時は背景色を変更 — 名無しのvim使い


hello.cとかで入力中{の後Enterで自動インデント、}も対応)(filetype plugin indent on)

せっかくなので、昔流行っていたらしい vimrc 晒しをやってみる - ふしぎなぼうし


ずんWiki - vim 文字コードの自動判別


,ccコメントアウト(複数行選択時も可)(hello.cとかファイルタイプで自動判別)(,c<SPACE> でコメントアウトON/OFF)Plugin

NERD_commenter.vim を .vim/plugin に入れます。

VimのヤバすぎコメントプラグインNERD_comments.vim - ボクノス

jpease’s vimrc at master — GitHub

Vimを使ったRuby On Rails開発環境の構築 - ナレッジエース


FuzzyFinder (プラグイン)

fuzzyfinder.vim を .vim/plugin に入れてvim再起動します。

.vimrc に

nnoremap sf :FuzzyFinderFile<Cr>

を追加しておくと、sfで起動してファイル名の一部を入力してCtrl+nとかで選択できます。

(または:FuzzyFinderFile で起動します。(:Fuzz[tab] とかで補完できます))

rubyneko - fuzzyfinderの簡単な使い方

fuzzyfinder.vim - vimグループ


補完候補を自動的にポップアップ表示するプラグイン autocomplpop.vim

autocomplpop.vim を .vim/plugin に入れてvim再起動します。

vim autocomplpop.vimで補完候補を自動的にポップアップする方法

候補が表示された時にEnterで補完されます

Ctrl + n や Ctrl + p で候補切り替え

文字の途中で改行したい時はCtrl + n で切り替えてEnter


Ctrl + v で矩形範囲選択モードにして、コメントの#だけを複数行矩形選択してd で削除とか、複数行に#を追加とか(複数行の1文字目を矩形選択してShift + i # ESC)。

5月2日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど


入力中Ctrl+nやCtrl+pで同じファイル内の単語で補完

viの使い手がvimエディタについて知っておくべき事 トップ10 — 名無しのvim使い


:make

vim × Perl のコンパイルを簡単にするコマンドと設定 (Perl.vim) - iDeaList::Writing


Digital Junk::プログラマが知っておくべき100のVimコマンド


grep(未確認)

ack.vim - vim から ack の検索結果を使う - 川o・-・)<2nd life


Best Vim Tips - Vim Tips Wiki - a Wikia wiki


Vimの全オプション


.vimrc をバックアップしておく - TrashSUITE


/dotfiles/vim – CodeRepos::Share – Trac


UNIX今日の技 - FrontPage R


Web屋のためのVim設定・Tipsまとめ 1/2 - ナレッジエース


編集中のファイルをブラウザで開く - new Error(”exeception throw”)


処理系コレクション:Linux:vi操作方法


基本 (vimエディタ) サイト更新停滞ちうっ 名無しのVIM使い


"+y でクリップボードにコピー。(Firefoxとかに貼り付け可能) (Fedora10は-xterm_clipboard)

2009-01-24 - shakakuの日記


ハタさんのブログ : vimのgrep(vimgrep)が素晴らしすぎて泣いた。


Vimで編集中のプログラムをキー一発で実行するTips - 医者を志す妻を応援する夫の日記


vim入門 (vim study #1)


hakobe / .vimrc

僕がサクラエディタからVimに乗り換えるまで

Emacs カスタマイズ

画像

$ sudo yum install emacs

$ leafpad .emacs

;; load path .elファイルを入れるフォルダ
(setq load-path (cons "~/.lisp/" load-path))

; プラグインファイルの追加が必要なのでとりあえずコメントアウト require
;(require 'install-elisp)  ; Alt + x inst <Enter> Ctrl + y(でURLをペースト) <Enter>
;(setq install-elisp-repository-directory "~/.lisp/")
;(setq session-undo-check -1)
;(require 'session)  ; カーソルの位置を復元
;(add-hook 'after-init-hook 'session-initialize)
;(require 'anything-config)  ; Buffer や ローカル などから一度に検索  Ctrl + ;
;(setq anything-sources (list anything-c-source-buffers  ; 表示する項目を設定(省略時はすべて)
;                             anything-c-source-locate))
;(global-set-key (kbd "C-;") 'anything)  ; キーバインド Ctrl + ;
;(require 'point-undo) ; ジャンプする前の位置へ戻る Ctrl + z
;(define-key global-map "\C-z" 'point-undo)
;;;(require 'auto-complete)
;;;(global-auto-complete-mode t)

(icomplete-mode 1)  ; M-xでコマンドを入力するときに自動で候補を表示する
(setq c-auto-newline t)   ; 全自動インデントを有効
(setq x-select-enable-clipboard t)   ; Xとクリップボード共有(Alt + w とかでコピーしたものを別のアプリに貼り付けできる)
(fset 'yes-or-no-p 'y-or-n-p)  ;;"yes or no"を"y or n"にする
(pc-selection-mode) ;shift+矢印キーでの範囲選択

;; キーバインド
(define-key global-map "\C-o" 'copy-region-as-kill-nomark)  ; Ctrl + o でコピー(Alt + w はつらいので) 本来 上に行を作成
(define-key global-map "\C-u" 'scroll-down)  ; 上にスクロール Ctrl + ; は使えなかった
(define-key global-map "\C-c;" 'comment-region)      ; 行を選択してCtrl + c; でコメントアウト
(define-key global-map "\C-c:" 'uncomment-region)    ; 行を選択してCtrl + c: でコメント解除
;(define-key global-map "\C-h" 'delete-backward-char) ; Backspace
;(define-key global-map "\C-ci" 'indent-region)       ; インデント
;;; バッファをさっさと切り替え 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)
;;; カーソルのある行を一番上へ Ctrl + x p
(defun line-to-top-of-window ()
  "Move the line point is on to top of window."
  (interactive) 
  (recenter 0))
(global-set-key "\C-xp" 'line-to-top-of-window)
(global-set-key "\C-j" 'goto-line)  ; Ctrl + j 10 で10行めにジャンプ
;; C-x C-bでelectric-buffer-list
(define-key global-map "\C-x\C-b" 'electric-buffer-list)
(eval-after-load "ebuff-menu"
  '(progn
     (define-key
       electric-buffer-menu-mode-map
       "x" 'Buffer-menu-execute)))

;; 消すやつ
(menu-bar-mode 0)
(tool-bar-mode 0)
(setq inhibit-startup-message t)
(setq initial-scratch-message "");;バージョンによっては nil だと消えない時ある
(fringe-mode 0);;ムカつくから消してる
;; 色とか見た目とか
(set-background-color "Gray12")
(set-foreground-color "LightGray")
(set-cursor-color "Gray")
(set-face-attribute 'mode-line nil :box nil :background "HotPink")
(set-scroll-bar-mode 'right)
(show-paren-mode t)
(blink-cursor-mode 0)
(column-number-mode t)
(line-number-mode)
(custom-set-variables '(line-number-mode t) '(column-number-mode t) ) ;行数表示
;; タイトルバーにファイル名を表示する
(setq frame-title-format (format "%%f - emacs" (system-name)))  
(display-time)  ; 時間を表示
;;起動時の画面の色(カーソル:暗い赤色)、サイズ(横:110桁、縦:40行)
(setq default-frame-alist (append (list '(cursor-color . "purple")
                                        '(width .  130)
                                        '(height . 40))
                                  default-frame-alist))

;;バックアップとか
(setq backup-inhibited t)
(setq delete-auto-save-files t)
(setq delete-auto-save-files t)
(setq completion-ignore-case t);;大文字小文字ムシ

;;; iswitchb は、バッファ名の一部の文字を入力することで、 選択バッファの絞り込みを行う機能を実現します。
(iswitchb-mode 1) ;;iswitchbモードON
;;; C-f, C-b, C-n, C-p で候補を切り替えることができるように。
(add-hook 'iswitchb-define-mode-map-hook
      (lambda ()
        (define-key iswitchb-mode-map "\C-n" 'iswitchb-next-match)
        (define-key iswitchb-mode-map "\C-p" 'iswitchb-prev-match)
        (define-key iswitchb-mode-map "\C-f" 'iswitchb-next-match)
        (define-key iswitchb-mode-map "\C-b" 'iswitchb-prev-match)))

;;全角スペースとかに色を付ける
(defface my-face-b-1 '((t (:background "medium aquamarine"))) nil)
(defface my-face-b-1 '((t (:background "dark turquoise"))) nil)
(defface my-face-b-2 '((t (:background "cyan"))) nil)
(defface my-face-b-2 '((t (:background "SeaGreen"))) nil)
(defface my-face-u-1 '((t (:foreground "SteelBlue" :underline t))) nil)
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)
(defvar my-face-u-1 'my-face-u-1)
(defadvice font-lock-mode (before my-font-lock-mode ())
            (font-lock-add-keywords
                 major-mode
                    '(
                           (" " 0 my-face-b-1 append)
                           ("\t" 0 my-face-b-2 append)
                           ("[ ]+$" 0 my-face-u-1 append)
          )))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)
(add-hook 'find-file-hooks '(lambda ()
                             (if font-lock-mode
                               nil
                               (font-lock-mode t))))

; memo
; Ctrl + h t でチュートリアル表示
; Ctrl + h k Ctrl + k でCtrl + k が何をするかのヘルプ表示
; Ctrl + h Ctrl + h ヘルプの使い方を表示
; Ctrl + h b キーバインド一覧を表示


; Ctrl + x u アンドゥ(undo)
; Ctrl + x Ctrl + f .emacs(ファイル名) ファイル開く
; Ctrl + x Ctrl + f hello.c で新規作成
; 上書き保存 Ctrl + x Ctrl + s
; Ctrl + x Ctrl + w abc 名前をつけて保存
; Ctrl + x Ctrl + c Emacsを終了

; Ctrl + a 行頭へ
; Ctrl + b 左へ
; Ctrl + c; コメントアウト(行を選択した状態で)
; Ctrl + c: コメント解除(行を選択した状態で)
; Ctrl + d Delete
; Ctrl + e 行末
; Ctrl + f 右へ
; Ctrl + g キャンセル
; Ctrl + h ヘルプ (Ctrl + h k Ctrl + w でCtrl + wのヘルプ , Ctrl + h Ctrl + h でヘルプ)
; Ctrl + i list-indet-line
; Ctrl + j ジャンプに設定
; Ctrl + k 行末までカット
; Ctrl + l カーソル行を真ん中に
; Ctrl + m 改行
; Ctrl + n 下へ
; Ctrl + o コピーに設定 本来は上に1行作成
; Ctrl + p 上へ
; Ctrl + q 
; Ctrl + r 上に検索
; Ctrl + s 下に検索
; Ctrl + t 次のバッファを表示に設定
; Ctrl + u 上にスクロールに設定
; Ctrl + v 下にスクロール
; Ctrl + w カット
; Ctrl + x (Ctrl + x [ 最初へ ,  Ctrl + x 2 ウィンドウ分割 , Ctrl + x o で移動 , Ctrl + x b バッファ一覧
; Ctrl + y ペースト
; Ctrl + z ジャンプする前の位置に戻る
; Ctrl + ; anything.elに設定

; 選択してコピー
; Ctrl + Space (Mark Set)して Ctrl + f などで選択(選択領域はリージョンと呼ぶ)。

; 行のコピー  行頭で Ctrl + Space して、Ctrl + e して、Alt + w

; Ctrl + x h すべて選択(all)
; Ctrl + x Ctrl + b でバッファ一覧を表示、Ctrl + n とかで選択して、Enter
; Ctrl + x Ctrl + b で表示して、d でバッファ一覧から削除
; Ctrl + x Ctrl + b で表示して、o ウィンドウを分割して開く
; Ctrl + x k Enter でバッファ一覧から削除
; Ctrl + h Ctrl + t で Emacs TODO List表示

install-elisp.el

install-elisp.elダウンロードして、.lisp に入れます。

$ leafpap .emacs して、

(setq load-path (cons "~/.lisp/" load-path))

(require 'install-elisp)

(setq install-elisp-repository-directory "~/.lisp/")

を追加します。

■使い方。emacs を起動して、Alt + x install-elisp <Enter>して、http://www.cx4a.org/pub/auto-complete.el を Ctrl + y でペースト <Enter>でインストールして、

$ leafpad .emacs して、

(require 'auto-complete)

(global-auto-complete-mode t)

を追加するとauto-complete.elが使えるようになります。

次世代auto-complete.elを読んでみる - ’(rubikitch wanna be (a . lisper))


カーソルが何行目、何列目にあるか表示

.xemacs.elのカスタマイズ - 物理のかぎしっぽ


色とか見た目とか、メニューバーを消したり

コンピュータ地獄の九月 会社の emacs を設定しました - コトリコ


Ctrl + z でアンドゥ

~/.emacsへの雑多な設定


Ctrl + v で貼り付け


ubulog: Emacsのとりあえず最低限の環境を整える


Emacs_shortcuts GNOME-Look.org


新入学生/新社会人応援企画:あるWebプログラマーの作業環境——豪傑の三種の神器【前編】 (2/2) - ITmedia エンタープライズ


マクロ

カウンターを生成する拡張Lisp counter.el が便利 - suusukeの日記


「M-g で指定行へジャンプ」

(global-set-key "\C-j" 'goto-line) ; Ctrl + j 10 でジャンプ


対応する括弧に移動

Ctrl + Alt + f(or n)、Ctrl + Alt + b(or p)

Emacs で対応するカッコに移動 - ひげぽん OSとか作っちゃうかMona-


自動インデント(hello.cなどで{のあとEnterで自動インデント)

EmacsのC++インデント設定


ヘルプの使い方

Emacs クイックリファレンス


Repository Search — .emacs — GitHub


コピーの履歴をたどって貼り付け

Programming in Emacs Lisp: Yanking


ジャンプする前の位置へ戻る

カーソル位置を前に戻す point-undo.el をリリース - ’(rubikitch wanna be (a . lisper))


すごい.emacs - とりあえず暇だったし何となく始めたブログ


とりあえずCtrl + ; に設定。Buffer と locate だけに。

巷で話題の anything.el を使ってみた — ありえるえりあ

anything.el が手放せなくなった | Weboo! Returns.


カーソルの位置を復元

Meadow/Emacs memo: ミニバッファの入力/補完機能とヒストリ


Ctrl + q <TAB>でTab

TAB が入力出来ません - PukiWiki