Пример текста:
cat
concatenate
scat
dog and cat
Скажем, *
нажата в первой строке, будет выполнен поиск шаблона \
Если строка поиска останется пустой во время поиска и замены, он будет повторно использовать последний совпавший шаблон. Таким образом, выполнение
:%s//CAT/g
приведет к
CAT
concatenate
scat
dog and CAT
From : h: substitute
Если {шаблон} для команды замены пуст, команда использует шаблон из последней замены или команды
: global
. Если нет, но есть предыдущий шаблон поиска, используется тот. С флагом [r] команда использует шаблон из последней замены ,: global
или команды поиска.
Чтобы изменить поведение *
и #
для визуально выделенного текста, чтобы искать только часть текста вместо всего слова:
vnoremap * y/<C-R>"<CR>
vnoremap # y?<C-R>"<CR>
Если файл поступает из системы Windows, он может иметь в конце символ возврата каретки.
Вы можете исправить это, присвоив переменной CODE
вот так:
CODE="$( head -n 1 "$file" | tr -d '\r' )"