vimrc

""""""""""""""""""""""""""""
""" neobundle """
""""""""""""""""""""""""""""
set nocompatible

if has('vim_starting')
 set runtimepath+=~/.vim/bundle/neobundle.vim/
endif
call neobundle#rc(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'Shougo/vimproc'

" My bundle here
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/vimshell'
NeoBundle 'Shougo/unite.vim'

filetype plugin indent on
NeoBundleCheck

""""""""""""""""""""""""""""
""" Grobal config """
""""""""""""""""""""""""""""
" color scheme ( .gvimrcによる上書き禁止 )
let scheme = 'zenburn'
augroup guicolorscheme
autocmd!
execute 'autocmd GUIEnter * colorscheme' scheme
augroup END
execute 'colorscheme' scheme

" Encode
set encoding=utf-8
set fileencoding=UTF-8
set termencoding=UTF-8

" Search
set incsearch	"インクリメンタルサーチ
set hlsearch	"ハイライト
set ignorecase	"検索時に文字の大小を区別しない
set nowrapscan	"先頭へループしない

" Display
syntax on
set number
set list
set ruler	"カレント行を表示
set title	"編集中のファイル名
set showmatch
set laststatus=2	" statusline表示
set smarttab
set autoindent
set smartindent
set listchars=eol:$,tab:>\ ,extends:<
set guioptions-=T	"ツールバー非表示
set guioptions-=m	"メニューバー非表示
set cursorline	"カーソル行を強調表示
set scrolloff=10	"スクロール時に表示を10行確保

set history=2000
set nobackup	"バックアップを取らない
set noswapfile	"スワップファイルを作らない
set hidden	"ファイル変更中でも他のファイルを開けるようにする
set clipboard=unnamed
set browsedir=buffer
set nocompatible
"set whichwrap=b,s,h,l,<,>,[,]	"カーソルを行頭、行末で止まらないようにする


"入力モード時、ステータスラインのカラーを変更
augroup InsertHook
autocmd!
autocmd InsertEnter * highlight StatusLine guifg=#ccdc90 guibg=#2E4340
autocmd InsertLeave * highlight StatusLine guifg=#2E4340 guibg=#ccdc90
augroup END

"日本語入力をリセット
au BufNewFile,BufRead * set iminsert=0
"タブ幅をリセット
au BufNewFile,BufRead * set tabstop=4 shiftwidth=4
"全角スペースを視覚化
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=#666666
au BufNewFile,BufRead * match ZenkakuSpace / /


""""""""""""""""""""""""""""
""" mapping """
"-------------------------------------------------------------------------------"
" コマンド       ノーマルモード 挿入モード コマンドラインモード ビジュアルモード
" map /noremap           @            -              -                  @
" nmap / nnoremap        @            -              -                  -
" imap / inoremap        -            @              -                  -
" cmap / cnoremap        -            -              @                  -
" vmap / vnoremap        -            -              -                  @
" map! / noremap!        -            @              @                  -
"-------------------------------------------------------------------------------"
""""""""""""""""""""""""""""
"タブ切り替え
nnoremap <Tab>   gt
nnoremap <S-Tab> gT

"InsertMode終了時にIME OFF
inoremap <silent> <Esc> <Esc>
inoremap <silent> <C-[> <Esc>

iMac Mid2010 27-inchのBootCampでシムシティ5をプレイ

iMac(Mid-2010, 27-inch, memory 14G, core i5)でBoot CampさせたWindows7でシムシティ5が動きました!

今のところ下記の設定で問題なく動作しています。
Mac版でるまで迷っている人がいたら参考までに。

Spark_2013-03-22_14-43-24

画面解像度 1920 x 1080, 60Hz
ライティング
テクスチャー
ジオメトリー
アニメーション詳細
ティルトシフト 標準
アンチエイリアス チェック
フレームレート上限 60FPS
垂直同期 チェック

JenkinsのJOB並列実行 速度

JenkinsのJOBを並列実行させたときに、
CPU(ソケット)がひとつしかない場合はおおよそ1.5倍〜2倍近くJOB実行時間が伸びた

並列実行はほとんど使えないなあ
基本的にはJenkinsを分散してるときとかに利用する機能なのかもしれない

VMWare esxiのゲストOSへのCPU割り当て最適化

用語の整理

ソケット = 物理的なCPUの数
ソケット辺りのコア数 = 論理的なCPUのコア数

基本的にホストOSの物理CPU数以上のCPUをゲストOSに割り当てても効率化はされない。
ホストのCPUが1つしかない場合、
ゲストOSを複数動かす場合、どちらかの処理を行なっている間は残りの処理は完全に停止される。

個人利用レベルでは大半はホストのCPU数は1つだと思うので、
下記のような構成がいいのかな

ホスト
CPU数:1

ゲスト1
ソケット:1
コア数:4

ゲスト2
ソケット:1
コア数2

Vichromeの使いづらいところ

Google Chromeでvimpの代わりととして一番使えるVichromeですが、
使っていて気になる点があるので列挙してみた。

1.タブオープンの挙動が不安定
「t」を押してgoogleで検索出来るが、webページ内でフレームが挿入されているとフレームの方で入力欄が表示される。
そのため、入力欄が表示される場所がまちまちだったり、フレームの枠が小さいなど安定しない。

2.キーが受け付けられないことが多い
何を押しても反応しなくなることが多々ある。
恐らく、ページ読み込み中にキー入力をしていたり、ページが読み込まれる時に一緒にVichromeも読み込まれているっぽいけど、
その時に中途半端に読み込まれないことがあるっぽい。

3.addonや設定画面、ホーム画面でVichromeが動かない
当然といえば当然だが、地味に不便。

1と2が頻発するので、非常にストレスがたまる。
chromeの制限で恐らくグローバルにキーフックするのが作れないのかな。
ブラウザ自体はFirefoxよりGoogle Chromeの方が使いやすいだけに残念。

ブックマークレットでjQueryを使う時のテンプレート

ブラウザの作業自動化でちょちょっとかけて便利なブックマークレットで、
jQueryを使う時のテンプレート。
jQueryがないとDOM操作がやってられない。

javascript:(function(d){function l(){(function($){
    //ここに任意のコードを記述
})(jQuery)}if(typeof jQuery=='undefined'){var j=d.createElement('script');j.type='text/javascript';j.src='https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';d.body.appendChild(j);j.onload=l}else{l()}})(document);

Google chromeの場合は、
リンク追加 → URLにJSを記入でいける。

JSの一行圧縮webツール
compressor