Mac歴1ヶ月、Windows歴5年とかなり長い間パソコンを触って来ましたが、全て独学で、周りにはパソコン関連の何かを教えてくれる人が全くいないので、ここに載っていない便利ツールや便利な設定を知っていたらぜひ教えてほしいです。タイトルには、MacBookAirと書いていますが、対象は何でもいいです。OSにも特にこだわりません。
ここでは、私がMacBookAirの環境を構築した際に便利だと思ったツールや設定を紹介していきたいと思います。
##追記
MacBookAirで使っている便利ツール vol.2 - Qiita
更新しました。
MacBookAirを買ったら、すぐに確認しておきたい設定
- トラックパッド
- キーボード
- 拡張機能
トラックパッドの便利操作
Dockにある システム環境設定 > トラックパッド を選択します。そこで、有効にしたい項目にチェックを入れます。
2本指でタップすると、右クリック
キーボードの便利操作
Dockにある システム環境設定 > キーボード を選択します。そこで、有効にしたい項目にチェックを入れます。
Ctrl+F3を押すと、Dockにフォーカスする
拡張機能
Macには隠し機能というものがあります。今回は、それを有効にする方法を紹介します。
ユーザライブラリを表示する
chflags nohidden ~/Library/
ネットワーク上にDS_storeを作らない
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
Dockの待機時間ゼロ
defaults write com.apple.Dock autohide-delay -float 0 && killall Dock
Dashboardを無効にする
defaults write com.apple.dashboard mcx-disabled -boolean true
MacBookAirを買ったらすぐに入れたいアプリ
- BetterTouchTool //トラックパッドを拡張するために役立つアプリ。
- Google Chrome //インターネットブラウザ
- Growl //通知を拡張するアプリ
- Kopypasta //クリップボードをバックアップしてくれるアプリ
- Quicksilver //アプリにショートカットキーを割り当てることができるアプリ
- WindowFlow //Windowsユーザーにお馴染みの[Tab+Alt]でウィンドウを切り替えを使えるようにするアプリ
- XtraFinder //Finderを拡張するアプリ
- Xcode //開発環境を提供するアプリ
- TinkerTool //Macの隠し機能を簡単に有効にするアプリ
- VirtualBox //仮想環境を提供するアプリ
- Skitch //スクーンショットの撮影と画像の編集を行うアプリ
- DashExpander //無料の高機能エディタ
- Alfred //キーボード操作によるアプリの起動やWeb検索への連携を可能にするアプリ
- Google IME //Google 日本語入力
- Dropbox //設定ファイルの共有やバックアップに使えるアプリ
- ShiftIt //ウィンドウ操作を簡単にするアプリ
- Kobito //Qiitaへの投稿を簡単にするアプリ
- GitHub for Mac //GitHubへの投稿を簡単にするアプリ
- GIMP //言わずと知れた高機能の画像作成・編集アプリ
- Notational Velocity //Simplenoteクライアント。メモを簡単に行うためのアプリ
- Evernote //高機能メモ帳Evernoteのクライアントアプリ。
- KeePassX //パスワード管理アプリ。
- MacVim //Vimエディタの日本語拡張版
- iTerm2 //ターミナルアプリ。設定項目が豊富で安定しています。
- ClamXav //パソコンをスキャンし、コンピュータウィルスを見つけ出すためのアプリ
他にもたくさんのアプリを入れていますが、主要なアプリは以上の通りです。
各アプリのTips
あまりに長くなりそうなので、思いついたものを適当に書き連ねていきます。
パスワードを共有する
KeePassX
で管理したパスワードファイルをDropboxに入れます。iPhoneからもアクセスできるので非常に便利です。iPhoneのKeePassクライアントであるMiniKeePass
は非常に安定しており優秀なアプリです。
アプリにショートカットキーを割り当てる
Quicksilver
を使って、アプリにショートカットキーを割り当てると便利です。私がショートカットキーを割り当てているアプリは、Finder
とiTerm2
などです。
GIMPは、プラグインを入れるとさらに便利になる
GIMP
は、有料のPhotoshop
と比べられることが多いのですが、プラグインを入れると、同等の仕事をこなしてくれるようになります。
GIMPのプラグイン一覧
Separate+ //CMYKファイルを扱うプラグイン
PSPI //Photoshop用のプラグインをGIMPでも使う
Liquid Rescale //画像のリサイズに使えるプラグイン
Wavelet Denoise //ノイズを除去するためのプラグイン
Gimp-reflection //特殊効果としての反射を行うプラグイン
URLをメモする
Notational Velocity
は、URLをメモする際に非常に役に立ってくれます。URLをコピーし、ショートカットキーを押すと、それをノート化することができます。このアプリ自体もショートカットキーで起動するように設定ができます。
Simplenote
は、iPhone用にアプリが用意されているので、Simplenote
を使った情報共有とメモが促進されます。記事内の文章も全てクリップされるので、非常にいい感じです。
Google Chromeでのブラウジングを快適にする
gleeBoxとVichromeまたは、Shortcut Managerなどの拡張機能を入れると、Google Chrome
の操作が快適になります。
例えば、Shortcut Manager
にブックマークレットShareHtmlメーカーを設定してみると、ショートカットキーで簡単にサイトや記事の紹介ができます。
gleeBox
の方は、特定のキーを押すと、コマンドモードが発動し、例えば、!tweet
と入力すると、見ている記事をツイートしてくれるし、!rss
と入力すると、RSS登録してくれます。
Terminal環境を整える
Terminal = iTerm2
Shell = zsh
Editor = Vim
Virtual = tmux
iTerm2の設定を考える
MacBookAirには、デフォルトでせっかく良い壁紙が設定されているので、ウィンドウを透明にしてみます。
これで、デスクトップにある壁紙がうっすらとではありますが、表示されるようになりました。
zshの設定を考える
まずは、zsh
のインストールと、デフォルトシェルの変更を行います。ただ、Macには、最初から入っているみたいなので、Windows、Linuxユーザー向けの解説です。
Homebrewのインストール
Homebrew
は、Unix向けに開発されたオープンソース・ソフトウェアを手軽にインストールすることができるMacOSX用のパッケージです。Homebrew
を使うことで、アプリをコマンドから簡単にダウンロード、インストールできるようになります。
/usr/bin/ruby -e "$(/usr/bin/curl -fksSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
zshのインストール
brew install zsh
zshをデフォルトシェルに設定する
sudo chsh -s /bin/zsh
Gitのインストール
Git
とは、プログラムなどのソースコード管理を行う分散型バージョン管理システムのことです。このシステムを使うことで、独自の設定を簡単に共有、反映させることができます。
brew install git
zshの補完をauto-fu.zshパッケージを使い簡単に強化する
mkdir ~/work/ ~/.zsh/ && cd ~/work/
git clone git://github.com/hchbaw/auto-fu.zsh.git
cp ~/work/auto-fu.zsh/auto-fu.zsh ~/.zsh/auto-fu.zsh
.zshrc
に下記を追加して、exec $SHELL
を実行し、設定を反映します。
if [ -f ~/.zsh/auto-fu.zsh ]; then
source ~/.zsh/auto-fu.zsh
function zle-line-init () {
auto-fu-init
}
zle -N zle-line-init
zstyle ':completion:*' completer _oldlist _complete
fi
zshのプロンプトを整えてみる
# プロンプト
## PROMPT内で変数展開・コマンド置換・算術演算を実行する。
setopt prompt_subst
## PROMPT内で「%」文字から始まる置換機能を有効にする。
setopt prompt_percent
## コピペしやすいようにコマンド実行後は右プロンプトを消す。
setopt transient_rprompt
## 256色生成用便利関数
### red: 0-5
### green: 0-5
### blue: 0-5
color256()
{
local red=$1; shift
local green=$2; shift
local blue=$3; shift
echo -n $[$red * 36 + $green * 6 + $blue + 16]
}
fg256()
{
echo -n $'\e[38;5;'$(color256 "$@")"m"
}
bg256()
{
echo -n $'\e[48;5;'$(color256 "$@")"m"
}
## プロンプトの作成
# VCS settings
zstyle ':vcs_info:*' max-exports 3
zstyle ':vcs_info:hg:*' get-revision true # hg で check-for-changes を有効にするには
zstyle ':vcs_info:hg:*' use-simple true # この2つの設定が必要
autoload -Uz is-at-least
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "⚡" # 適当な文字列に変更する
zstyle ':vcs_info:git:*' unstagedstr "±" # 適当の文字列に変更する
zstyle ':vcs_info:git:*' formats '%{%F{white}%K{green}%} %s %{%k%f%}%{%F{white}%K{blue}%} %b %{%k%f%}%{%F{white}%K{red}%} %c%u %{%k%f%}'
## バージョン管理システムの情報も表示する
autoload -Uz vcs_info
### プロンプトバーの左側
prompt_bar_left_self="%{%F{white}%K{blue}%} %n%{%k%f%}%{%F{white}%K{blue}%}@%{%k%f%}%{%F{white}%K{blue}%}%m %{%k%f%}%{%B%F{red}%K{blue}%}+ %{%b%f%k%}%{%B%F{white}%K{cyan}%} [%~] %{%k%f%b%}%{%k%f%}%(?.%F{white}%K{red}%} COMP %k%f.%B%K{red}%F{red}%} ERROR %b%k%f)%{%F{white}%K{green}%} -%h %{%k%f%}%{%B%F{white}%K{black}%} %D{%Y/%m/%d %H:%M} %{%b%f%k%}"
prompt_bar_left="${prompt_bar_left_self} ${prompt_bar_left_status} ${prompt_bar_left_date}"
### プロンプトバーの右側
#prompt_bar_right="-[%{%B%K{magenta}%F{white}%}%d%{%f%k%b%}]-"
### 2行目左にでるプロンプト。
#prompt_left="-[%h]%(1j,(%j),)%{%B%}%#%{%b%} "
prompt_left='%{%F{white}%K{yellow}%} $SHELL %{%k%f%}%{%B%F{white}%K{black}%} %# %{%b%k%f%} > '
## プロンプトフォーマットを展開した後の文字数を返す。
## 日本語未対応。
count_prompt_characters()
{
print -n -P -- "$1" | sed -e $'s/\e\[[0-9;]*m//g' | wc -m | sed -e 's/ //g'
}
## プロンプトを更新する。
update_prompt()
{
local bar_left_length=$(count_prompt_characters "$prompt_bar_left")
local bar_rest_length=$[COLUMNS - bar_left_length]
local bar_left="$prompt_bar_left"
# パスに展開される「%d」を削除。
local bar_right_without_path="${prompt_bar_right:s/%d//}"
# 「%d」を抜いた文字数を計算する。
local bar_right_without_path_length=$(count_prompt_characters "$bar_right_without_path")
# パスの最大長を計算する。
# $[...]: 「...」を算術演算した結果で展開する。
local max_path_length=$[bar_rest_length - bar_right_without_path_length]
bar_right=${prompt_bar_right:s/%d/%(C,%${max_path_length}<...<%d%<<,)/}
bar_right="%${bar_rest_length}<<${separator}${bar_right}%<<"
# プロンプトバーと左プロンプトを設定
PROMPT="${bar_left}${bar_right}"$'\n'"${prompt_left}"
# 右プロンプト
RPROMPT="%{%F{white}%K{black}%} %l %{%k%f%}%{%F{black}%K{white}%} $LANG %{%k%f%}"
case "$TERM_PROGRAM" in
Apple_Terminal)
# Mac OS Xのターミナルでは$COLUMNSに右余白が含まれていないので
# 右プロンプトに「-」を追加して調整。
## 2011-09-05
RPROMPT="${RPROMPT}"
;;
esac
# バージョン管理システムの情報を取得する。
LANG=C vcs_info >&/dev/null
# バージョン管理システムの情報があったら右プロンプトに表示する。
if [ -n "$vcs_info_msg_0_" ]; then
RPROMPT="${vcs_info_msg_0_}${RPROMPT}"
fi
}
## コマンド実行前に呼び出されるフック。
precmd_functions=($precmd_functions update_prompt)
Vimの設定を考える
Vim
の欠点といえば、挿入モードとコマンドモードの行き来がめんどくさいという点です。特に、日本語入力の切り替えも相まって、最初はかなり使いづらいエディタなのではないかと思います。それに、キーバインドも、シェルが通常採用しているEmacs
のものではないので、ターミナルを操作してきた人にとっても扱いづらいというものがあります。よって、ここでは、Vim
のキーバインドをEmacs
のようにする設定をおすすめしたいと思います。ただし、練習用に一部の操作は残しておきます。
まずは、MacVim
へのパスを通します。コマンドを入力するとMacVim
が起動するように.zshrc
に以下を追記しておきましょう。
export EDITOR=/Applications/MacVim.app/Contents/MacOS/Vim
alias vi='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
alias vim='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
Vim 挿入モードで使えるようになるキー
C-j //カーソルを上に移動する
C-k //カーソルを下に移動する
C-h //カーソルを左に移動する
C-l //カーソルを右に移動する
C-a //特定の記号で止まりながら、行頭へ移動する
C-e //特定の記号で止まりながら、行末へ移動する
C-S- //範囲指定
C-x //カーソル位置の文字を削除
C-w //カーソル前の単語を削除
C-t //カーソル後の単語を削除
C-u //やり直し
C-z //最後に挿入した文字列を挿入
C-d-" //ダブルクオーテーションに囲まれた文字列を削除する
S- //ウィンドウの調整
jj //ノーマルモードに移行する
・Up = 上矢印
・Down = 下矢印
・Left = 左矢印
・Right = 右矢印
・C = Control
・S = Shift
・<Leader> = ¥
vim
を起動し、.vimrc
を編集していきます。以下を追記します。
"---------------------------------------------------------------------------
" [タイトル]
" 基本操作
" [評価]
" ☆☆☆☆☆
" [参考]
" http://archiva.jp/web/tool/how_to_vim_2.html
" [説明]
" 基本操作に関わる設定です。ここを見ておけば、とりあえず操作できるだろうという設定項目。
"---------------------------------------------------------------------------
" 下に移動
inoremap <C-j> <Down>
" 上に移動
inoremap <C-k> <Up>
" 左に移動
inoremap <C-h> <Left>
" 右に移動
inoremap <C-l> <Right>
"行頭へ移動
inoremap <silent> <C-a> <C-r>=MyJumptoBol(' "。、.,/!?「」')<CR>
"行末へ移動
inoremap <silent> <C-e> <C-r>=MyJumptoEol(' "。、.,/!?「」')<CR>
"カーソル位置から前の単語を削除
inoremap <silent> <C-w> <C-g>u<C-r>=MyExecExCommand('normal! db')<CR>
"カーソル位置から後の単語を削除
inoremap <silent> <C-t> <C-g>u<C-r>=MyDeleteWord()<CR>
"カーソル後の1文字削除
inoremap <silent> <C-x> <C-g>u<Del>
"カーソル以降削除
inoremap <silent> <C-K> <C-g>u<C-r>=MyExecExCommand('normal! D', 'onemore')<CR>
"最後に挿入した文字列を挿入
inoremap <silent> <C-z> <C-g>u<C-a>
"やり直し
inoremap <silent> <C-u> <C-g>u<C-r>=MyExecExCommand('undo', 'onemore')<CR>
"挿入モードで範囲選択(セレクトモード)
set selectmode=key
set keymodel=startsel,stopsel
snoremap <C-S-Up> <S-Up><S-Up><S-Up><S-Up><S-Up>
snoremap <C-S-Down> <S-Down><S-Down><S-Down><S-Down><S-Down>
"カッコで囲まれた文字列を削除する
imap <c-d> <esc>di
"ウィンドウの調整
nnoremap <silent> <S-Left> :5wincmd <<CR>
nnoremap <silent> <S-Right> :5wincmd ><CR>
nnoremap <silent> <S-Up> :5wincmd -<CR>
nnoremap <silent> <S-Down> :5wincmd +<CR>
"ノーマルモードでも Enter で改行する
noremap <CR> i<CR><ESC>
" jj でノーマルモードに移動する
inoremap jj <Esc>
"クリップボードを共有する
set clipboard=unnamed,autoselect
"マウスを有効にする
if has('mouse')
set mouse=a
endif
"カーソルを括弧の中に移動
function! MyInsertBracket(lbrackets, rbracket)
if index(a:lbrackets, getline('.')[col('.') - 2]) != -1
return a:rbracket . "\<Left>"
else
return a:rbracket
endif
endfunction
inoremap <expr> ) MyInsertBracket(['('], ')')
inoremap <expr> } MyInsertBracket(['{'], '}')
inoremap <expr> ] MyInsertBracket(['['], ']')
inoremap <expr> > MyInsertBracket(['<'], '>')
inoremap <expr> " MyInsertBracket(['"'], '"')
inoremap <expr> ' MyInsertBracket(['''', '`'], '''')
"---------------------------------------------------------------------------
" [タイトル]
" ファンクション関係
" [評価]
" ☆☆☆
" [参考]
" https://sites.google.com/site/fudist/Home/vim-nihongo-ban/tips/vim-key-emacs
" [説明]
" ファンクション関係です。あらゆる設定の互換性に関わります。
"---------------------------------------------------------------------------
" 行末でも停止する単語単位移動コマンド
function! MyMoveWord_i(cmd)
let isEol = 0
if col('$') == col('.')
let isEol = 1
endif
let prevline = line('.')
silent exec 'normal! '.a:cmd
if line('.') == prevline
return ''
endif
if a:cmd == 'w'
if isEol == 0
call cursor(prevline, 0)
call cursor(line('.'), col('$'))
endif
if line('.') - prevline > 1
call cursor(prevline+1, 0)
call cursor(line('.'), col('$'))
endif
elseif a:cmd == 'b'
call cursor(line('.'), col('$'))
if prevline - line('.') > 1
call cursor(prevline-1, 0)
call cursor(line('.'), col('$'))
endif
endif
return ''
endfunction
" カーソル以降の単語削除
function! MyDeleteWord()
if col('.') == col('$')
return ''
endif
let save_cursor = getpos('.')
silent exec 'normal! wge'
if save_cursor[1] != line('.') || (save_cursor[2] > col('.'))
call setpos('.', save_cursor)
return MyExecExCommand('normal! dw', 'onemore')
endif
silent exec 'normal! v'
call setpos('.', save_cursor)
return MyExecExCommand('normal! d')
endfunction
" IMEの状態とカーソル位置保存のため<C-r>を使用してコマンドを実行。
function! MyExecExCommand(cmd, ...)
let saved_ve = &virtualedit
let index = 1
while index <= a:0
if a:{index} == 'onemore'
silent setlocal virtualedit+=onemore
endif
let index = index + 1
endwhile
silent exec a:cmd
if a:0 > 0
silent exec 'setlocal virtualedit='.saved_ve
endif
return ''
endfunction
" sepが空でなければ、sepをセパレータとしてジャンプ。
" 見つからなければ見かけの行頭へ。
" カーソル位置が見かけの行頭の場合は真の行頭へ。
function! MyJumptoBol(sep)
if col('.') == 1
call cursor(line('.')-1, col('$'))
call cursor(line('.'), col('$'))
return ''
endif
if matchend(strpart(getline('.'), 0, col('.')), '[[:blank:]]\+') >= col('.')-1
silent exec 'normal! 0'
return ''
endif
if a:sep != ''
call search('[^'.a:sep.']\+', 'bW', line("."))
if col('.') == 1
silent exec 'normal! ^'
endif
return ''
endif
exec 'normal! ^'
return ''
endfunction
" sepが空でなければ、sepをセパレータとしてジャンプ。
" 見つからなければ行末へ。
function! MyJumptoEol(sep)
if col('.') == col('$')
silent exec 'normal! w'
return ''
endif
if a:sep != ''
let prevcol = col('.')
call search('['.a:sep.']\+[^'.a:sep.']', 'eW', line("."))
if col('.') != prevcol
return ''
endif
endif
call cursor(line('.'), col('$'))
return ''
endfunction
Vim Pluginを使う
まずは、プラグイン管理のためのプラグインを導入します。
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
echo "source ~/.vim/bundle/vundle/test/minirc.vim" >> ~/.vimrc
vim ~/.vim/bundle/vundle/test/minirc.vim
:BundleInstall
と入力すると、プラグインがインストールされます。設定ファイルを分けておくと便利かもしれません。以下に具体例を示します。
source ~/dotfiles/vimrc
source ~/dotfiles/vimrc.bundle
そして、おすすめなプラグインをインストールしていきます。簡単に説明すると、.vimrc
という設定ファイルにBundle 'user_name/plugin_name'
と追記していき、:BundleInstall
を実行すると、インストールされます。追記する場所は、Bundle 'gmarik/vundle'
以下になります。
Bundle 'gmarik/vundle' "プラグインを管理するプラグインなので必須
" コメント処理を簡単にする
Bundle 'scrooloose/nerdcommenter.git'
" 自動閉じタグ
Bundle 'yuroyoro/vim-autoclose'
" visually indent guide
Bundle 'nathanaelkane/vim-indent-guides'
" XMLとかHTMLとかの編集機能を強化する
Bundle 'xmledit'
" Align : 高機能整形・桁揃えプラグイン
Bundle 'Align'
" フィルタリングと整形
Bundle 'godlygeek/tabular'
" マルチバイト対応の整形
Bundle 'h1mesuke/vim-alignta'
" ヤンクの履歴を管理
Bundle 'YankRing.vim'
" undo履歴を追える
Bundle 'Gundo'
" テキストを括弧で囲む/削除する
Bundle 'tpope/surround.vim'
" 補完 autocomplpop.vim : insertmodeで自動で補完をpopup
" Bundle 'AutoComplPop'
" 究極のVim的補完環境
Bundle 'Shougo/neocomplcache'
" neocomplcacheのsinpet補完
Bundle 'Shougo/neocomplcache-snippets-complete'
" rubyでrequire先を補完する
" Bundle 'ujihisa/neco-ruby'
" A neocomplcache plugin for English, using look command
" Bundle 'ujihisa/neco-look'
" スクロールを快適にする
Bundle 'Smooth-Scroll'
" 単語移動がスマートな感じで
Bundle 'smartword'
" matchit.vim : 「%」による対応括弧へのカーソル移動機能を拡張
Bundle 'matchit.zip'
" ソースコード上のメソッド宣言、変数宣言の一覧を表示
">Bundle 'taglist.vim'
" markdown
Bundle 'tpope/vim-markdown'
" ツリー型エクスプローラ
Bundle 'The-NERD-tree'
" ツリー状にファイルやディレクトリの一覧を表示
Bundle 'vtreeexplorer'
" エンコーディング
Bundle 'banyan/recognize_charcode.vim'
" ファイラー
Bundle 'Shougo/vimshell.git'
" vim Interface to Web API
Bundle 'mattn/webapi-vim'
" cecutil.vim : 他のpluginのためのutillity1
Bundle 'cecutil'
" urilib.vim : vim scriptからURLを扱うライブラリ
Bundle 'tyru/urilib.vim'
" utillity
Bundle 'L9'
" Buffer管理のLibrary
Bundle 'thinca/vim-openbuf'
" vim上のtwitter client
">Bundle 'TwitVim'
" Lingrのclient
Bundle 'tsukkee/lingr-vim'
" vimからGit操作する
Bundle 'tpope/vim-fugitive'
" ステータスラインを拡張する
Bundle 'Lokaltog/vim-powerline'
" Unite 関連のプラグイン
Bundle 'Shougo/unite.vim'
Bundle 'tsukkee/unite-help'
Bundle 'h1mesuke/unite-outline'
Bundle 'Sixeight/unite-grep'
Bundle 'basyura/unite-rails'
Bundle 'thinca/vim-unite-history'
Bundle 'tsukkee/unite-tag'
Bundle 'choplin/unite-vim_hacks'
" Twitter Client ~アウトライン表示で分かりやすいTwitterクライアント。
" http://d.hatena.ne.jp/basyura/20111230/p1
Bundle 'basyura/TweetVim'
Bundle 'basyura/twibill.vim'
Bundle 'basyura/bitly.vim'
Bundle 'tyru/open-browser.vim'
" Simplenote Client ~クラウドメモ帳のクライアント。ファイル操作が楽々。
" http://bugrammer.g.hatena.ne.jp/nisemono_san/20111107/1320677380
Bundle 'mrtazz/simplenote.vim'
" Tagbar ~JavaScriptでも結構使える関数リストを表示する。
" http://extjs.sunvisor.net/325
Bundle 'majutsushi/tagbar'
" w3m ~Vim上でブラウジングや調べものをする。
" :W3m google キーワードで検索
Bundle 'yuratomo/w3m.vim'
パッチを当てPowerLineを有効にする
Vim
のステータスラインをかっこ良くするには、PowerLine
というプラグインを使います。このとき、iTerm2
でフォントを設定していた場合は、うまく表示されないので、フォントにパッチを当てます。
brew install fontforge
brew install python-fontforge
wget http://~MyFontFile.ttf && mv MyFontFile.ttf ~/bundle/vim-powerline/fontpatcher
./fontpatcher MyFontFile.ttf
cp MyFontFile-Powerline.otf ~/.fonts
ココらへんは記憶が曖昧なので、自分の環境によってやり方を色々と変更してください。Macのフォント置き場は~/.fonts
だったかな。これはLinuxだったような気がしています。要は、fontpatcher
スクリプトの場所にフォントを置いて、スクリプトを実行し、できたファイルをフォント置き場に移動するという手順。あとは、iTerm2にてフォントを変更すればいいのです。
tmuxの設定を考える
まずは、クリップボードを共有できるようにしましょう。
mkdir ~/bin && echo "PATH=$HOME/bin:$PATH" >> ~/.zshrc
git clone git://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git
cd ~/tmux-MacOSX-pasteboard
make reattach-to-user-namespace
cp reattach-to-user-namespace ~/bin
vim ~/.tmux.conf
~/.tmux.conf
という設定ファイルに以下を追記します。
set-option -g default-command "reattach-to-user-namespace -l zsh"
tmuxのプロンプトを設定する
tmuxのプロンプトにいろいろな情報を表示してみます。以前エントリーを書いたので、そちらを引用します。
Vimでの日本語入力切り替えを快適にする
Google IME を使用している場合は、環境設定を行うことで、Esc
を押すと、IME を off にできます。