You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

128 lines
4.4 KiB

  1. " 外部ファイル読み込み
  2. " if filereadable(expand('~/filepath'))
  3. " source ~/filepath
  4. " endif
  5. if !isdirectory(expand('~/.vim'))
  6. call mkdir(expand('~/.vim'))
  7. endif
  8. """""""""""""""""""""""""""""""""""
  9. set compatible " vi compatible
  10. " バックアップファイルを作るディレクトリ
  11. if !isdirectory(expand('~/.vim/backup'))
  12. call mkdir(expand('~/.vim/backup'))
  13. endif
  14. set backup " バックアップ
  15. set backupdir=$HOME/.vim/backup
  16. set swapfile " スワップファイル用のディレクトリ
  17. set directory=$HOME/.vim/backup
  18. set viminfo+=n~/.vim/viminfo " viminfo
  19. set list " タブ文字、行末など不可視文字を表示する
  20. set listchars=tab:>-,extends:<,trail:-,eol:$ " listで表示される文字のフォーマットを指定する
  21. set showmatch " 閉じ括弧が入力されたとき、対応する括弧を表示する
  22. "set whichwrap=b,s,h,l,<,>,[,] " カーソルを行頭、行末で止まらないようにする
  23. set showmode " モード表示
  24. set title " display editting file on titlebar
  25. "set incsearch
  26. set wrapscan " 折り返し検索
  27. set showmatch " 括弧を閉じた時、対になる括弧を一瞬ハイライトする
  28. set ignorecase
  29. set smartcase " 検索時に大文字を含んでいたら大/小を区別
  30. set wildmode=longest,list,full
  31. set ruler " 行番号、カーソル位置を表示
  32. set nonumber " do not show line number at left side
  33. "set laststatus=2 " ステータスラインを常に表示
  34. set showcmd
  35. set scrolloff=2 " 常に前後2行を表示
  36. syntax enable " シンタックス
  37. set hidden " 編集中でも他ファイルへ移動可
  38. "set backspace=indent,eol,start " バックスペースでなんでも消せるように
  39. "set autochdir " 自動的にカレントディレクトリを現在のファイルのディレクトリにする macだと出来ないってゆわれた
  40. set encoding=utf-8 " 言語設定
  41. set fileencodings=utf-8,shift-jis,euc-jp,latin1
  42. set mouse=h " マウス使わない
  43. set clipboard+=unnamed " クリップボードをWindowsと連携
  44. set visualbell " ビープしない
  45. set browsedir=buffer " バッファで開いているファイルのディレクトリ
  46. set tabstop=4 " タブの画面上での幅
  47. set softtabstop=4
  48. set shiftwidth=4 " width of indent
  49. set expandtab " タブをスペースに展開する
  50. set autoindent " オートインデント
  51. set smartindent
  52. set cindent
  53. filetype plugin indent on
  54. let g:netrw_liststyle = 1
  55. let g:netrw_list_hide = '\(^\|\s\s\)\zs\.\S\+'
  56. " gvimrc分けるのめんどい
  57. if has('gui_running')
  58. " ツールバー、スクロールバー消す
  59. set guioptions-=T
  60. set guioptions-=r
  61. set lines=45
  62. set columns=110
  63. set guifont=DejaVu\ Sans\ Mono\ 9
  64. endif
  65. if has('win32')
  66. " Windows 用の設定
  67. endif
  68. """""""""""""""""""""""""""""""""""""""
  69. " マップ
  70. " imap <c-j> <esc> でC-Jをescにできる。?
  71. " nmap
  72. " vmap
  73. " map でそれぞれのモードでマップを指定
  74. " キーマッピングには大きく分けて map と noremap の 2 つの種類があります。
  75. " * map はキーシーケンスを展開したあと、さらに別のマップを適用しようとします。
  76. " * noremap は一度だけ展開します。
  77. " →マップを再帰的に展開するときはmap、決め打ちはnoremap(キーの入れ替えなど)
  78. " 割と保存
  79. inoremap <ESC> <ESC>:<C-u>w<CR>
  80. inoremap <C-c> <ESC>:<C-u>w<CR>
  81. noremap <C-c> <ESC>:<C-u>w<CR>
  82. " highlight current line
  83. " set cursorline
  84. " カレントウィンドウにのみ罫線を引く
  85. augroup cch
  86. autocmd! cch
  87. autocmd WinLeave * set nocursorline
  88. autocmd WinEnter,BufRead * set cursorline
  89. augroup END
  90. hi clear CursorLine
  91. highlight CursorLine term=underline cterm=underline gui=underline
  92. " 入力モード時、ステータスラインのカラーを変更
  93. augroup InsertHook
  94. autocmd!
  95. autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
  96. autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
  97. augroup END
  98. " save window position and size
  99. if has('gui_running')
  100. let g:save_window_file = expand('~/.vimwinpos')
  101. augroup SaveWindow
  102. autocmd!
  103. autocmd VimLeavePre * call s:save_window()
  104. function! s:save_window()
  105. let options = [
  106. \ 'set columns=' . &columns,
  107. \ 'set lines=' . &lines,
  108. \ 'winpos ' . getwinposx() . ' ' . getwinposy(),
  109. \ ]
  110. call writefile(options, g:save_window_file)
  111. endfunction
  112. augroup END
  113. if filereadable(g:save_window_file)
  114. execute 'source' g:save_window_file
  115. endif
  116. endif