◀一般トップへ
  • 5479 提案) コマンドライン・オプションから検索
    • 5483 Re:提案) コマンドライン・オプションから検索
      • 5484 Re2:提案) コマンドライン・オプションから検索
        • 5486 Re3:提案) コマンドライン・オプションから検索
          • 5487 Re4:提案) コマンドライン・オプションから検索
          • 5488 Re4:提案) コマンドライン・オプションから検索
      • 5515 Re2:提案) コマンドライン・オプションから検索
        • 5516 Re3:提案) コマンドライン・オプションから検索
          • 5517 Re4:提案) コマンドライン・オプションから検索
  • [5479] 提案) コマンドライン・オプションから検索 T's-Neko 2006年10月01日 21:15

    サクラエディタを愛用させていただいております。
    1つ提案があります。よかったら採用していただけるとありがたいです。

    最近私のプログラムが大きくなってきたので、修正したい箇所を表示させる
    ことさえ困難になってきています。 1つの関数が大きくなっているものもあるので、
    関数名でジャンプさせる方法では限界があります。
    そこで、サクラエディタのコマンドラインの-Y=n オプションで、特定の場所を
    すぐに表示できるショートカットファイルを作成しています。

    問題は、行番号で指定しているために、ファイルの内容を修正するたびに
    行きたい場所から少しずつずれてくることです。 結局、ファイルを開いたら、
    特定のコメントを検索して目的の場所にジャンプしています。

    そこで気づいたのですが、ファイルを開いたら検索をすぐに行うコマンドライン
    オプションがあれば便利ではないかということです。

    私の経験上、コメントで検索すると、まず重複することはないので、
    ファイル全体を検索すればいいです。 まれに重複したとき(目的の場所ではなかったとき)
    を考慮して、再検索(F3)で次の候補が検索できると完璧です。

    よろしくお願いします。
    • [5483] Re:提案) コマンドライン・オプションから検索 すす 2006年10月11日 02:16

      最後に表示していた行が表示されるのではだめなの?
      毎回同じ関数の先頭が表示したいのかな?
      マクロ使えばできそうですけどね。

      ちょっと話がそれますが
      「修正したい箇所を表示させることさえ困難」なソースを
      修正すべきだと思いますよ?
      言語が何か知りませんが機能分割したり、もっと細かく
      関数化したりしてさらに複数ファイルに分割したりしないと
      そのうちファイルを表示したり編集するのも大変になっちゃいますよ?

      ▼ T's-Nekoさん
      > サクラエディタを愛用させていただいております。
      > 1つ提案があります。よかったら採用していただけるとありがたいです。
      >
      > 最近私のプログラムが大きくなってきたので、修正したい箇所を表示させる
      > ことさえ困難になってきています。 1つの関数が大きくなっているものもあるので、
      > 関数名でジャンプさせる方法では限界があります。
      > そこで、サクラエディタのコマンドラインの-Y=n オプションで、特定の場所を
      > すぐに表示できるショートカットファイルを作成しています。
      >
      > 問題は、行番号で指定しているために、ファイルの内容を修正するたびに
      > 行きたい場所から少しずつずれてくることです。 結局、ファイルを開いたら、
      > 特定のコメントを検索して目的の場所にジャンプしています。
      >
      > そこで気づいたのですが、ファイルを開いたら検索をすぐに行うコマンドライン
      > オプションがあれば便利ではないかということです。
      >
      > 私の経験上、コメントで検索すると、まず重複することはないので、
      > ファイル全体を検索すればいいです。 まれに重複したとき(目的の場所ではなかったとき)
      > を考慮して、再検索(F3)で次の候補が検索できると完璧です。
      >
      > よろしくお願いします。
      • [5484] Re2:提案) コマンドライン・オプションから検索 げんた 2006年10月11日 08:37

        emacsかviか忘れましたが,関数一覧のようなものをつくるとファイル名+検索キーワードみたいな形で出来たような...(うろおぼえ)
        Tag Jump機能で行番号指定の代わりに検索パターン指定ができると,今よりはましになるのかなと思います.
        行番号指定で専用のショートカットをたくさん作るかわりにパターンを書いたファイルをつくる感じで.

        >「修正したい箇所を表示させることさえ困難」なソースを
        >修正すべきだと思いますよ?
        そりゃ正論なんですけど,一人じゃどうにもならない場合もあるわけで...
        何千行もある関数がごろごろして,動いているシステムのスパゲッティをほどいている暇もなく.
        まあ,そんなソースが世の中の大事なところで動いていたりするわけです.たぶん.
        • [5486] Re3:提案) コマンドライン・オプションから検索 すす 2006年10月12日 00:10

          ▼ げんたさん
          > >「修正したい箇所を表示させることさえ困難」なソースを
          > >修正すべきだと思いますよ?
          > そりゃ正論なんですけど,一人じゃどうにもならない場合もあるわけで...
          > 何千行もある関数がごろごろして,動いているシステムのスパゲッティをほどいている暇もなく.
          > まあ,そんなソースが世の中の大事なところで動いていたりするわけです.たぶん.
          それは私も承知しています。でも
          「私のプログラム」「関数名でジャンプ」等ありましたので
          直せるのでは?と思ったわけです。
          探すのが大変なら関数ごとにファイル化するだけでもかなり、いいのでは?
          grepも使えることですし。

          最近、2万行(っていうかステップ)の関数を見せられて「ふざけんなっ!!」と思っていた「すす」でした。
          (ちゃんと書けば200行ぐらいになるのに。ステップ数で金もらえた頃の名残みたい。)

          ちなみに1ファイル2万行超えるとコンパイラによってはおかしな動きをするものが
          あるので早めに注意したほうがいいかもしれません。
          • [5487] Re4:提案) コマンドライン・オプションから検索 げんた 2006年10月12日 00:26

            >2万行
            ΣΣ(゜Д゜;)
          • [5488] Re4:提案) コマンドライン・オプションから検索 すす 2006年10月12日 00:28

            > 200行
            2000行の間違いです。
      • [5515] Re2:提案) コマンドライン・オプションから検索 T's-Neko 2006年10月22日 21:05

        もうレスが付かないと思ってチェックしてませんでした。
        レスありがとうございます。

        >最後に表示していた行が表示されるのではだめなの?

        同じファイルにある、関数の呼び出し元と、呼び出し先を、すぐに表示させたいときがあるため、だめです。
        電子ドキュメントに、見るべきソースが、4箇所ぐらい書いてあったりします。
        そこが、クリックするだけで、すぐに見れたら便利だと思ったのです。

        >ちょっと話がそれますが
        >「修正したい箇所を表示させることさえ困難」なソースを
        >修正すべきだと思いますよ?

        もっともです。 でも、検索ができればすぐに表示できるのです。
        大きい関数といっても、1000行ぐらいです。でも目的の関数をクリックして、
        目的の箇所まで 5回ぐらいスクロールさせているうちに、
        さっき見たところに何て書いてあったか忘れることがあって、イライラします。


        で、さっき思いついたのですが、検索するミニプログラムを作り、
        そのプログラムが、ファイル名と行番号を指定して、エディタを
        起動させればいいことに気づきました。
        各自好きなエディタが使えますから、この手で行きたいと思います。

        ということで、さっと作りました。
        http://www5a.biglobe.ne.jp/~sage-p/search_open1.lzh

        お騒がせしました。
        • [5516] Re3:提案) コマンドライン・オプションから検索 (全略) 2006年10月23日 22:28

          ▼ T's-Nekoさん
          > で、さっき思いついたのですが、検索するミニプログラムを作り、
          > そのプログラムが、ファイル名と行番号を指定して、エディタを
          > 起動させればいいことに気づきました。
          > 各自好きなエディタが使えますから、この手で行きたいと思います。
          C言語ならctags使う手もありですね

          sakura ソースファイル.c -Y=`ctags -x ソースファイル.c | sed -n 's/^関数名\s\+function\s\+\([0-9]\+\).*/\1/p'`


          普通にgrepも使えそうです

          sakura ソースファイル.c -Y=`grep -n 関数名 ソースファイル名 | sed -n 's/\([0-9]\+\).*/\1/p'`

          # 1000行の関数は十分異常じゃないですか!
          # 業務じゃ結構みるけど ,,,-_-)
          • [5517] Re4:提案) コマンドライン・オプションから検索 maru 2006年10月23日 22:54

            ▼ (全略)さん
            > sakura ソースファイル.c -Y=`ctags -x ソースファイル.c | sed -n 's/^関数名\s\+function\s\+\([0-9]\+\).*/\1/p'`
            > 普通にgrepも使えそうです
            > sakura ソースファイル.c -Y=`grep -n 関数名 ソースファイル名 | sed -n 's/\([0-9]\+\).*/\1/p'`
            しかしバッククォートは、Windowsでは普通に使えないような気が…。