ラベル Vim の投稿を表示しています。 すべての投稿を表示
ラベル Vim の投稿を表示しています。 すべての投稿を表示

2016年3月26日土曜日

NeoBundleからdeinに乗り換え

deinの設定


次のような感じにしてます。プラグインは TOML で管理して遅延ロードしてます。必要な部分だけ。「.vim/dein」ディレクトリを作って TOML ファイルを用意したら問題なし。


let g:rc_dir = expand('~/.vim')

let s:dein_dir = expand('~/.vim/dein')

let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'

if &runtimepath !~# '/dein.vim'
  if !isdirectory(s:dein_repo_dir)
    execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
  endif
  execute 'set runtimepath^=' . fnamemodify(s:dein_repo_dir, ':p')
endif

if dein#load_state(s:dein_dir)
  call dein#begin(s:dein_dir)

  let s:toml      = g:rc_dir . '/rc/dein.toml'
  let s:lazy_toml = g:rc_dir . '/rc/dein_lazy.toml'

  call dein#load_toml(s:toml,      {'lazy': 0})
  call dein#load_toml(s:lazy_toml, {'lazy': 1})

  call dein#end()
  call dein#save_state()
endif

if dein#check_install()
  call dein#install()
endif

filetype plugin on

NeoBundleからdeinに乗り換えてみて


NeoBundle のときからも TOML でプラグイン設定が記述できたけど、その部分はそれほど変化はないんだけど設定が簡単になった感じ。Powerline を使ってるからその部分で起動時間がかかるのがってのはあるけど Powerline を外してみたらその速度に驚いた。

NeoVim に乗り換えたらさらに速いんだろうけど、まだ vim で充分かな。

2015年6月25日木曜日

Powerlineを使ってみたい!( vim, tmux)

Powerlineを使ってみたい!


今まで vim-ariline を使っていたんだけれど Tmux の設定をしていると、なんだかカッコいいスクリーンショットを発見!それによると Powerline を導入しているとあるのでやってみたくなった。何がなんだかよく分かって無いけどやってみる!!!


Powerlineの導入


pip install か git clone すれば良いけど vim のプラグイン管理で NeoBundle を利用しているのでアップデートの事も考えて NeoBundle を使って導入しちゃう。
該当部分だけ掲載。以下を .vimrc に追記。

NeoBundle 'Lokaltog/powerline', {'rtp' : 'powerline/bindings/vim'}

保存した後、設定にもよるけどインストールするか聞かれるので yes でインストール!何か設定があるのか知らないけど、何も設定せず動いているのでオッケー。

Tmuxの設定


次に Tmux の設定 .tmux.conf を編集します。これまた必要部分だけ掲載します。パッチ適用したフォントじゃないと表示出来ない文字が含まれているので、その部分は豆腐になっていると思うので公式ドキュメントを見るなりしてください。

source ~/.vim/bundle/powerline/powerline/bindings/tmux/powerline.conf

set -g status-utf8 on
set -g status-interval 2
set -g status-justify left                                              
set -g status-fg colour231
set -g status-bg colour234
set -g status-left-length 20
set -g status-left '#[fg=colour16,bg=colour254,bold] #S #[fg=colour254,bg=colour234,nobold]#(eval $POWERLINE_COMMAND tmux left)'
set -g status-right-length 150
set -g status-right "[%Y-%m-%d(%a) %H:%M]"
set -g window-status-format "#[fg=colour244,bg=colour234]  #I #[fg=colour240] #[default]#W "
set -g window-status-current-format "#[fg=colour234,bg=colour31]#[fg=colour117,bg=colour31] #I  #[fg=colour231,bold]#W #[fg=colour31,bg=colour234,nobold]"
setw -g window-status-fg colour249
setw -g window-status-fg colour249
set -qg window-status-last-fg colour31
setw -g window-status-activity-attr none
setw -g window-status-activity-fg yellow
setw -g window-status-bell-attr none
setw -g window-status-bell-fg red

パッチ適用したフォントのインストール


好みのフォントにパッチを適用しても良いんだけれど手間なので用意されているパッチ適用済みフォントをインストールします。
git clone https://github.com/powerline/fonts.git

git cloneしたディレクトリに fonts ディレクトリが出来てるので cd して ./install.sh を実効。fc-cache -fv ~/.fonts でフォントキャッシュを更新します。

ターミナルのフォント設定


rxvt-unicode (urxvt) を利用しているので .Xresources を編集します。フォント部分だけです。ちなみに URxvt.fontで 9x15 と TrueType フォントじゃないのを指定しているのは w3m で画像を表示したときに TrueType フォントだけ指定していると描写が変になる対策のためで、そんなの関係ねーって方は "x:9x15" は必要ありません。
URxvt.font:              x:9x15,xft:DejaVu Sans Mono for Powerline:size=10:antialiase=true,xft:Ricty:size=12:antialiase=true
URxvt.boldFont:          xft:DejaVu Sans Mono for Powerline:bold::size=10:antialiase=true,xft:Ricty:bold:size=12:antialiase=true
URxvt.italicFont:        xft:DejaVu Sans Mono for Powerline:size=10:antialiase=true,xft:Ricty:italic:size=12:antialiase=true
URxvt.bolditalicFont:    xft:DejaVu Sans Mono for Powerline:bold:italic:size=10:antialiase=true,xft:Ricty:bold:italic:size=12:antialiase=true

