◀一般トップへ
  • 3779 エディタ上からのコマンド入力機能追加要望
    • 3781 RE: エディタ上からのコマンド入力機能追加要望
      • 3787 Re2: エディタ上からのコマンド入力機能追加要望
        • 3788 Re3: エディタ上からのコマンド入力機能追加要望
          • 3993 Re4: エディタ上からのコマンド入力機能追加要望
            • 3999 Re5: エディタ上からのコマンド入力機能追加要望
              • 4000 Re6: エディタ上からのコマンド入力機能追加要望
              • 4001 Re6: エディタ上からのコマンド入力機能追加要望
  • [3779] エディタ上からのコマンド入力機能追加要望 yzi 2004年04月07日 19:31

    私はRubyスクリプトを書く時にサクラエディタを使うのですが、いつもエディタ上からコマンドが入力できたら良いなと思うのですが、それらしい機能が見当たりません。できたら追加していただきたいと思います。既出だったらすみません。[既出要望一覧]もリンク切れでしたし。
    • [3781] RE: エディタ上からのコマンド入力機能追加要望 PHOENIX 2004年04月07日 20:35


      >私はRubyスクリプトを書く時にサクラエディタを使うのですが、いつもエディタ上からコマンドが入力できたら良いなと思うのですが、それらしい機能が見当たりません。できたら追加していただきたいと思います。既出だったらすみません。[既出要望一覧]もリンク切れでしたし。
      ツールメニューの外部コマンド実行でできませんか?
      • [3787] Re2: エディタ上からのコマンド入力機能追加要望 yzi 2004年04月09日 16:51

        > ツールメニューの外部コマンド実行でできませんか?
        あれだとどうも面倒ですし、スクリプト内で入力する必要があったりすると途中までで終っていまい、とても不便です。できたらエディタ内でコマンドブロンプトに似たものが開くとか、アウトプットの結果の所に、コマンドを入力すると、続けられるものがあるとありがたいです
        • [3788] Re3: エディタ上からのコマンド入力機能追加要望 げんた 2004年04月10日 03:08

          カーソル行を選択して,選択した内容を外部コマンドとして実行するマクロを作ればなんかできそうな気がします.
          • [3993] Re4: エディタ上からのコマンド入力機能追加要望 とんび 2004年08月09日 10:50

            ▼ げんたさんから引用
            > カーソル行を選択して,選択した内容を外部コマンドとして実行するマクロを作ればなんかできそうな気がします.

            カーソル行を外部コマンドとして実行するマクロはどこかに登録されていますか。

            あるいは誰かつくってくれる人はいませんか。

            自分でサクラエディターのマクロを勉強する元気と能力のないサクラエディターファンです。
            • [3999] Re5: エディタ上からのコマンド入力機能追加要望 すい 2004年08月11日 03:22

              >カーソル行を外部コマンドとして実行するマクロはどこかに登録されていますか。

              個人的に作っては あるけれど公開とかしていない(と思った)のが↓ (SHELLEXE.PPA)
              -----
              // TAB=4
              // 実行には PPA.DLL が必須です。sakura.exe と同じフォルダに ppa.dll を入れておく事。
              // マクロファイルの拡張子は .PPA でなくてはなりません。

              // 選択範囲の文字列をコマンドとして実行する。
              // 何も選択されていない場合にはカーソル行をコマンドとして実行する。

              var
              str:String; // 文字列型変数 str を用意
              begin

              ; // 選択されている文字列を取得する。

              if ( S_GetSelectedString(0) = '' ) then // 選択されている文字列が無い
              begin
              str := TrimRight(S_GetLineStr(0)); // カーソル行の内容を取得 → 末尾の改行を削除(TrimRight)
              end
              else
              begin // 何か選択されている文字列がある。
              str := S_ExpandParameter('$C'); // 選択中のテキスト(1行目のみ取得する)
              end
              ;
              if (str = '') then Exit;

              // MessageBox('['+str+']','',0); // for DEBUG

              // Exec(str,'',False); // コマンド実行 ← あまり上手くいかない
              // Shell(str,''); // 関連付け実行処理 ← あまり上手くいかない

              S_ExecCommand(str,0); // 外部コマンド実行
              // Exec( 'command.com' , ' /c '+str , False); // Windows 95/98/Me
              // Exec( 'cmd.exe' , ' /c '+str , False); // Windows NT/2000/Xp

              end;
              -----
              ちょっと改造すれば「複数行選択して実行すれば1行ずつ順番に実行」とかもできるかな、と
              今、思ったり。
              • [4000] Re6: エディタ上からのコマンド入力機能追加要望 とんび 2004年08月11日 09:42

                ▼ すいさんから引用
                > 個人的に作っては あるけれど公開とかしていない(と思った)のが↓ (SHELLEXE.PPA)

                すいさん、マクロを公開していただいてありがとうございます。

                さて、どう登録するか迷いましたが、「登録済みマクロ」のヘルプからたどって、「共通設定」で登録するところまで到達しました。

                期待通りに動作します。助かります。
              • [4001] Re6: エディタ上からのコマンド入力機能追加要望 (全略) 2004年08月11日 10:01

                ▼ すいさん
                > >カーソル行を外部コマンドとして実行するマクロはどこかに登録されていますか。
                >
                > 個人的に作っては あるけれど公開とかしていない(と思った)のが↓ (SHELLEXE.PPA)
                横からですが、参考になりました(^-^)
                いちいちシェル起動させてコマンド叩いていたので便利になるかもです

                -----perl in WSHですぜ
                ## do not use for shell !/bin/perl

                my $sel = GetSelectedString(0);
                $sel = GetLineStr(0) if $sel eq '';

                GoLineEnd(0);
                Char(13);
                InsText(join('', `$sel`));
                -----