5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

GNU screen その3

1 :名無しさん@お腹いっぱい。:2005/03/21(月) 07:24:04
前スレがdetachされたので再attachしますた

前スレ
screenってどうよ http://pc.2ch.net/test/read.cgi/unix/1001966406/
GNU screen その2 http://pc5.2ch.net/test/read.cgi/unix/1048030339/
GNU screen その3 http://pc5.2ch.net/test/read.cgi/unix/1087436430/

280 :名無しさん@お腹いっぱい。:2005/08/17(水) 02:46:00
コピーモードのときにNで反対方向に検索できないので、パッチを
作った。それと、インクリメンタルサーチのときにCRでインクリメ
ンタルサーチを終了できるようにした。

*** screen-4.0.2.orig/search.c  2003-09-08 23:26:45.000000000 +0900
--- screen-4.0.2/search.c       2005-08-17 02:35:18.310000000 +0900
***************
*** 50,62 ****
  int dir;
  {
    struct markdata *markdata;
!   if (dir == 0)
      {
        markdata = (struct markdata *)flayer->l_data;
!       if (markdata->isdir > 0)
!       searchend(0, 0, NULL);
!       else if (markdata->isdir < 0)
!       backsearchend(0, 0, NULL);
        else
        LMsg(0, "No previous pattern");
      }
--- 50,72 ----
  int dir;
  {
    struct markdata *markdata;
!   if (dir == 0 || dir == 2)
      {
        markdata = (struct markdata *)flayer->l_data;
!       if (markdata->isdir > 0) {
!         if (dir == 0) {
!           searchend(0, 0, NULL);

281 :名無しさん@お腹いっぱい。:2005/08/17(水) 02:47:13
!         } else {
!           backsearchend(0, 0, NULL);
!         }
!       }
!       else if (markdata->isdir < 0) {
!         if (dir == 0) {
!           backsearchend(0, 0, NULL);
!         } else {
!           searchend(0, 0, NULL);
!         }
!       }
        else
        LMsg(0, "No previous pattern");
      }
***************
*** 77,85 ****

    markdata = (struct markdata *)flayer->l_data;
    p = markdata->md_window;
!   markdata->isdir = 1;
!   if (len)
      strcpy(markdata->isstr, buf);
    sx = markdata->cx + 1;
    ex = flayer->l_width - 1;
    for (y = markdata->cy; y < p->w_histheight + flayer->l_height; y++, sx = 0)
--- 87,96 ----

    markdata = (struct markdata *)flayer->l_data;
    p = markdata->md_window;
!   if (len) {

282 :名無しさん@お腹いっぱい。:2005/08/17(水) 02:51:53
!     markdata->isdir = 1;
      strcpy(markdata->isstr, buf);
+   }
    sx = markdata->cx + 1;
    ex = flayer->l_width - 1;
    for (y = markdata->cy; y < p->w_histheight + flayer->l_height; y++, sx = 0)
***************
*** 106,114 ****
    struct markdata *markdata;

    markdata = (struct markdata *)flayer->l_data;
!   markdata->isdir = -1;
!   if (len)
      strcpy(markdata->isstr, buf);
    ex = markdata->cx - 1;
    for (y = markdata->cy; y >= 0; y--, ex = flayer->l_width - 1)
      {
--- 117,126 ----
    struct markdata *markdata;

    markdata = (struct markdata *)flayer->l_data;
!   if (len) {
!     markdata->isdir = -1;
      strcpy(markdata->isstr, buf);
+   }
    ex = markdata->cx - 1;
    for (y = markdata->cy; y >= 0; y--, ex = flayer->l_width - 1)
      {
***************
*** 255,260 ****

283 :名無しさん@お腹いっぱい。:2005/08/17(水) 02:52:30
--- 267,273 ----
        pos = markdata->isstartpos;
        /*FALLTHROUGH*/
      case '\033':      /* ESC */
+     case '\r':        /* ESC */
        *p = 0;
        break;
      case '\013':      /* CTRL-K */
*** screen-4.0.2.orig/mark.c    2003-09-08 23:26:00.000000000 +0900
--- screen-4.0.2/mark.c 2005-08-17 01:56:06.280000000 +0900
***************
*** 794,799 ****
--- 794,802 ----
        case 'n':
          Search(0);
          break;
+         case 'N':
+           Search(2);
+           break;
        case 'y':
        case 'Y':
          if (markdata->second == 0)

長文すいません。

220 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)