vim-users.jp

Hack #181: Vimで使い捨てのファイルを作成する

Posted at 2010/11/03
このエントリーをはてなブックマークに追加

ちょっとしたメモを取ったりしたいとき、いちいちファイル名を付けていられません。ここでは簡単に使い捨てのファイルを作成する方法について検討をします。

:enewを使う

まず考えられるのが、:enewコマンドを用いることです。何も特別な設定はいらず、任意のキーにマッピングをしておけば、便利に使えるのですが、バッファを切り換えてしまったときに内容が失われてしまうという欠点があります。これのおかげでよく事故が起こったため、私は使用していません。

scratch.vimを使う

次に考えられるのは、kanaさんの作成したscratch.vimを用いることです。 これはEmacsライクなscratchバッファをVim上に実装したものです。しかしfiletypeがvimに固定されてしまうため、Vim scriptの実験には良いのですが、ちょっとしたスクリプトを書くのには向きません。

howmを使う

howm-mode.vimを用いるという手もあります。ただし、これはメモ書き専用なので、スクリプトを書くのには向きません。

:JunkFileを用いる

私は次の:JunkFileコマンドを使っています。このコマンドを実行すると、~/.vim_junkディレクトリに日付の名前が付いたファイルを自動生成します。 ファイルには拡張子を与えることができるので、使い捨てのスクリプトを書く際にも有用です。もちろん、:setfiletypeを用いて手動でfiletypeを設定することもできます。thincaさんの作成したquickrunを用いれば、スクリプトの実行も簡単です。ファイルは保存されているので、ちょっとしたメモ書きにも使えます。 私はunite.vimfile_mruで以前のメモを参照する、ということをよくやります。何かのキーにマッピングしておくと良いでしょう。

" Open junk file."{{{
command! -nargs=0 JunkFile call s:open_junk_file()
function! s:open_junk_file()
  let l:junk_dir = $HOME . '/.vim_junk'. strftime('/%Y/%m')
  if !isdirectory(l:junk_dir)
    call mkdir(l:junk_dir, 'p')
  endif

  let l:filename = input('Junk Code: ', l:junk_dir.strftime('/%Y-%m-%d-%H%M%S.'))
  if l:filename != ''
    execute 'edit ' . l:filename
  endif
endfunction"}}}

このスクリプトはるびきちさんのopen-junk-file.elにインスパイアされました。

Shougo

もどる
blog comments powered by Disqus