Ticket #3452: mcviewer: implement temporary change of search direction.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
Andrew Borodin 2019-04-20 18:46:37 +03:00
parent e1d11906b3
commit 7ddd4e9bb4
8 changed files with 45 additions and 31 deletions

View File

@ -2928,25 +2928,25 @@ Toggle the wrap mode.
Toggle the hex mode. Toggle the hex mode.
.PP .PP
.B F5 .B F5
Goto line. This will prompt you for a line number and will display Goto. You can specify a line number, offset or percentage of file size
that line. of position that you want to view.
.PP .PP
.B F6, /. .B F7, /, ?
Regular expression search. Start search. These keys call the dialog window that allows you to set up
the search options. If key is ? the "Backwards" option is on.
.PP .PP
.B ?, .B C\-s
Reverse regular expression search. Continue forward search.
.PP .PP
.B F7 .B C\-r
Normal search / hex mode search. Continue reverse search.
.PP .PP
.B C\-s, F17, n. .B F17, n
Start normal search if there was no previous search expression else Continue search in the chosen direction.
find next match.
.PP .PP
.B C\-r. .B N
Start reverse search if there was no previous search expression else Temporary change the search direction: backwards if forward search is chosen,
find next match. and vice versa.
.PP .PP
.B F8 .B F8
Toggle Raw/Parsed mode: This will show the file as found on disk or if Toggle Raw/Parsed mode: This will show the file as found on disk or if

View File

@ -3178,31 +3178,27 @@ ASCII и шестнадцатеричный (hex). Для переключени
Переключает между ASCII и шестнадцатеричным режимами. Переключает между ASCII и шестнадцатеричным режимами.
.PP .PP
.B F5 .B F5
Переход к строке по номеру. Будет запрошен номер строки, к просмотру Переход. Можно указать номер строки, абсолютное смещение или проценты
которой вы хотите перейти. от размера файла того места, к просмотру которой вы хотите перейти.
.PP .PP
.BR F6 ", " / .BR F7, /, ?
Поиск по регулярному выражению. Начать поиск. Вызов диалогового окна, которое позволит установить параметры
поиска. Если клавиша ?, то будет установлен параметр поиска "Назад".
.PP .PP
.B ? .B C\-s
Поиск назад по регулярному выражению. Продолжение поиска.
.PP
.B F7
Вызов диалогового окна для задания шаблона поиска для обычного и
шестнадцатеричного поиска.
.PP
.B C\-s, F17, n
Если шаблон поиска еще не задан, вызывается диалоговое окно для его
задания, иначе повторяется поиск (дальше по тексту) в соответствии с
ранее определенным шаблоном.
.PP .PP
.B C\-r .B C\-r
То же, что и То же, что и
.BR C\-s , .BR C\-s ,
но поиск производится в обратном направлении. но поиск производится в обратном направлении.
.PP .PP
.B n .B F17, n
Найти следующее совпадение. Продолжить поиск в заданном направлении.
.PP
.B N
Временно изменить направление поиска: искать назад, если установлен поиск
вперёд, и наоборот.
.PP .PP
.B F8 .B F8
Переключение между режимами Raw/Parsed: файл отображается либо в том Переключение между режимами Raw/Parsed: файл отображается либо в том

View File

