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.
 
 
 
 
 
 

140 lines
3.5 KiB

  1. " vimrc
  2. " SETUP_LOAD: if filereadable(expand('DOTFILES_DIR/vimrc'))
  3. " SETUP_LOAD: source DOTFILES_DIR/vimrc
  4. " SETUP_LOAD: endif
  5. if !isdirectory(expand('~/.vim'))
  6. call mkdir(expand('~/.vim'))
  7. endif
  8. """""""""""""""""""""""""""""""""""
  9. set compatible " vi compatible
  10. " Directory to put backup file
  11. if !isdirectory(expand('~/.vim/backup'))
  12. call mkdir(expand('~/.vim/backup'))
  13. endif
  14. " Enable backup
  15. set backup
  16. set backupdir=$HOME/.vim/backup
  17. " Directory for swap file
  18. set swapfile
  19. set directory=$HOME/.vim/backup
  20. " viminfo
  21. set viminfo+=n~/.vim/viminfo
  22. " Wrap when moving cursor
  23. "set whichwrap=b,s,h,l,<,>,[,]
  24. set wildmode=longest,list,full
  25. " Able to switch to another buffer even when editting a file
  26. set hidden
  27. " BS can erase these things
  28. "set backspace=indent,eol,start
  29. " Automatically change current dir according to current file. cant use with mac
  30. "set autochdir
  31. " Do not use mouse
  32. set mouse=h
  33. " Use x clipboard, seems not to work?
  34. set clipboard+=unnamed
  35. " Default dir for Explorer
  36. set browsedir=buffer
  37. " Encoding
  38. set encoding=utf-8
  39. set fileencodings=utf-8,shift-jis,euc-jp,latin1
  40. " Display
  41. set showmode
  42. " Show editting file on titlebar
  43. set title
  44. " Show spcial letters such as newline or whitespace
  45. set list
  46. " Change letters for displaying special letter
  47. set listchars=tab:>-,extends:<,trail:-,eol:$
  48. " Display current line and column
  49. set ruler
  50. " Do not show line number at left side
  51. set nonumber
  52. " Always show status line
  53. "set laststatus=2
  54. " Scroll offset
  55. set scrolloff=2
  56. set showcmd
  57. " Dont beep
  58. set visualbell
  59. " Enable syntax highlight
  60. syntax enable
  61. " Highlight matching paren
  62. set showmatch
  63. " Searching
  64. "set incsearch
  65. " Enable wrap search
  66. set wrapscan
  67. set ignorecase
  68. " Case-sensitive only when capital letters appear
  69. set smartcase
  70. set incsearch
  71. " Tab and Indentation
  72. " Tab width for displaying
  73. set tabstop=4
  74. set softtabstop=4
  75. " Width of indent
  76. set shiftwidth=4
  77. " Expand tab to space
  78. set expandtab
  79. set autoindent
  80. set smartindent
  81. set cindent
  82. filetype plugin indent on
  83. let g:netrw_liststyle = 1
  84. let g:netrw_list_hide = '\(^\|\s\s\)\zs\.\S\+'
  85. " For gvim
  86. if has('gui_running')
  87. " Hide toolbar and scroll bar
  88. set guioptions-=T
  89. set guioptions-=r
  90. set lines=45
  91. set columns=110
  92. set guifont=DejaVu\ Sans\ Mono\ 9
  93. endif
  94. if has('win32')
  95. " Prefs for Windows
  96. endif
  97. """""""""""""""""""""""""""""""""""""""
  98. " mappings
  99. " imap <c-j> <esc> でC-Jをescにできる。?
  100. " nmap
  101. " vmap
  102. " map でそれぞれのモードでマップを指定
  103. " キーマッピングには大きく分けて map と noremap の 2 つの種類があります。
  104. " * map はキーシーケンスを展開したあと、さらに別のマップを適用しようとします。
  105. " * noremap は一度だけ展開します。
  106. " →マップを再帰的に展開するときはmap、決め打ちはnoremap(キーの入れ替えなど)
  107. " Save file on exiting insert mode
  108. inoremap <ESC> <ESC>:<C-u>w<CR>
  109. inoremap <C-c> <ESC>:<C-u>w<CR>
  110. noremap <C-c> <ESC>:<C-u>w<CR>
  111. " Highlight current line
  112. " set cursorline
  113. " show cursor line only in current window
  114. " not work in term-mode of emacs
  115. " augroup cch
  116. " autocmd! cch
  117. " autocmd WinLeave * set nocursorline
  118. " autocmd WinEnter,BufRead * set cursorline
  119. " augroup END
  120. hi clear CursorLine
  121. highlight CursorLine term=underline cterm=underline gui=underline
  122. " Change status line color when in insert mode
  123. augroup InsertHook
  124. autocmd!
  125. autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
  126. autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
  127. augroup END