less 옵션 "--save-marks"는 less가 수동 호출기로 사용될 때 아무 작업도 수행하지 않습니다.

less 옵션 "--save-marks"는 less가 수동 호출기로 사용될 때 아무 작업도 수행하지 않습니다.

less버전 590(GNU 정규식)을 사용하고 있습니다 .

나는 사용한다

export LESSFILE="/root/.lesshst_for_manpages"
export MANPAGER="pager --save-marks -I"
man -L en <<somemanpage>>

...하지만 --save-marks매뉴얼에서 플래그를 설정할 때( m페이저의 명령을 사용하여) 아무런 효과가 없는 것 같습니다. 동일한 매뉴얼을 다시 읽어보면 호출기가 이전에 설정된 플래그를 기억하지 못하는 것 같습니다.

어떡해?

답변1

lesswith 를 사용하고 --save-marks라는 파일에 일부 태그를 설정한 file다음 호출기를 종료하면 ~/.lesshst파일에 해당 태그에 대한 몇 줄의 정보가 포함됩니다.

$ cat ~/.lesshst
.less-history-file:
.mark
m a 1 6659 /home/myself/tmp/file
m c 1 33259 /home/myself/tmp/file

a여기서는 파일의 명령을 사용하여 다른 위치에 및 태그를 설정했습니다 . 보시다시피 이 두 태그는 파일의 경로 이름과 연결되어 있습니다. 이를 통해 나중에 동일한 파일을 보고 이동 또는 표시 명령을 사용할 수 있습니다.cmless~/tmp/filelessac'

다른 파일에서 설정하고 표시하면 a저장된 마크업이 업데이트되고 마크업이 추가됩니다.bab

$ cat ~/.lesshst
.less-history-file:
.mark
m a 1 46559 /home/myself/tmp/other-file
m b 1 13309 /home/myself/tmp/other-file
m c 1 33259 /home/myself/tmp/file

이 태그 는 더 이상 a태그에 존재하지 않습니다 ~/tmp/file. 이것보다예 태그는 특정 경로 이름을 가진 파일의 위치입니다.

매뉴얼을 읽기 위해 호출기로 사용할 때 less, 읽은 텍스트 문서의 경로명은 무엇입니까? =명령, :f명령을 사용하거나 호출기를 눌러 Ctrl+G이 정보를 얻을 수 있습니다 . 팁: 파일 이름이 없습니다.

파일 이름이 없는 이유는 매뉴얼(즉, less표시되는 텍스트 문서)이 파이프라인에서 나오기 때문입니다. 다음과 같이 사용됩니다 less:

$ cat file | less --save-marks

...이 작업을 수행하고 태그를 설정하면 태그가 .mark에서 변경된 것을 알 수 있습니다 ~/.lesshst.

즉, less파이프라인 문서의 마크업을 기억할 방법이 없습니다. 이것이 less매뉴얼을 볼 때 마크업이 저장되지 않는 이유입니다. 또한 귀하의 태그 중노력하다매뉴얼에서 설정은 다음과 같습니다.분명한파일 에서 ~/.lesshst.

답변2

당신은 다음을 찾고 있을 수 있습니다:

export LESSHISTFILE="..." ...

글을 쓰는 데 필요한 권한이 있습니까 /root/.less...?

도움이 되었나요?

관련 정보