雀巽の日記帳

雀巽が綴る日常の記録

PC周りを快適化!

久々にPC関連のモノを買いましたー!

f:id:necojackarc:20150420001928j:plain

買ったのは以下の2つ。

  1. Mini DisplayPort - HDMI ケーブル
  2. リストレスト2つ

Mini DisplayPort - HDMI ケーブル

1 はMacBook AirHDMI でモニタに接続するために買いました! 基本プログラミングは Mac でするので、これでおっきい画面でプログラミングできます!

リストレスト2つ

2 のリストレストは机でノート PC を使うときの個人的必須アイテムです。

以前、家用と会社用でデカイのを2つ買ったんですが、なぜかデスクトップ用のキーボードを使ってるときは腕が痛くならなかったので、不要だと判断して1つプレゼントしちゃいました。会社用のはバリバリ現役で使ってます。

なぜかノートPCを机で使うと机の角で腕が痛くなるんですよ。

みんな痛くならないの?一瞬で痛くなってキツイ。

さらに快適化

それと、作業快適化のために 2 つほど Vimプラグインを追加しました。

  1. thinca/vim-quickrun
  2. dag/vim2hs

vim-quickrun

vim-quickrun は Vim からプログラムをを実行できるようにするプラグインです。 今まで閉じたりペイン移動したりして実行してたのですが、それがある程度は不要になるかもしれません。

vim2hs

vim2hs は Vim での Haskell 環境をいい感じにしてくれます。 目的としてはシンタックスハイライトの補正用で入れました。

標準のままだと Haskellシンタックスハイライトが非常に残念な感じでしたので、こちらを導入してみました。 実際、かなり見やすくなったかと思います。冒頭の写真の左側が Haskell の編集画面です!

余談

そういえば、新型 MacBook も触ってきました。 あれ、結構いいですね。最初キーボード気持ち悪っ!ってなりましたが、慣れるとイケます。

デザインとかサイズとか色とかは結構好きです。ポート1つはちょっとストイック過ぎるかなとは感じました。

そして最後に現在の .vimrc をペタリ。 カスタム最小限派だけど、そこそこ長くなってきてる。

" _/_/_/_/ Initialization  _/_/_/_/
filetype off " 一時的にファイルタイプ関連を無効化

" _/_/_/_/ Common settings _/_/_/_/
syntax enable
set background=dark
colorscheme solarized

set encoding=utf-8
set fileencodings=utf-8,sjis,euc
set fileformats=unix,dos,mac

set nobackup " バックアップを無効化
set number " 行番号を表示
set incsearch " インクリメンタルサーチ
set ignorecase " 検索時に大文字小文字を無視
set showmatch " 対応する括弧のハイライト表示
set showmode " モード表示
set title " 編集中のファイル名を表示
set ruler " ルーラーを表示
set expandtab " タブ入力を複数の空白入力に置き換え
set tabstop=2 " 画面上でタブ文字が占める幅
set shiftwidth=2 " 自動インデントの幅
set softtabstop=2 " 連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅
set autoindent " 改行時に前の行のインデントを継続する
set smartindent " 改行時に入力された行の末尾に合わせて次の行のインデントを増減
set whichwrap+=hl<>[] " 行頭行末から次の行へ移動
set backspace=indent,eol,start " バックスペース有効化
set nofoldenable " 折りたたみ無効化
set clipboard=unnamed " ヤンク時にクリップボードにコピー
set mouse=a " マウス有効化
set vb t_vb= "ビープ音無効化

" 不可視文字の表示
set list
set listchars=tab:»-,trail:-,eol:¬,extends:»,precedes:«,nbsp:%

" 全角スペースの表示
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
match ZenkakuSpace / /

" undofileの設定
if has('persistent_undo')
  set undodir=~/.vim/undo
  set undofile
endif

" キーワード補完を常時起動
set completeopt=menuone
for k in split("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_",'\zs')
  exec "imap " . k . " " . k . "<C-N><C-P>"
endfor

" キーマッピング
nmap <silent> <Esc><Esc> :nohlsearch<LF> " ESC連打でサーチハイライトを解除
nmap <silent> <C-p> "0p " Ctrl+pで常にヤンクしたものを貼り付け
nmap <C-]> g<c-]> " タグジャンプ先が複数ある場合は一覧を表示

" _/_/_/_/ Neo Bundle _/_/_/_/
if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'

" >>>> My Bundles >>>>
NeoBundle 'scrooloose/nerdtree'
NeoBundle 'nathanaelkane/vim-indent-guides'
NeoBundle 'thinca/vim-quickrun'
NeoBundle 'kana/vim-smartinput'
NeoBundle 'cohama/vim-smartinput-endwise'
NeoBundle 'dag/vim2hs'
NeoBundle 'scrooloose/syntastic'
" <<<< My Bundles <<<<

call neobundle#end()

" >>>> Settings for my Bundles >>>>
" # nerdtree
let NERDTreeShowHidden = 1 " 隠しファイルの表示

" # vim-smartimput
" 括弧内のスペース処理を快適化
call smartinput#map_to_trigger('i', '<Space>', '<Space>', '<Space>')

" # vim-indent-guides
let g:indent_guides_enable_on_vim_startup = 1
let g:indent_guides_guide_size = 1
let g:indent_guides_start_level = 2
let g:indent_guides_auto_colors = 0
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=#444433 ctermbg=235
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=#333344 ctermbg=236

" 括弧内へのスペース挿入の快適化
call smartinput#define_rule({ 'at'    : '(\%#)',
                            \ 'char'  : '<Space>',
                            \ 'input' : '<Space><Space><Left>' })
call smartinput#define_rule({ 'at'    : '{\%#}',
                            \ 'char'  : '<Space>',
                            \ 'input' : '<Space><Space><Left>' })

" 括弧内のスペース除去の快適化
call smartinput#define_rule({ 'at'    : '( \%# )',
                            \ 'char'  : '<BS>',
                            \ 'input' : '<Del><BS>' })
call smartinput#define_rule({ 'at'    : '{ \%# }',
                            \ 'char'  : '<BS>',
                            \ 'input' : '<Del><BS>' })

" 改行時に行末スペースを除去
call smartinput#define_rule({ 'at'    : '\s\+\%#',
                            \ 'char'  : '<CR>',
                            \ 'input' : "<C-o>:call setline('.', substitute(getline('.'), '\\s\\+$', '', ''))<CR><CR>" })

" # vim-smartinput-endwise
call smartinput_endwise#define_default_rules()

" # vim2hs
let g:haskell_conceal = 0

" # syntastic
let g:syntastic_mode_map = { 'mode': 'passive' }
let g:syntastic_ruby_checkers = ['rubocop']
" <<<< Settings for my Bundles <<<<

NeoBundleCheck

" _/_/_/_/ Finalization _/_/_/_/
filetype plugin indent on " ファイルタイプ関連を再度有効化

dotfiles を Github で管理するの超快適です。