Vim에 슬림 파일을 쓰고 있습니다. 저장할 때 파일을 컴파일하고 html 파일로 저장하려고합니다. 내 .vimrc 파일에 이것을 추가하면 현재 디렉토리에있는 파일 일 수 있습니다 : 잘라 내기 명령이 ./file.slim
로 바뀝니다 이후Vim은 프로그래밍 방식으로 다른 파일 확장명으로 저장합니다.
au BufWritePost *.slim silent !slimrb % > $(echo % | cut -d'.' -f1).html
그것은 ../file.slim
같은 경로로 파일을 작동하지 않습니다.
Vim에서 외부 명령을 실행할 때 parameter expansions을 사용해야하지만 % 문자는 현재 파일 경로로 예약되어 있습니다.
파일의 디렉토리에 관계없이 슬림 파일을 컴파일하고 html 파일에 저장하려면 어떻게해야합니까?
이제 파일 이름에 공백, 달러, 따옴표, 기타 셸 특수 기호가 포함 된 경우에도 동일한 작업을 시도하십시오. 여기서해야 할 일은'au BufWritePost * .slim : 자동 호출 시스템 ('slimrb'.shellescape (expand ('%')) '>'.shellescape (expand ('% : r'). '입니다. '))'. 그건 그렇고, 당신은 쉘에 백분율 기호를 전달할 수 있습니다. 단지': execute' +'shellescape()'를 사용할 때 : shellescape (str, 1)로 두번째 인수를 주목하십시오.) 또는 특별한 방법으로이 기호를 처리하지 않는'system()'을 사용하십시오. – ZyX
이것은 훨씬 더 나은 해결책 인 것 같습니다. 답변으로 게시하면 받아 들일 것입니다. –