glob 모드를 사용하여 vim 탭에서 파일 모음을 열면 패턴과 일치하는 파일 수가 tabpagemax
. 예를 들어,
$ vi -p `find . -type f -name "*.tex"`
보다 일치하는 파일이 더 많으며 탭으로 구분된 문서 tabpagemax
만 tabpagemax
열립니다. 이 경우 경고나 오류가 필요합니다. 할 수 있나요?
답변1
vim
초과했을 때 경고할 방법을 찾지 못했기 tabpagemax
때문에 차선책은 실행하기 전에 확인하는 것입니다 vim
.
잠재적인 솔루션
여기에서는 먼저 찾기를 실행하고 결과를 변수에 저장합니다 $tfiles
. 그런 다음 vim -p
찾은 파일 수가 이 값 20 이하인 경우에만 호출 됩니다 $guard
.
$ guard=20
$ tfiles=$(find . -type f -name "*.tex")
$ [ $(echo $tfiles | wc -w) -le $guard ] && vim -p $tfiles || echo "too many"
이는 다음과 같이 oneliner로 변환될 수 있습니다.
$ guard=20; \
tfiles=$(find . -type f -name "*.tex"); \
[ $(echo $tfiles | wc -w) -le $guard ] && vim -p $tfiles || echo "too many"
예
3개 이상의 파일을 반환하면 다음과 같은 경험이 발생합니다.
$ guard=3; \
tfiles=$(find . -type f -name "*.txt"); \
[ $(echo $tfiles | wc -w) -le $guard ] && vim -p $tfiles || echo "too many"
too many
파일이 3개 미만인 경우 별도의 탭에서 열립니다 vim
.