Hatena::Groupcside

Cside::StudyMemo このページをアンテナに追加 RSSフィード

メインブログに書くまでもない自分用メモを垂れ流す。日々是勉強也。

カテゴリー

2012-10-12

[]vimdiff、fugitive.vim いれてから使わなくなった

あとで書く

2012-05-02

[]imap とか nmap みたいなのまとめ

Mapping keys in Vim - Tutorial (Part 1) | Vim Tips Wiki | FANDOM powered by Wikia

:nmap - Display normal mode maps
:imap - Display insert mode maps
:vmap - Display visual and select mode maps
:smap - Display select mode maps
:xmap - Display visual mode maps
:cmap - Display command-line mode maps
:omap - Display operator pending mode maps

普通の感覚なら vmap == visual mode maps だろ。vmap == (visual|select) mode maps で visual mode map は xmap ってオメェ・・・。

[]Uniteのsourceメモ

忘れる。おもにドキュメントからコピペ

fileカレントディレクトリのファイル(lsの実行結果と同じ)
file_mruused recently
file_recls -R とか find . の実行結果と同じ(うっかりホームディレクトリとかでやるとフリーズする)
file_rec/asyncSame as "unite-source-file_rec". But get files by asynchronously. Note: This source requires vimproc and external "ls" command.

で、どれ使うか

いろいろ検討した結果これにした。僕はまとめて開きたい派です。(sourceごとにコマンド割り当ててる派もあるっぽいけど)

nmap <C-l> :Unite -buffer-name=files buffer file_mru file_rec/async file/new<CR>

2012-04-29

[]色の微調整(適用されてる色の確認)

vim/gvimの色設定について - fudist

:hi

http://gyazo.com/973ece4b027a1b7f7c1cb449996b60b0.png

nanto_vinanto_vi2012/05/09 23:36プロトタイプの取得にはprototype関数を使うのが簡単と思います。
http://perldoc.perl.org/functions/prototype.html

CsideCside2012/05/10 07:06ありがとうございます!知りませんでした…。

2012-03-18

[]ソースを読むだけのときは最小限の.vimrcを読み込むようにして起動を高速化する

vimの起動が最近重くなってきたので mattnさんが最近作ったやつ とか vim --startuptime とかで重いところを洗い出してみたのだけど、どうもネオコンのセットアップに500〜700msぐらいかかってるようだった。

ネオコンはソースを開いて読むだけの用途でvimを使うときは読み込ませたくないなぁと思って、それがどうすれば出来るか考えてみた。

結局、.vimrc を 読むときに必要なものと書くときに必要なものに分割して、.vimrcは

source ~/dotfiles/.vimrc.read
source ~/dotfiles/.vimrc.write

の二行だけにした。

で、読むだけのときは vim -u ~/dotfiles/.vimrc.read <filename> で開く。毎回打つのはあほくさいので、.zshrc に

alias vi="vim -u ~/dotfiles/.vimrc.read"

とか適当なエイリアスを貼った。

以後、ソースを読むだけの時は vi <filename> 、読み書きするときは vim <filename> とすればいい。読むだけモードの起動が体感でもだいぶ早くなって快適。

yuku_tyuku_t2012/03/18 21:26次回の記事が「readモードで起動したあとでwriteをしたくなった時簡単にvimrc.writeを読み込む設定にキーバインド振った」的なのになると勝手に予想

CsideCside2012/03/18 21:30実はもう command! W :source ~/dotfiles/.vimrc.write を用意してたりします…

yuku_tyuku_t2012/03/31 23:11ずっと気になってたんだけど、なんでこれで起動が早くなるんだろうね。
だって、.vimrc.writeを読みこまなくたってpluginは勝手に全部読み込まれるわけで、.vimrcが数十行増えた所でpluginの読み込みのほうが支配的な気がするんだけど。
pluginの読み込みより、設定の読み込みの方が重たいってのは、何か設定のしかたが間違ってるんじゃないかという気がしてくる。