@ -345,6 +345,7 @@ static name_keymap_t command_names[] = {
{"SearchBackward", CK_SearchBackward}, {"SearchBackward", CK_SearchBackward},
{"SearchForwardContinue", CK_SearchForwardContinue}, {"SearchForwardContinue", CK_SearchForwardContinue},
{"SearchBackwardContinue", CK_SearchBackwardContinue}, {"SearchBackwardContinue", CK_SearchBackwardContinue},
{"SearchOppositeContinue", CK_SearchOppositeContinue},
#ifdef USE_DIFF_VIEW #ifdef USE_DIFF_VIEW
/* diff viewer */ /* diff viewer */

View File

@ -322,6 +322,7 @@ enum
CK_SearchBackward, CK_SearchBackward,
CK_SearchForwardContinue, CK_SearchForwardContinue,
CK_SearchBackwardContinue, CK_SearchBackwardContinue,
CK_SearchOppositeContinue,
/* diff viewer */ /* diff viewer */
CK_ShowSymbols = 700L, CK_ShowSymbols = 700L,

View File

@ -366,6 +366,7 @@ SearchBackward = question
SearchContinue = f17; n SearchContinue = f17; n
SearchForwardContinue = ctrl-s SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r SearchBackwardContinue = ctrl-r
SearchOppositeContinue = shift-n
MagicMode = f8 MagicMode = f8
NroffMode = f9 NroffMode = f9
Home = ctrl-a Home = ctrl-a
@ -403,6 +404,7 @@ SearchBackward = question
SearchContinue = f17; n SearchContinue = f17; n
SearchForwardContinue = ctrl-s SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r SearchBackwardContinue = ctrl-r
SearchOppositeContinue = shift-n
MagicMode = f8 MagicMode = f8
NroffMode = f9 NroffMode = f9
ToggleNavigation = tab ToggleNavigation = tab

View File

@ -368,6 +368,7 @@ SearchBackward = question
SearchContinue = f17; n SearchContinue = f17; n
SearchForwardContinue = ctrl-s SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r SearchBackwardContinue = ctrl-r
SearchOppositeContinue = shift-n
MagicMode = f8 MagicMode = f8
NroffMode = f9 NroffMode = f9
Home = ctrl-a Home = ctrl-a
@ -405,6 +406,7 @@ SearchBackward = question
SearchContinue = f17; n SearchContinue = f17; n
SearchForwardContinue = ctrl-s SearchForwardContinue = ctrl-s
SearchBackwardContinue = ctrl-r SearchBackwardContinue = ctrl-r
SearchOppositeContinue = shift-n
MagicMode = f8 MagicMode = f8
NroffMode = f9 NroffMode = f9
ToggleNavigation = tab ToggleNavigation = tab

View File

@ -469,6 +469,7 @@ static const global_keymap_ini_t default_viewer_keymap[] = {
{"SearchBackward", "question"}, {"SearchBackward", "question"},
{"SearchForwardContinue", "ctrl-s"}, {"SearchForwardContinue", "ctrl-s"},
{"SearchBackwardContinue", "ctrl-r"}, {"SearchBackwardContinue", "ctrl-r"},
{"SearchOppositeContinue", "shift-n"},
{NULL, NULL} {NULL, NULL}
}; };
@ -503,6 +504,7 @@ static const global_keymap_ini_t default_viewer_hex_keymap[] = {
{"SearchBackward", "question"}, {"SearchBackward", "question"},
{"SearchForwardContinue", "ctrl-s"}, {"SearchForwardContinue", "ctrl-s"},
{"SearchBackwardContinue", "ctrl-r"}, {"SearchBackwardContinue", "ctrl-r"},
{"SearchOppositeContinue", "shift-n"},
{NULL, NULL} {NULL, NULL}
}; };

View File

@ -455,6 +455,16 @@ mcview_execute_cmd (WView * view, long command)
mcview_search_options.backwards = TRUE; mcview_search_options.backwards = TRUE;
mcview_continue_search_cmd (view); mcview_continue_search_cmd (view);
break; break;
case CK_SearchOppositeContinue:
{
gboolean direction;
direction = mcview_search_options.backwards;
mcview_search_options.backwards = !direction;
mcview_continue_search_cmd (view);
mcview_search_options.backwards = direction;
}
break;
case CK_WrapMode: case CK_WrapMode:
/* Toggle between wrapped and unwrapped view */ /* Toggle between wrapped and unwrapped view */
mcview_toggle_wrap_mode (view); mcview_toggle_wrap_mode (view);