vimのスクリプトでreadfile/writefileでファイルの読み書きをリストオブジェクトを通して出来ると知り、そのへんをいじっていて「ディレクトリの存在を知りたい」と考えるようになりました。 しかし、そのような関数はざっと見たところ見つからないです。 http://d.hatena.ne.jp/dullhiko/20091008#p1 あります。 let tmp = isdirectory('hoge') ついでにファイル関係のチェックをする関数の紹介。 ディレクトリが存在するかどうか isdirectory({dir}) 上で紹介したやつ。mkdir({name}) って関数もあるのでなかったら作るとかもこの組み合わせで可能。 ファイルが読み込み可能かどうか filereadable({file}) ファイルの存在チェックもするので、fileread() で読めるかをチェックした
Vim を 256 色で使いたい 2007-06-30-2: [Vim][Solaris] 以前ターミナルを 256 色にしたのですが,せっかくなので Vim も 256 色で使いたいと思って以下のようなスクリプトを書きました. #!/usr/bin/env perl use strict; use warnings; my $fg = "\x1b[38;5;"; my $bg = "\x1b[48;5;"; my $rs = "\x1b[0m"; my $color = 0; for (my $row = 0; $row < 32; ++$row) { for (my $col = 0; $col < 8; ++$col) { print get_color($color); $color++; } print "\n"; } sub get_color { my ($color) =
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
趣旨 ファイルアップロードを劇的に楽にするおなじみ file_column プラグイン。作者の Sebastian Kanthak さんは、現在 Google にお勤めの凄腕ハッカー。写真を見る限りは、なかなかのイケメンである。(日本のハッカーで誰が一番イケメンかなあ) それはさておき、file_column の validation では、ファイル種別やファイルサイズによるチェックが可能である。しかし、英語でしかメッセージを表示してくれない。そこで、エラーメッセージを自分で設定できるようにハックしてみた。 使い方 モデルクラスで、 file_column :image include FileColumn::Validations validates_file_format_of :image, :in => ["gif", "png", "jpg"], :message => "のファ
巨大なファイルを使ってディスクやネットワークの速度を測定する ディスクやネットワークなどの性能(速度)がどのくらい出ているかを手っ取り早く調べるには、ある程度大きなデータファイルを用意しておいて、その読み書き速度や送受信速度を調べると簡単だ。 厳密なベンチマークツールがなくても、ファイルをコピーさせながら、その速度をタスクマネージャーやパフォーマンスモニターで見たり、完了するまでの時間を測定したりするだけでも大まかな速度は計測できる。 これを行うには、数十~数百GB以上のサイズのテストファイルが必要になる。本Tech TIPSでは、「fsutil.exe」というコマンドを利用して、こうした巨大なファイルを簡単かつ素早く作成する方法を紹介する。 fsutilコマンドで巨大なファイルを作成する Windows OSで巨大なファイルを作成するには「fsutil.exe」というコマンドがとても便利
おそらく、誰もがやる深夜のWebサーフィンは、究極のところ時間の無駄ではないのかもしれない。 それは、Webで夢をみているのにほかならないのだ。(T.B=リー「Webの創成」より) 最近はRailsからちょっと離れ、素のRubyでいくつかライブラリの使い方なんぞを調べています。 Rubyのスクリプトを書くのに以前はRDEを使っていたんですが、せっかくなのでこれもVimに移行してみました。 とはいえデバッグ周りの便利なGUIは一切無いので、あくまでちょっとしたスクリプトを書く程度の使い方になります。 通常の実行方法? 通常Rubyの使用できる環境であれば、以下のコマンドを実行することで現在開いているファイルをRubyで実行できます。 :!ruby % Windowsのコマンドプロンプトが別窓で立ち上がり、コマンドラインから実行したときと同じような状態で実行結果が表示されます。 :!rubyコ
CPU使用量も控えめなフル画面デュアルモニター再生対応の、最新Flashプレーヤーのベータ版が、最近Adobeからリリースされました。しかし、これをGoogle Chromeで利用するには、ちょっとした操作が必要になります。 Chromeに10.2(ベータ版)をインストールすると、ちゃんと検出はされるものの、Chromeはビルトインされているバージョンを使います。ベータ版を利用するには、Chromeを起動させてから、アドレスバーに「about:plugins」と入力し、右上の角にある「Details」ボタンをクリックします。すると、冒頭画像のように、Flashのセクションにプラグインが2つ表示されるはずです(一つはChromeのフォルダで、もう一つはその他の場所)。 Chromeフォルダにある方を、「Disable」をクリックして無効化し、プラグインウィンドウを終了させます。これで設定は完
VimにはNetrwという、非常に便利なファイルブラウザがあります。 SSHでサーバーにアクセスしてファイルを編集するなど、ターミナル上で作業をする人は、"ls"とか"cd"コマンドを駆使して作業をしていると思います(Emacsを使ってる人はともかく)。これはこれでいいのですが、やはりいちいちコマンドを打たないとファイルが見れない、カレントディレクトリを変更できないなど不便な点があります。ところが、Vimのファイルブラウザを使うと、GUIで作業しているかのようにディレクトリを移動したりファイルを開いたりできるのです。もちろんVim上なのでシェルコマンドも実行できます。 というわけで、その使い方をメモ程度に記します。 ブラウジングを始める 以下のコマンドを打てば、ファイルブラウザが起動します。現在のバッファが編集中(保存していない)の場合は、水平方向に分割して表示されます。 :Explore
複数のウィンドウで複数のバッファを開いている時に、 指定ウィンドウのバッファを、 ウィンドウのレイアウトを崩す事無く閉じる機能を提供するスクリプトです。 (Windows, Mac) 概要 vim online Tip #622: Deleting a buffer without changing your window layout http://www.vim.org/tips/tip.php?tip_id=622 複数のウィンドウで複数のバッファを開いている時に、 あるウィンドウのバッファを閉じると、 ウィンドウのレイアウトが崩れてしまいますが、 このスクリプトを使用すると、 指定ウィンドウのバッファを、ウィンドウのレイアウトを崩す事無く閉じることができます。 ↑上の状況で、レイアウトを崩さずバッファを消す事ができる。
mod_rewriteを使う場合、URLに「%2F」が含まれるとApacheの設定によっては思い通りに動作しない可能性があります。 mod_rewriteについては第15回のメーリングリストを参照していただくとして、まずは以下のようなURLを考えてみましょう。 http://example.com/search/keyword%2Fkeyword ここでは、以下のようなルールで変換を行うとします。 RewriteEngine On RewriteRule \/search\/(.+)$ /search.php?q=$1 [L] また、search.phpはmod_rewriteの動作確認用に、以下のような簡単なコードを使用するとします。 <?php echo $_GET['q']; ?> 先ほどのURLにアクセスした場合、search.phpを呼び出して「keyword%2Fkeyword
通常なら他のツールと組み合わせたり、2~3ステップが必要な処理もzshの多様な展開処理を用いれば一発で結果が得られることが多い。 エイリアス エイリアスは手軽に設定できすぐに効果が得られる便利な機能である。他のシェルでも使える基本的なエイリアスの他に、zshには以下のエイリアスが用意されている。 接尾辞エイリアス グローバルエイリアス 接尾辞エイリアス 接尾辞(suffix)エイリアスは、ファイルの拡張子とそれを開くアプリケーションプログラムの関連付けとも言える機能で、特定の拡張子を特定のプログラム起動に結び付ける。接尾辞エイリアスは alias -s で登録する。 alias -s pdf=xpdf とすると、拡張子が ".pdf" のファイルをコマンドラインのコマンド位置で「起動」するとxpdfを起動して開く。 % ls foo.pdf hoge.pdf % foo.pdf zsh:
男のbashユーザーが、バラ色の紳士こと漢のzshに乗り換えたときに アッーってなるコト事を先ほどいくつか思いついたので共有する。 !!とかの履歴実行はrコマンドで zshには、r というシェル組み込みコマンドがあって 履歴からの実行が簡単に行える。 たとえば、一番最後に実行したviコマンドを実行したいときなどだ。 bashなんかだと !vi で出来るのだが、 rコマンドだったら % r vi でよい。 直前に実行したコマンドを再び実行したいとき、 bashなんかだと !! というやり方になるが、 rコマンドでは、 % r とするだけでよい。 また、文字列を置き換えてからの履歴実行はどうだろう。 たとえば次のようなbashの例だ。 $ vi .zshrc $ !vi:s/zsh/bash/ これは、最後に実行したviコマンドの引数文字列を ":s/zsh/bash/" によりzshという文
祖母の白寿のお祝い 先日、満99歳(数えで100歳)になった祖母の白寿のお祝いをやった。 さすがに身体のあちこちに不具合が出てきており、そろそろ本格的に外出も難しくなってきたので祖母と一緒に家族で集まれるのはたぶんこれが最後だろう。 下は0歳から上は99歳までいるので、移動と諸々…
sshのポートフォワーディングを毎回コマンド打って起動するのが面倒なので,接続を維持するためのシェルスクリプトを書いた. #! /bin/sh while true; do # ここにフォワーディングのコマンドを書く ssh -C -N -L 50143:localhost:143 hostname sleep 1 done といっても,たいしたことなくて,無限ループの中でプロセスを起動してるだけ.プロセスがなんらかの理由で終了したらループが回って起動しなおす. このままだと,ネットワークがないとsshが失敗しまくって無駄が多いので,一定試行回数を超えたらしばらくおとなしくなるようにする. #! /bin/sh TRYCOUNT=0 TRYMAX=5 while true; do # ここにフォワーディングのコマンドを書く ssh -C -N -L 50143:localhost:143
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く