定期保守ageなWinSCP
最もお世話になっているオープンソースのソフトを挙げるなら、テキストエディタのxyzzyよりも、SFTP/SCPクライアントのWinSCP かもしれません。
なぜなら、WinSCPがなかったらWindows上のエディタは使うことがないからです。
2ちゃんねるのWinSCP板は、定期的な保守age によってかろうじて維持されている過疎板で、使用ユーザーはよほど少ないと思われます。
SSHでのリモート・プログラミングというニーズゆえ、仕方がないことでしょう。
私の駄ブログでユーザーが増えることもないでしょうが、ちょっと紹介エントリーを書いてみようかと思います。?
?
WinSCPは一般のファイル転送ソフトのように、2画面ファイラーのインターフェース(WinSCPではノートンコマンダー形式と呼ぶ)も持っていますが、私はエクスプローラ形式のインターフェースを選択して使用しています。
?

?
WinSCPには、リモート側のファイルを好みのWindowsエディタで編集する機能があるので、ローカル側のウィンドウは必要ありません。
そのリモートファイルの編集は、テンポラリフォルダに一時ダウンロードしてエディタによる保存更新を監視することで実現しています。
似たような機能のソフトにNoFTPというフリーのFTP転送ソフトがありましたが、テンポラリファイルを編集していることをまったく意識しないで済む点で、WinSCPの機能はとてもよくできています。
?
WinSCPはFTPも扱うことができるので、SSH以外のレンタルサーバー管理もこれ一本で私は済ませています。
しかし、今のところFTPではキープアライブが働かないなどの問題もありますし、FTPしか使わないのであればWinSCPは合わないかもしれません。
?
?
WinSCPの恩恵は、SSH経由でのリモート・プログラミングに必要なコマンドを、ツールバーに登録することでより発揮されます。
参考までに、私がツールバーに登録しているコマンドをさらします。
ちょうど今、開発環境のバージョン管理がRCSからSubversionに移行している途中なので、両方のコマンドが登録されています。?
現状で社内サーバーをtelnetでメンテしているなら、たとえイントラネットであってもSSHに変更すれば、UNIXのコマンドプロンプトから脱することもできる……かもしれません。
?
| Grep | find . -type f -print0 | xargs -0 -e grep -n -e “!?パターン検索?!” | grep -v /RCS/ | grep -v /\.svn/ | grep -v /tmp/ | grep -v /save/ |
|---|
?
| Update | snv update |
|---|---|
| Checkout | svn checkout !?リポジトリ?! |
| Commit | svn commit -m “!?メッセージ?!” |
| Diff | svn diff |
| Status | svn status |
| Revert | !?OK or Cancel?!svn revert “!” |
| Add | !?OK or Cancel?!svn add “!” |
- RevertとAdd、およびRCSでの-uと-cに加えている入力プロンプトは確認ダイアログの代用。
?
| CO | co -l -q “!” |
|---|---|
| CI | ci -u -m”!?メッセージ?!” -q “!” ;make -s |
| -u | !?OK or Cancel?!co -u -f -q “!” |
| -c | !?OK or Cancel?!REV=`rlog !|grep head:|sed ‘s/head: //’`;rcs -o$REV -q !;co -l -q ! |
| rlog | rlog “!” |
| &diff | rcsdiff -r!?リビジョン番号?! “!” |
| ref | co -r!?リビジョン番号?! -p “!” |
- 各コマンドの-q は、WinSCPがエラーを受け取らないための対策。
- diffの & は、svnのDiffと同名だと登録できないための対策。
- -u はチェックアウト後の編集を破棄してロック(EmacsのC-x v u)
- -c は最後のチェックインを取りやめて編集継続(EmacsのC-x v c)
?
| make | make |
|---|
?
Emacs の C-x v c にあたる -u コマンドを実施すると、1個前のリビジョンに戻った状態でチェックアウトされデータ上は最新の変更が失われます。最後の変更状態から編集を継続するには、事前にエディタで編集状態にしておきます。
開きなおしてヘッダのリビジョン番号が進んでしまった場合は、手作業で番号を戻さなければならないのも、Emacsと一緒です。
