энергия является модальным редактором. Совершите нападки клавиша ESC для вхождения Нормальный (команда) режим затем введите: q и нажимают Enter.
Для выхода, не сохраняя изменений введите: q! и нажмите Enter.
См. также Уход в документации Vim.
Это - фактический код, который загружает историю (от bashhist.c
вокруг строки 260):
/* Load the history list from the history file. */
void
load_history ()
{
char *hf;
/* Truncate history file for interactive shells which desire it.
Note that the history file is automatically truncated to the
size of HISTSIZE if the user does not explicitly set the size
differently. */
set_if_not ("HISTSIZE", "500");
sv_histsize ("HISTSIZE");
set_if_not ("HISTFILESIZE", get_string_value ("HISTSIZE"));
sv_histsize ("HISTFILESIZE");
/* Read the history in HISTFILE into the history list. */
hf = get_string_value ("HISTFILE");
if (hf && *hf && file_exists (hf))
{
read_history (hf);
using_history ();
history_lines_in_file = where_history ();
}
}
Если значения HISTSIZE
и HISTFILESIZE
установлены, они будут использоваться.
Readline, библиотека, которая на самом деле обрабатывает вход / редактирование строки и история, действительно предлагают средства для поставления ограничения, как большой буфер истории может вырасти. Однако Bash не помещает твердый потолок в это, где значения, немного больше, были бы проигнорированы, по крайней мере, что я мог найти.
Править
Из комментариев, readline
был действительно преступник. Я смотрел (скорее по-дурацки) в функциональных параметрах:
существует переменная, названная размером истории, который может быть считан из inputrc файла. та переменная определяет максимальный номер записей истории, сохраненных в списке предыстории. Я проверил, что это - значение в моем локальном inputrc файле к найденному, которому это равняется 5000. Установка его к большему значению решила проблему.
echo "$HISTSIZE $HISTFILESIZE"
что Вы видите?
– ztank1013
16.09.2011, 21:41
У меня было то же (или подобное) проблема, но inputrc был прекрасен. В моем случае единственная вещь, которая работала, комментировала HISTSIZE=1000
и HISTFILESIZE=2000
в моем запасе ~/.bashrc
- даже при том, что я переопределял их Вар позже в том же файле!
/usr/bin/fc
История команд ссылается на команды по номерам. первый номер в списке выбирается произвольно. Релятор- порядок подчинённости числа его команде не изменится, за исключением того, что когда пользователь входит в систему и никакие другие процессы не получают доступ к список, в который система может сбросить нумерацию на запустить самую старую сохраненную команду под другим номером (обычно 1). Когда номер достигнет значения в HISTSIZE или 32767 (в зависимости от того, что больше), панцирь может обернуть цифры, запуск следующей команды с меньшим номером (обычно 1). Однако, несмотря на эту необязательную обертку чисел, fc будет поддерживать временную последовательность команд. Для например, если четыре команды подряд дают номера 32 766, 32 767, 1 (завернутые) и 2 по мере их выполнения, команда 32 767 считается командой, предшествующей 1, даже хотя его число выше.[118382] [118383][snip]
, что подразумевает, что команда fc может обращаться к 32767 записям в файле истории, что делает ее жестким потолком для количества команд, хранящихся в файле истории. Конечно, YMMV, но я думаю, что вы могли бы проконсультироваться по этому вопросу со своей документацией/страницами руководства операционной системы. Мой 0.02... [118038]
Ваша история усекается при первой установке HISTSIZE, так что если она установлена на 5000 раньше, то в вашей ~/. bashrc, или в общесистемном bashrc в /etc, вам нужно прокомментировать их.
Изменение этих строк в ~/.bashrc
исправило это для меня:
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=5000
HISTFILESIZE=2000
После этого сохраните файл и перезагрузите файл bashrc
$. ~/.bashrc
history-size
было что-то, что было передано (от журнала изменений RL) к функциям в readline tha t, были в конечном счете названы ударом. Похож мы поняли это вместе. – Tim Post♦ 17.09.2011, 21:54