less
버전 590(GNU 정규식)을 사용하고 있습니다 .
나는 사용한다
export LESSFILE="/root/.lesshst_for_manpages"
export MANPAGER="pager --save-marks -I"
man -L en <<somemanpage>>
...하지만 --save-marks
매뉴얼에서 플래그를 설정할 때( m
페이저의 명령을 사용하여) 아무런 효과가 없는 것 같습니다. 동일한 매뉴얼을 다시 읽어보면 호출기가 이전에 설정된 플래그를 기억하지 못하는 것 같습니다.
어떡해?
답변1
less
with 를 사용하고 --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
여기서는 파일의 명령을 사용하여 다른 위치에 및 태그를 설정했습니다 . 보시다시피 이 두 태그는 파일의 경로 이름과 연결되어 있습니다. 이를 통해 나중에 동일한 파일을 보고 이동 또는 표시 명령을 사용할 수 있습니다.c
m
less
~/tmp/file
less
a
c
'
다른 파일에서 설정하고 표시하면 a
저장된 마크업이 업데이트되고 마크업이 추가됩니다.b
a
b
$ 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...
?
도움이 되었나요?