CsideCside2012/04/01 19:59お、てっきり Bundle "hoge" したものだけ読み込まれるものだとばかり。
であれば、起動時にネオコンをauto onにする設定が.vimrc.readにあるせいですね。あれがぶっちぎりで時間食ってるので。

2012-02-14

[]スニペットのinsertが出来なかった件

E117: Unknown function: neocomplcache#sources#snippets_complete#expandable
E15: Invalid expression: neocomplcache#sources#snippets_complete#expandable() ? "\<80><fd>S(neocomplcache_snippets_expand)" : "\^K"
Press ENTER or type command to continue

どうしたものか…。

soh335soh3352012/02/15 09:42https://github.com/Shougo/neocomplcache-snippets-complete

CsideCside2012/02/15 09:48ぐえ、別プラギンだったのですか…。あざす!!

2012-01-12

[][]VimでCoffeeScriptをリアルタイムプレビュー

GitHub - kchmck/vim-coffee-script: CoffeeScript support for vimをBundleなどで入れる。

シンタックスハイライト

vim-coffee-scriptを入れたら自動でされるのだけど、なぜか自分の環境では色がつかなかったので以下を設定。

autocmd BufNewFile,BufRead *.coffee set filetype=coffee

リアルタイムプレビュー

これヤバい。

au BufWritePost *.coffee :CoffeeCompile watch vert

.js ファイルに自動コンパイル

au BufWritePost *.coffee silent CoffeeMake! -b | cwindow | redraw!

あとvim-coffeescriptには :CoffeeRun っていうその名のごとくCoffeeを実行できるコマンドがあるけど、$ coffee [filename] でも実行できるっぽくて普通にQuickRunできたので今回は使わず。

Coffee使うのに便利そうな機能いっぱいあったのでまたvim-coffeescriptのリファレンスを折に触れて読み返してみる。

2012-01-11

[]Haml, SCSS, CoffeeScriptをVimで保存時に自動コンパイル

これ誰もが何らかの方法でやってると思うんだけど、どの方法が一番ベタなのか分からなかった。watchrとか使うことが多いのかな?


自分はこのようにした。

まず、$ compile_haml foo.haml でコンパイル済の foo.html を作ってくれるコマンドを作る。パスの通った適当な場所に compile_haml として置き、実行権限を与えとく。

#!/usr/bin/env perl
use strict;
use warnings;
use Path::Class;

$SIG{__WARN__} = sub {};

my $in_file = file(shift);

my $info = {
    haml   => { compiler => 'haml',   suffix => 'html' },
    scss   => { compiler => 'sass',   suffix => 'css'  },
    coffee => { compiler => 'coffee', suffix => 'js'   },
};

my $out_dir = $in_file->dir;
my ($name, $suffix) = split /\./, $in_file->basename;
my $new_path = "$out_dir/$name.$info->{$suffix}->{suffix}";

system(
    $info->{$suffix}->{compiler},
    $in_file->stringify, # in_file
    $new_path,           # out_file
);

で、このコマンドをVim保存時に実行するように .vimrc にこのように書く。

function! CompileHaml()
    silent exe ":! perl ~/local/bin/compile_haml %"
endfunction

au BufWritePost *.haml,*.scss,*.coffee call CompileHaml()

h2uh2u2012/01/11 17:36compilerプラグインを書いてBufWritePostでsilent makeするのがメジャーなんじゃないですかね?quickfixも使えるし。

CsideCside2012/01/11 18:19おお、なるほど。参考になります、ありがとうございます。

2011-09-11

[]Surround.vimを使う

(カーソル位置が * とする)

foo 'b*ar' baz
ds '' を消す
*foo, bar
ys$(行末まで () でくくる
ysw[fooだけ [] でくくる
yss{行全体を {} でくくる
ビジュアルモード選択時
S{選択範囲を {} でくくる
<div><p class="comment"><strong>f*oo</strong> bar</p></div>
dst一番内側のタグ削除
ysst<div class="foo"><div class="foo"> で囲む
cst<p>一番内側のタグを <p> に置換