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

2014/07/11

tmuxとvimとpbcopy

peco/peco が便利で色々と設定をしていたら、vim のヤンク→ペーストが出来ない場合があることに気づいた。
どうも、tmux から呼び出した vim でクリップボード連携をしていると動かないらしい。
あと pbcopy も動かなかった。
調べてtmux上で起動したvimでヤンクする時にクリップボードを使う - takanamitoのブログを参考に解決したのでメモ。
# reattach-to-user-namespace をインストール
% brew install reattach-to-user-namespace

# .tmux.conf に設定追加
% echo 'set-option -g default-command "reattach-to-user-namespace -l zsh"' >> ~/.tmux.conf

# Brewfile にも忘れずに追加
% echo 'install reattach-to-user-namespace' >> ~/src/github.com/pinzolo/env/Brewfile
これで tmux からの vim や gvim でクリップボードが使えるし、pbcopy も正常に動きます。

2014/06/19

MacVim の Ruby 連携

MacVim で Ruby との連携がいつの間にか取れなくなって、結構前から todesking/ruby_hl_lvar.vim が動かなくなっていた。
どうも Release MacVim-KaoriYa 20140501 · splhack/macvim から動かなくなったようだ。
Ruby 2.1 をインストールして RUBY_DLL を設定しろとあるが、ここらへんを参考にしても動かない。
そもそも、libruby.2.1.dylib が存在していない。
dylib を作るためには、--enable-shared オプションを付けてビルドするという情報を見つけ、Ruby2.1.2を入れなおした。
CONFIGURE_OPTS="--enable-shared --with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.1.2
しかしそれでも libruby.2.1.dylib は作成されない。
ひたすらぐぐってこの一連のやりとりを見つけたので、プレリリースでもこの際仕方ないとRelease MacVim-KaoriYa 20140514 · splhack/macvimを入れたらあっさり連携した。
ローカル変数にも色がついた。
次の本リリースまではこれでいこう。

2013/12/29

今開いているファイルの *** をレジスタに

.vimrc にこんなのを書いておくと結構便利だった。
クリップボードと連携しておけば、さらに捗る。

2012/12/07

git config --global push.default simple したら neobundle.vim でエラーになった

git push したらwarningがでた

warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

そういえば git の push.default を設定していなかったので、simpleに設定しておいた。

git config --global push.default simple

vimを起動したらwarningがでた

This is old version of neocomplcache-snippets-complete.
This is no longer maintained.
You should use neosnippet plugin instead of it.
https://github.com/Shougo/neosnippet

neocomplcache-snippets-complete は古いから neosnippet 使えよということらしい。
.vimrc から

NeoBundle 'Shougo/neocomplcache-snippet-complete'

を削除して

NeoBundle 'Shougo/neosnippet'

に変更して:NeoBundleInstallを実行した。

エラーになった

/Users/pinzolo/.vim/bundle/neosnippet
error: Malformed value for push.default: simple
error: Must be one of nothing, matching, tracking or current.
fatal: bad config file line 22 in /Users/pinzolo/.gitconfig
Cloning into /Users/pinzolo/.vim/bundle/neosnippet...

simple は push.default の値として不正だからnothing, matching, tracking, currentのどれかにしろと。
普通にgit pullするのは問題ないのになぁ。

simple から currentへ

git config --global push.default current

にして、:NeoBundleInstallしたら成功した。
挙動としては simple の方が好きなんだけど、とりあえず current にしておくか。
neobundle側での原因と対策も調べないとな。

2012/12/06

「'fenc' を空にしてください」エラーが出たら

vimを使っていてこんなエラーが出た。

E513: 書き込みエラー, 変換失敗 (上書きするには 'fenc' を空にしてください)

実際:set fenc=して保存したら保存できたけど、sjis だったのが utf8 になって文字化けしてしまった。
原因は×の代わりに☓(機種依存文字)を使っていたからだった。
このエラーが出たときは、機種依存文字や、現在の文字コードにない文字を使用していないかどうか確認しよう。

2012/09/21

vimで保存するときにマジックコメントを埋め込む

最近ちまちまと.vimrcを再構築している @pinzolo です。

Ruby1.9+Railsで開発しているとちょくちょくやらかすのがのがエンコーディングの指定忘れ。 rails gで作られるファイルはマジックコメントがないので日本語入力して実行したらエラーになるわけですな。

んで世のエンジニアはそれをどう解決するかというのを調べてみた。

  1. ショートカットで先頭にマジックコメントを埋め込む
  2. magic-commentermagic-encodingのようなツールで一括付与

というのが結構多かった。 でも、1.は忘れることがあるし、2.はジェネレートするたびに行うのはめんどくさい。 じゃあどうするのが一番いいかと考えたら、保存時に追加されるのが一番だと思った。

エディタで保存を実行しないファイルは編集をしないのだからマジックコメントなくても問題無いわけだ。

class HogeHelper
end

こんなファイルはマジックコメントをいちいち付けなくていいや。というスタンスです。 というわけで、.vimrcに保存時にマジックコメントを追加する処理を書いてみた。

vimscriptなんて今までろくに書いたことがなかったからなかなか大変だった。以下、気にしたポイント。

  • 対象とするのは ruby, ERB, Haml の三種類。
  • ruby の場合は shebang の存在も考慮する。
  • すでにマジックコメントが存在する場合は付与しない。
  • マジックコメントは 1 行目。shebang があるときは 2 行目。
  • マジックコメントの形式は emacs 形式にしようか迷ったけど、自分の環境では vim しか使わないからまあいいや。

ソースコードは間違ってないと思うのだけど、いざ保存すると必ず E488 エラーがでる。
正直なんでかわからん。有識者の方々教えてください。
動作に影響はないからとりあえずこのままにしてる。エラーメッセージがうざかったらとりあえず :silent! つければいいや。

とまあ、微妙に不完全なシロモノですがよければお試しください。

2010/11/11

unite.vim で :UniteWithInput 時に tab で補完がきかなくなった

vim で unite.vim を愛用しているんだけど、最新に更新したら使いにくくなった。
Rails 開発時の使い方はこんな感じ
・vim を立ち上げたら :cd $RAILS_ROOT/app でカレントディレクトリを app ディレクトリへ
・C-f に :UniteWithInput file を登録してあるので、状況に応じて C-f
・cont<tab><enter> で unit.vim のウィンドウに controllers ディレクトリのファイル一覧を表示
・ファイルを絞り込むなり、C-n でカーソル移動なりして開く
だいたいこんな感じで、ファイルのオープンを行ってた。
それが、なぜか tab でディレクトリの補完がきかなくなった(^Iが入力される)
また、ディレクトリ名の入力だけではダメで、最後に / を入れないとディレクトリ内部のファイルを列挙してくれないようだ。
(tabで補完できていた頃は気にしていなかっただけかもしれないが)
ちょっと unite.jax とにらめっこしてこよう。

[追記]
ありがたいことに機能追加していただけました。

2010/11/04

vim で :w は使わず :up を使うようにする

という決意表明。

:w としようとして :wq とやってしまって、せっかくのバッファが全て吹っ飛ぶ。
一日に二、三回やってしまう。

あとこんなのもあるみたい。
vimでファイルの保存に:w使うやつなんなの - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