カラム認識No.29446
いちもんじ さん 11/02/01 12:00
 
いちもんじです。

 使用環境
   秀丸エディタ:Ver.8.03 β11


秀丸エディタでは,ファイルがカンマ区切りのとき「表示」でカンマの位置を揃
えて見やすくなります。

この画面でカーソルを移動させるとき,カンマ毎に(カラムごと)にジャンプし
て移動させることはできるでしょうか?

また,マクロで,○カラム目のデータ(単語)をコピーするとかいうようなマク
ロのコマンドがあると便利と思います。

ご教示,ご検討いだだけると幸いです。

[ ]
RE:29446 カラム認識No.29447
Iranoan さん 11/02/01 12:57
 
 いちもんじさん今日は、一ユーザの Iranoan です。
> カンマ毎に(カラムごと)にジャンプし
> て移動させることはできるでしょうか?
 「コマンド一覧」の「カーソル移動系」にある「タブ後退/前進」がお望みの
機能だと思います。頻繁に使う場合、適当に「キー割り当て」しておけばよい
です。

> ○カラム目のデータ(単語)をコピーするとかいうようなマク
> ロのコマンドがあると便利と思います。
 末尾の様に、既にあるコマンドを組み合わせればよいかと。
//------------------------------------------------------------
if( "," != gettext( x - 1, y, x, y ) )backtab;
beginsel;
forwardtab;
endsel;
copy;

[ ]
RE:29447 カラム認識No.29449
いちもんじ さん 11/02/01 13:25
 
Iranoanさま

ご教示ありがとうございます。
>   「コマンド一覧」の「カーソル移動系」にある「タブ後退/前進」がお望みの
> 機能だと思います。頻繁に使う場合、適当に「キー割り当て」しておけばよい
> です。

 表示→タブストップ→csvモード
にしてからでしたが,移動させることができることを確認できました。
ありがとうございました。

>
>> ○カラム目のデータ(単語)をコピーするとかいうようなマク
>> ロのコマンドがあると便利と思います。
>  末尾の様に、既にあるコマンドを組み合わせればよいかと。
> //------------------------------------------------------------
> if( "," != gettext( x - 1, y, x, y ) )backtab;
> beginsel;
> forwardtab;
> endsel;
> copy;
>

 なるほど!!

こちらもご教示いただきありがとうございました。

 もしも一言でできるとすれば
  gorightcolumn 3;
      ※右に3column移動
 なんてことになるのでしょうかね。

[ ]
RE:29447 カラム認識No.29451
いちもんじ さん 11/02/01 14:37
 
>> ○カラム目のデータ(単語)をコピーするとかいうようなマク
>> ロのコマンドがあると便利と思います。
>  末尾の様に、既にあるコマンドを組み合わせればよいかと。
> //------------------------------------------------------------
> if( "," != gettext( x - 1, y, x, y ) )backtab;
> beginsel;
> forwardtab;
> endsel;
> copy;
>
ご教示ありがとうございます。

上記でx,yをどうやって決めるかですが,マウスやキーボードを使ってカーソル
を置いてから上記マクロ実行すれば,その位置のカンマで挟まれた単語をコピー
することはできると思います。

例えば,エクセルシートのイメージの場合,C列目にある単語コピーしたい時
は,A,B列にある文字数が分からなければなりませんが....

カンマを自動的に認識してくれるコマンドがあれば,目的の列の位置がわかり,
楽だと思ったわけです。

[ ]
RE:29451 カラム認識No.29452
秀丸担当 さん 11/02/01 15:14
 

カラム番号を指定してコピーする場合、まずカーソルを行頭に置いてから
forwardtabを何回か行うといいかもしれません。
例えばカーソル行の4番目のカラムをコピーするとしたら、CSVモードで以下のよ
うなマクロにするといいかもしれないです。
#n=4;の値を変えると任意のカラムにすることができると思います。

golinetop2;
#n=4;
while(#n>1){
  forwardtab;
  #n=#n-1;
}
beginsel;
forwardtab;
endsel;
copy;

[ ]
RE:29452 カラム認識No.29454
いちもんじ さん 11/02/01 15:45
 
ご教示,ありがとうございました。

目的のカラムまでタブ移動させるわけですね。
なるほど!

(2011/02/01 15:14), 秀丸担当 wrote:
>
> カラム番号を指定してコピーする場合、まずカーソルを行頭に置いてから
> forwardtabを何回か行うといいかもしれません。
> 例えばカーソル行の4番目のカラムをコピーするとしたら、CSVモードで以下のよ
> うなマクロにするといいかもしれないです。
> #n=4;の値を変えると任意のカラムにすることができると思います。

[ ]