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

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

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

: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
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #181: Vimで使い捨てのファイルを作成する
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://vim-users.jp/2010/11/hack181/trackback/
Listed below are links to weblogs that reference
Hack #181: Vimで使い捨てのファイルを作成する from Vim-users.jp
trackback from zukunasi*net 12-01-16 (月) 0:10

vimで使い捨てファイルを作成してメモをとる

今まで、使い捨てファイルは「scratch.vim」を使用していましたが、vim-users.jpで紹介されていたのでこれを機に使い捨てファイルはJunkFileに移行したのでメモ。 方法は、.vimrcに以下を追加。 …

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

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top