Recent Trackbacks

June 2017
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
無料ブログはココログ

お薦めリンク

ウェブページ

NEWS ZERO

  • NEWS ZERO

« 手帳ブログ | Main | 日本の貿易赤字額増大 »

March 18, 2014

エディタの拡張

基本的には、どんなエディタでも拡張可能である。それこそ、Windowsのメモ帳だって。
どうやるか?というと、クリップボードを使えばいい。
変換したいテキストデータをクリップボードにコピーしてから、ツールを起動し、そのツールの中で変換してから、再度、そのデータを、クリップボードに再格納すればいい。
処理ツールは、ショートカットを作っておき、ホットキーを設定してからデスクトップに置けば、感覚的には、エディタ内の機能のように使える。
ま、「気分だけ」であるが。

処理ツールは何でもいい。私は、一番慣れているperlにした。
ActivePerlは、Win32にも対応していて、クリップボードを扱う際も、標準添付のモジュールをスクリプト先頭で読み込んでおくだけでいい。

具体的には、こんな感じ。あちこちのWebをあさった結果である。(感謝)

use strict;
use Win32::Clipboard;
my $clip = Win32::Clipboard();
my $output ='';
#クリップボードから読み込み
my $text = $clip->IsText() ? $clip->GetText() : exit;
#各行に分ける
my @textdata = split /\r\n|\r|\n/, $text;
#1行ずつ取り出し処理する
foreach $_ (@textdata) {
  chomp; #改行コードをカット
  if ($_ eq '') {next;}#空行はパス
  #何らかの処理
  #ここでは、そのまま格納
  $output .= $_ . "\n";
}
#クリップボードへ出力
$clip->Empty();
$clip->Set( $output );
exit;

字下げ部分は、全角空白にしてあるので、そのままでは動かない。全角空白をタブに変換してから使ってほしい。まあ、空行をカットする程度で、ほとんどそのまま出力しているので、たいした意味は無い。

ちなみに、テキスト処理とは、Windowsでは、エディタ内での処理を言う。

世間一般のサーバー管理者にとっては、サーバー管理と密接に結びついていて、欠かせない作業である。エディタ以外にも、様々なツールを駆使して、サーバーの健全さを保っている。

しかし、Windowsでは、話が違う。サーバー管理ツールもGUI化されていて、テキスト処理なんか、まず行わない。たとえ実態が、格納されているテキストを処理しているだけだとしても、である。

まして、大多数の「パソコンを使える人」にとっては、テキスト処理など、一度も行ったことが無いに違いない。

「テキスト処理とは、テキストを入力・編集したり、変換したりする作業のこと」だと言えば、「そんなの、毎日のようにやってるよ」という回答が返ってくることだろう。そして、脳裏には、Wordの画面が浮かんでいるはずだ。

念のため言っておくが、Wordでの作業は、ここで言うテキスト処理では無い。あれは、きれいな出力を得るための下作業である。本当は、Wordでも、テキスト処理は可能だが、そういう人が行っているのは、ここで言うテキスト処理では、決して無い。

よって、Windowsでは、テキスト処理は、ほぼ100%エディタ内で行われていることだろう。
本当は、フィルタだのパイプだの駆使して、コンソール上で行う方が、テキスト処理らしいのだが、Windowsのコンソールは、あまりにも低レベルで、役に立たない。

なので、仕方なく、処理前にファイルに保存し、処理ツールを起動して読み込んで処理し、再度ファイルに出力し、元のエディタに戻って、再読込か貼り付けていることだろう。

それが、ファイルを介さず、クリップボード経由で直接貼り付けられるとなれば、格段に効率がアップする。

エディタの中には、これくらいの処理は、余裕で行える高機能エディタも存在する。しかし、エディタを乗り換えたり、併用している際には、困ることになる。エディタの拡張機能の中には、ほぼ「言語」と言えなくもないものだってあり、一般ユーザーにとっては、敷居が高いことこの上も無い。

それが、あのスクリプトの中核部分に必要な処理を組み込むだけで、実用的な「フィルタ」が、完成する。

おっと、念のため書いておくが、ショートカットのコマンドラインには、perlもフルパスで書いておいた方がいい。オプションの指定もセットで。
各ツールの区別は、ショートカットの名前を変えておけばいい。

この記事は、細かい説明が省いてあり、テキスト処理初心者には、ちんぷんかんぷんなのかもしれない。でも、細かい説明が必要な人が、テキスト処理を行うとも思えないし、スクリプトを自分で作って、ショートカットを作成できるとも思えないので、あえて省略した。あしからず。

要するに、標準出力・標準入力の切り替えがさくっと出来なくて、その代わりにクリップボード使えば、似たような感じになるじゃん、といった趣旨でやってみた次第である。

« 手帳ブログ | Main | 日本の貿易赤字額増大 »

パソコン・インターネット」カテゴリの記事

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/28289/59313421

Listed below are links to weblogs that reference エディタの拡張:

« 手帳ブログ | Main | 日本の貿易赤字額増大 »