Если Вы намереваетесь продолжить отслеживать - СТАБИЛЬНЫЙ, можно просто обновить Ваш stable-supfile
от
*default release=cvs tag=RELENG_8
кому:
*default release=cvs tag=RELENG_9
и затем выполните свой csup/build/installworld как нормальный. При настройке ядра необходимо будет рассмотреть новую конфигурацию ядра и объединить изменения с нею.
Технически, С 8 ВЫПУСКАМИ и С 9 ВЫПУСКАМИ каждый отклонился ГОЛОВЫ в различных моментах времени, так не то, что 8-СТАБИЛЬНЫЕ смешения прямо в С 9 ВЫПУСКАМИ. Изменения от ГЛАВЫ или более новых ответвлений часто бэкпортируются к более старым, если они принесли бы пользу тому более старому ответвлению, но это обрабатывается в зависимости от конкретного случая.
Некоторое дальнейшее руководство, если Вам нужен он:
Сборка/установка сопровождалась бы путем выполнения mergemaster
обновить и объединить конфигурационные файлы. Необходимо будет также восстановить все установленные порты, чтобы быть совместимыми с 9 ABI (или иначе устанавливать misc/compat8x
порт).
Обязательно считайте обоих /usr/src/UPDATING
и информация о версии для FreeBSD 9, чтобы удостовериться, что Вы понимаете последствия перемещения от 8 до 9, как может быть существенными изменениями.
nixCraft имеет хорошее практическое руководство здесь. Это для перемещения от 7 до 8 и предполагает, что Вы используете portmaster
, но процедура обычно является тем же. Это отмечает использование cd /usr/src && make delete-old
удалить старые библиотеки впоследствии; я забыл об этом.
Примечание стороны: Если Вы не должны настраивать свою конфигурацию ядра очень, я очень предпочитаю устанавливать - ВЫПУСК и использовать freebsd-update
для двоичного исправления. Это намного более удобно в сопровождении со временем. В Вашем случае, так как Вы отслеживаете - СТАБИЛЬНЫЙ, это означало бы переустанавливание/обновление от медиа установки, потому что freebsd-update
только обновление поддержек между версиями выпускать/беты/RC FreeBSD - но по-моему, если Вам не нужно пользовательское ядро, это стоит того.
Править: Обратите внимание, что, после того как Вы отслеживаете - ВЫПУСК, можно использовать freebsd-update
обновить от выпуска до выпуска, или от - RC и - БЕТА-ВЕРСИЙ - другая причина, почему я предпочитаю его.
Визуально выделите текст в скобках:
Ctr+V2jl
Увеличьте каждое число пять:
:norm 5
Объяснение Ctr+V Ctr+A:
:norm
выполняет целую команду в нормальном режиме. Ctr+V необходим, иначе курсор перешел бы назад к началу строки. Ctr+A увеличивает число 1, и это сделано 5 раз. Визуальный диапазон вставляется автоматически после нажатия двоеточия.
Править: Как Stephane правильно указал, предыдущий код увеличивает первое число, найденное на любой строке. Вот лучшее решение:
%s/\[\zs\d\+\ze\]/\=(submatch(0)+5)
Это добавляет пять ко всем целым числам в скобках. \zs
и \ze
используются для исключения скобок из соответствия и submatch
возвращает подобранное число.
Эти две команды идентичны и будут увеличивать все числав пределахвизуального выделения (даже в прямоугольнике! ).
:'<,'>s/\%V\d\+\%V/\=submatch(0)+1/g
:s/\%V\d\+\%V/\=submatch(0)+1/g
измельченный::s
/
\%V
\d\+
\%V
/
\=submatch(0)+1
/
g
\%V
— это сопоставитель нулевой -ширины, который соответствует любому месту внутри текущего (или последнего )выбора.
Из справки vim:
\%V Match inside the Visual area. When Visual mode has already been
stopped match in the area that gv would reselect.
This is a /zero-width match. To make sure the whole pattern is
inside the Visual area put it at the start and just before the end of
the pattern, e.g.:
/\%Vfoo.*ba\%Vr
This also works if only "foo bar" was Visually selected. This:
/\%Vfoo.*bar\%V
would match "foo bar" if the Visual selection continues after the "r".
Only works for the current buffer.
К сожалению, это не так умно, как ctrl-a
, так как оно не понимает отрицательные числа.
C-VC-A
нажатие средствctrl v
, выпуск, затем нажмитеctrl a
, выпуск. – Marco 11.04.2013, 13:26^A
на визуальном выборе, но в начале каждой строки, отмеченной выбором (так, например, если бы были строки с числами перед выбранным, которое увеличило бы их а не выбранного), – Stéphane Chazelas 11.04.2013, 16:00