<< OperaでTiddlyWik... Opera でTiddlyWi... >>
 

VimをUSBメモリに入れて持ち運ぶ

お知らせ


2007年9月16日に改良したバッチファイルを公開しました。よろしければ、次の記事もご覧下さい。

ぽっとの陽だまり研究室 : Vim - USBで起動するバッチファイルの改良



はじめに

VimをUSBフラッシュメモリに入れて持ち運んで利用する方法についてです。私にとってのVimは情報を整理する環境であり,メモやデータベース,GTDなどをこなすための重要なツールとなっています。このVimをUSBフラッシュメモリで利用することで,重要な情報を持ち運ぶことができます。(もちろん落しても良いように暗号化してあります。さらに持ち運びが危険な情報などはUSBには入れていません)

このVimをUSBメモリに入れて起動する方法についての簡単な説明です。
なお、Windowsユーザを対象としています。


基本的な方法



1. 以下の内容を記述した gvimusb.bat ファイルをVimと同じフォルダに入れます。

gvimusb.bat


@echo off
set VIM=%CD%
set HOME=%CD%
set path=%CD%;%path%
start gvim.exe



2. 先ほど作成した gvimusb.bat ファイルをダブルクリックして起動します。
a0031863_1513182.gif



HOMEフォルダをUSBのルートのdataに指定する方法


データをUSBの特定のフォルダに指定する場合はgvimusb.bat ファイルは以下の通りになります。
gvimusb.bat


@echo off
set VIM=%CD%
set path=%CD%;%path%

cd \
set HOME=%CD%data

cd %VIM%
start gvim.exe





コンソール版vim.exe を実行する方法


先ほどのファイルのstart gvim.exeを vim.exeに変更するだけです。vimusb.batを作成し以下の内容を記述して下さい。

vimusb.bat


@echo off
set VIM=%CD%
set HOME=%CD%
set path=%CD%;%path%
start vim.exe




解説

Windowsのバッチファイルでカレントフォルダを取得する方法は%CD%を用いるのが便利です。%CD%の説明はDOSコマンドラインにてset /? と入力することで得られます。%CD%の説明は以下のとおりになっています。


%CD% - 現在のディレクトリ文字列に展開します。


この%CD%でカレントフォルダを取得し、Vimを起動する際に$VIM、つまり環境変数のVIMに指定してからVimを実行しています。直接バッチファイルからvim.exeを起動すると、Vimが終了するまでバッチファイルが待機し、DOS窓が表示されたままになります。

そこでstartコマンドを用いてVimを実行し、DOS窓で待機しないように実行を行ってます。

短いバッチファイルですが、このようなことを考慮して作成しております。他のプログラムでもUSBで動かす場合に同様な方法が使える場合もあります。また、substを利用してUSBメモリのフォルダを仮想ドライブに割り当てて、常に同じドライブから起動するテクニックもありますので、USBメモリで動作させたい場合などに利用すると良いでしょう。

最後に


バッチファイルでの実装はカレントフォルダを取得して実行する方法です。したがってエクスプローラ上から起動するのではなく,ショートカットで起動する場合はカレントフォルダが実行ファイルのフォルダでは無くなり思ったように起動しません。そのような場合はカレントフォルダを取得できるようなプログラムを作成すると解消します。しかし,実際はUSBフラッシュメモリのフォルダを開いてから実行することで起動ができますので,この方法でも十分に利用できると思います。

[PR]
記事の下の方に広告が表示される場合があります。この広告はエキサイトの広告枠です。
by potto37 | 2007-04-07 15:13 | Trackback | Comments(0)
トラックバックURL : http://potto.exblog.jp/tb/5374850
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
<< OperaでTiddlyWik... Opera でTiddlyWi... >>
掲載の記事や画像などすべての複写・転載・公衆送信等はご遠慮ください。