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.
.PP
.B F5
Goto line. This will prompt you for a line number and will display
that line.
Goto. You can specify a line number, offset or percentage of file size
of position that you want to view.
.PP
.B F6, /.
Regular expression search.
.B F7, /, ?
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
.B ?,
Reverse regular expression search.
.B C\-s
Continue forward search.
.PP
.B F7
Normal search / hex mode search.
.B C\-r
Continue reverse search.
.PP
.B C\-s, F17, n.
Start normal search if there was no previous search expression else
find next match.
.B F17, n
Continue search in the chosen direction.
.PP
.B C\-r.
Start reverse search if there was no previous search expression else
find next match.
.B N
Temporary change the search direction: backwards if forward search is chosen,
and vice versa.
.PP
.B F8
Toggle Raw/Parsed mode: This will show the file as found on disk or if

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -455,6 +455,16 @@ mcview_execute_cmd (WView * view, long command)
mcview_search_options.backwards = TRUE;
mcview_continue_search_cmd (view);
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:
/* Toggle between wrapped and unwrapped view */
mcview_toggle_wrap_mode (view);