以上で終わりです。色々なサイトを参考にして設定したので、パクってるじゃないかー!!!というのもあると思います。ごめんなさい。また、このブログ横幅が狭いから見にくくなって、これもごめんなさい。

2014年11月20日木曜日

今更ながら NeoBundle

もう今更感ありまくりなのですが、NeoBundle が便利だったのでメモしておきます。環境は Gentoo Linux です。

以下を .vimrc の先頭に記述。

" NeoBundle settings
if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

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

" Let NeoBundle manage NeoBundle
NeoBundle 'Shougo/neobundle.vim'

" add plugins
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neomru.vim'
NeoBundle 'ujihisa/unite-colorscheme'
NeoBundle 'michalbachowski/vim-wombat256mod'
NeoBundle 'banyan/recognize_charcode.vim'
NeoBundle 'freitass/todo.txt-vim'
NeoBundle 'vim-scripts/diffchar.vim'
NeoBundle 'tomtom/tcomment_vim'
NeoBundle 'romanvbabenko/vim-asciidoc'
NeoBundle 'scrooloose/syntastic.git'
"NeoBundle 'srackham/asciidoc-blogger-backend'

call neobundle#end()

filetype plugin on

NeoBundleCheck

NeoBundle では git を使うのでインストールします。Gentoo であれば sudo emerge -av dev-vcs/git の一発で git のインストールが完了です。
あとは vim を起動するとプラグインをインストールするか聞いてくるので「Y」でインストールして終りです。ここのプラグインの設定については、また別の機会に出来ればなぁーと思ってます。

2014年11月13日木曜日

再 Vim の文字コード自動判定

NeoBundle を利用している人だったら

NeoBundle 'banyan/recognize_charcode.vim'

と .vimrc に記述するだけで終りですね。前のエントリは無視してください。こんな良いものがあるなんて知らなかったんです。

ちなみに AsciiDoc 編集用のプラグイン NeoBundle 'romanvbabenko/vim-asciidoc' と同時に使うと asciidoc ファイルを開くときにエラーを吐くので詳しくない私は recognize_charcode.vim の以下の部分をコメントにしています。

" □とか○の文字があってもカーソル位置がずれないようにする
"if exists('&ambiwidth')
"  set ambiwidth=double
"endif
ではでは。

2014年11月2日日曜日

Todo 管理

Todo 管理ってどうしてます?少なくともマルチプラットフォームであることは最低限の条件だと思うんですよね。後はどういった項目があってとかってことになると各々で違ってくると思うんですよ。

使ってるスマートフォンが Android なので Play Store から色々なアプリをダウンロードして試したんですけど、なかなかしっくりくるのが無いんですよね。高機能すぎたり、Google Task と同期するタイプだったりすると、Linux で Todo を確認するのにわざわざブラウザを起動しなくちゃならなかったりして億劫になったり…

で、色々と試した中で良いのがありました。もう有名なものなんですけど、Todo.txt です。

Todo.txt イメージ。オフィシャルサイトから

こいつは Todo リストをテキストファイルで管理するので、どんなプラットフォームでも内容の編集が出来るし、Linux にも todo.sh というスクリプトがあるので Todo の確認にブラウザを起動することなくターミナルからでいけます。また Web インターフェースもあったりして良い感じです。

Todo.txt は Dropbox を使ってファイルの同期を行なうのですが、これもブラウザを利用したのでは手間が減らないので CLI の Dropbox クライアントである dropbox_uploader.sh を利用します。

Todo.txt のフォーマットは The Todo.txt Format にあります。基本のフォーマットだけ覚えればあとはテキストファイルなので好き勝手に書けるので、学習コストは高くないと思います。

また Linux には色々な拡張が用意されてるので、好みのものを追加してより便利に使いましょう。他、みんな大好き Vim のプラグインもあります。さあ、もう言うことなしですね。

2014年10月29日水曜日

Vim での文字コード自動判断

どこかからいただいたもので、以下のようにしてました。

"--------------------------------------------------------------------------------
" 文字コードの自動認識
if &encoding !=# 'utf-8'
set encoding=japan
set fileencoding=japan
endif
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがeucJP-msに対応しているかをチェック
if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'eucjp-ms'
let s:enc_jis = 'iso-2022-jp-3'
" iconvがJISX0213に対応しているかをチェック
elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'euc-jisx0213'
let s:enc_jis = 'iso-2022-jp-3'
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc
if s:fileencodings_default =~ 'utf-8'
let &fileencodings = &fileencodings .','. s:fileencodings_default
let &fileencodings = substitute(&fileencodings, "utf-8", "utf-8,cp932", "g")
else
let &fileencodings = s:enc_jis .','. s:enc_euc ,', cp932'
let &fileencodings = &fileencodings .',cp932,'. s:fileencodings_default
endif
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)#39;
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
function! AU_ReCheck_FENC()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding=&encoding
endif
endfunction
autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
set ambiwidth=double
endif
"--------------------------------------------------------------------------------
が最近文字化けが発生するようになりました。思いあたるのは Vim をバージョンアップしたぐらいなのですが、とにかく文字化けはストレスが溜るので次のように変更しちゃいました。

"-----------------------------------------------------------------------------
" 文字コード関連
set encoding=utf-8
set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
    set ambiwidth=double
endif
"-----------------------------------------------------------------------------
いまのところ誤判定もなくファイルを開くことが出来ています。時間があるときに見直したいと思います。