vimrc読書会#3に参加した

今回のハイライト
zencodingは好き嫌いが分かれる。

shim0mura
htmlコーディング、zencoding以外だと皆さん何使ってます?

anekos
気合とか使います。

thinca
手 打 ち

manga_osyo
HTML
使ったことがないワン

Lindan
ぽちぽちと…

shim0mura
!?

basyura
neocomplcache

vimrc読書会とは?

Github上にある誰かのvimrcをみんなで見ながらワイワイすること。
Lingrvim部屋で行われています。
vim-users.jp – Lingr
過去ログにも残っています。
http://lingr.com/room/vim/archives/2012/07/21

今回のvimrc

sigwygさんのvimrcが対象でした。
https://github.com/sigwyg/dotfiles/blob/8c70c4032ebad90a8d92b76b1c5d732f28559e40/.vimrc

感想とか

いくつかパクらせてもらいました。

set paste

LeafCage
Sig.:>pasteモードはわりと保険的な意味で使ったりします。インデントされてうざいときとか
pasteモードだとオートインデントされないんですか?
guiでも

Sig.
されないですね
thinca
されないですね

thinca
pasteモードはそもそもクリップボードなどから挿入モードに文字を流し込むためのモードなので、インデントやキーマッピングなどが一切効かなくなります。

前は書いていたのだけどこの前整理した際に消えてたみたい。
それに気付けた。

set statuslineの%P

:help statusline

  p N   現在行がファイル内の何%の位置にあるか (|CTRL-G| と同様)
  P S   現在表示されているウィンドウ内のテキストが、ファイル内の何%の位

パーセント表示付けてみた。

[51/65,55%]って部分。

HTMLを編集しているときは実体参照へ変換

いただきました。

augroup HTML
  autocmd!
  autocmd FileType html set tabstop=2 shiftwidth=2 softtabstop=2
  autocmd BufEnter ***if &filetype == "html" | call MapHTMLKeys() | endif
  function! MapHTMLKeys(...)
    if a:0 == 0 || a:1 != 0
      inoremap \\ \
      inoremap \& &
      inoremap \< &lt;
      inoremap \> &gt;
      inoremap \. ・
      inoremap \- &#8212;
      inoremap \<Space> &nbsp;
      inoremap \` &#8216;
      inoremap \' &#8217;
      inoremap \2 &#8220;
      inoremap \" &#8221;
      autocmd! BufLeave ***call MapHTMLKeys(0)
    else
      iunmap \\
      iunmap \&
      iunmap \<
      iunmap \>
      iunmap \-
      iunmap \<Space>
      iunmap \`
      iunmap \'
      iunmap \2
      iunmap \"
      autocmd! BufLeave *
    endif
  endfunction
augroup END
適当なファイルを開くショートカット

独自で書いていたやつがあるんですが、それよりもいい感じだったのでいただき。
元ネタはvim-users.jp

" @see http://vim-users.jp/2010/11/hack181/
function! s:open_sandbox()
  let dir = $HOME . '/.vim_sandbox'
  if !isdirectory(dir)
    call mkdir(dir, 'p')
  endif

  let filename = input('New File: ', dir.strftime('/%Y-%m-%d-%H%M.'))
  if filename != ''
    execute 'edit ' . filename
  endif
endfunction
command! -nargs=0 Sandbox call s:open_sandbox()
.vimrcをもとに戦闘力を導きだすネタ設定

これは該当ファイルではなくLingrの会話の中から。
知ってはいたけど入れてなかった。
なんかパワーアップがあるよということと、興味をひかれて入れてみた。
新型スカウターを開発した - 永遠に未完成
リポジトリはこっち。
https://github.com/thinca/vim-scouter

実行してみると545だけど、練習用スクリプトも含まれているのでそれを消したら414だった。
Vim-users.jp - Hack #39: Vimの戦闘力を計測する
初級者だった。

textmanip

知らなかったので入れた。
Vim-users.jp - Hack #223: テキストを直感的に移動、複製する

前回は傍観、今回は会話参加してみたけど、会話に参加した方がより面白かった。
前回感じたごちゃごちゃ感はなかった。慣れたのかもしれない。

次回は2012/07/28(土) 23時からいつもと同じLingr(上述)で行われます。