Vim と Emacs の設定ファイル
どうも,筆者です.
個人的に使っている Vim と Emacs の設定ファイルを載せておく.
Vim
" === 基本設定 === " グループの初期化 augroup myvimauto autocmd! augroup END syntax on " 文字コードを UTF-8 に設定 set fenc=utf-8 " 入力中のコマンドをステータスに表示 set showcmd " 保存時に行末のスペースを削除 autocmd myvimauto BufWritePre * %s/\s\+$//e " 色の設定 highlight StatusLine ctermbg=none ctermfg=grey highlight Comment ctermfg=LightGreen highlight Constant ctermfg=DarkRed highlight Identifier ctermfg=Cyan highlight Statement ctermfg=Brown highlight SpecialKey ctermbg=none ctermfg=darkgray highlight Directory ctermfg=grey " 入力モードに入ったら,その行を太字に, " 入力モードから出ると underline にするように設定 autocmd myvimauto VimEnter,ColorScheme * highlight CursorLine cterm=underline autocmd myvimauto InsertEnter * highlight CursorLine cterm=bold autocmd myvimauto InsertLeave * highlight CursorLine cterm=underline " === 見た目系 === " 行番号を表示 set number " ルーラーの表示 set ruler " 現在の行を強調表示 set cursorline " スマートインデント set smartindent " オートインデント set autoindent " スマートタブ set smarttab " 括弧入力時に対応する括弧を表示 set showmatch " ステータスラインを常に表示 set laststatus=2 " コマンドラインの高さ set cmdheight=1 " コマンドラインの補完 set wildmode=list:longest " 折り返し時に表示業単位で移動 nnoremap j gj nnoremap k gk nnoremap <Down> gj nnoremap <Up> gk nnoremap $ g$ nnoremap ^ g^ nnoremap <Home> g^ nnoremap <End> g$ nnoremap gj j nnoremap gk k nnoremap g$ $ nnoremap g^ ^ " 行末スペースをハイライト autocmd myvimauto VimEnter,WinEnter * match Error /\s\+$/ " ファイル名の表示 set statusline=%<%t\ %m%r%h%w\ [position=%04l,%04v][%p%%]\ [length=%L]\ %{'['.(&fenc!=''?&fenc:&enc).']\ ['.&fileformat.']'} " === TAB 系 === " 不可視文字を可視化 set list listchars=tab:>~ set backspace=indent,eol,start " 行頭以外の TAB の表示幅 set tabstop=4 " 行頭での TAB の表示幅 set shiftwidth=4 set softtabstop=4 " === 検索系 === " 検索文字列が小文字の場合は,大文字小文字を区別なく検索 set ignorecase " 検索文字に大文字が含まれている場合は区別して検索 set smartcase " 文字列入力時に,順次対象文字列にヒットさせる set incsearch " 検索時に最後まで行ったら最初に戻る set wrapscan " 検索語をハイライト set hlsearch " コマンドラインの補完をするときに強化されたものを使う set wildmenu " ESC 連打でハイライト解除 nmap <Esc><Esc> :nohlsearch<CR><Esc>
Emacs
;; Emacs-Lisp (require 'cl) ;;------------------------------------ ;; 標準機能の設定 ;;------------------------------------ ;; Welcome message の非表示 (setq inhibit-startup-message t) ;; TAB の表示幅 (setq default-tab-width 4) ;; インデントのオフセット (setq c-basic-offset 4) ;; メニューバーにファイルのフルパスを表示 (setq frame-title-format (format "%%f")) ;; 対応する括弧を表示 (show-paren-mode 1) ;; 現在の行に色を付ける (global-hl-line-mode t) ;; 行番号,列番号を表示 (line-number-mode t) (column-number-mode t) ;; 行番号表示 (require 'linum) (global-linum-mode t) ;; スクロールは 1 行ずつ (setq scroll-step 1) ;; 行末の空白を強調表示 (setq-default show-trailing-whitespace t) (set-face-background 'trailing-whitespace "#b14770") ;; 行末の空白の自動削除 (add-hook 'before-save-hook 'delete-trailing-whitespace) ;; 予約語の色分け (global-font-lock-mode t) ;;------------------------------------ ;; ファイル関連の設定 ;;------------------------------------ ;; バックアップファイル作成の無効化 (setq make-backup-files nil) ;; 自動保存ファイル作成の無効化 (setq auto-save-default nil) ;;------------------------------------ ;; 補完の設定 ;;------------------------------------ ;; 補完時に大文字小文字を区別しない (setq completion-ignore-case t) (setq read-file-name-completion-ignore-case t) ;; 補完可能なものを随時表示 (icomplete-mode 1) ;;------------------------------------ ;; インデントの一括修正 ;;------------------------------------ (defun all-indent () (interactive) (save-excursion (indent-region (point-min) (point-max)) ) ) (defun electric-indent () "Indent specified region. When resion is active, indent region. Otherwise indent whole buffer." (interactive) (if (use-region-p) (indent-region (region-beginning) (region-end)) (all-indent) ) ) ;; インデントの一括修正を行うショートカット(Ctrl + Alt + ]) (global-set-key (kbd "C-M-]") 'electric-indent)