Вопрос или проблема
При нажатии n Less пропускает все совпадения в текущей строке и переходит к следующей строке с совпадением (даже если строки обернуты). Как я могу заставить его перемещать курсор ко всем совпадениям в каждой строке?
Функциональность поиска в просмотрщике less
работает только со строками. Нет возможности поиска внутри строки (как, например, в редакторе Vi).
Если длинные строки завернуты таким образом, что вы не можете увидеть совпадения в строке, потому что они исчезают ниже нижней части экрана, вы можете рассмотреть возможность предварительного сворачивания длинных строк перед отображением текста в less
, используя, например, fold -s -w 80 file | less
.
.
Ответ или решение
Вопрос: Как в программе Less осуществить горизонтальный переход между совпадениями поиска на одной строке?
Ответ:
Когда мы используем команду less
для просмотра содержимого текстового файла, важной частью является функциональность поиска. Однако, как вы заметили, по умолчанию поведение less
при нажатии клавиши n
переходит к следующему совпадению, игнорируя другие совпадения в текущей строке. Это может создать трудности, особенно если строки длинные и заключают в себе несколько совпадений, которые не помещаются на экране.
Характеристика проблемы
- Поиск по умолчанию в
less
в действительности работает на уровне строк, а не на уровне символов внутри строки. - Таким образом, когда вы ищете совпадения,
less
переходит к следующему совпадению, находящемуся на следующей строке, оставляя пропущенными все совпадения на текущей строке.
Возможные решения
-
Преобразование длинных строк: Один из способов обойти эту проблему — предварительно отформатировать файл с длинными строками. Это можно сделать с помощью команды
fold
. Например, запустите следующую команду в терминале:fold -s -w 80 ваш_файл.txt | less
Эта команда будет «заворачивать» строки так, чтобы они не превышали 80 символов, что позволит
less
корректно обрабатывать каждую новую строку с несколькими совпадениями. -
Использование другого инструмента или редактора: Если вам необходима возможность перемещения по всем совпадениям на одной строке, возможно, стоит рассмотреть использование другого инструмента, такого как
vi
илиvim
, которые поддерживают внутренняя навигация по совпадениям в строках. Это позволит вам легче находить нужные места в содержимом.
Заключение
Таким образом, используя fold
, вы можете предварительно форматировать ваш файл, чтобы улучшить навигацию в less
или рассмотреть возможность использования других текстовых редакторов для выполнения задач, связанных с внутренняя навигацией. Возможно, это не решит проблему идеально, но предложенные методы помогут вам более эффективно работать с текстом и находить нужную информацию в сложных документах.