Vim은 별칭을 무시합니다


11

vim에서 다음과 같은 것을 사용하여 명령을 매핑하면

map <f4> :! pdflatex %<cr>

Vim은 pdflatex에 대한 나의 별칭 (alias pdflatex = 'pdflatex --temp-dir = something'과 같은 것)을 무시합니다. vim이 그것을 무시하지 않도록 할 수 있습니까?


vim 쉘 또는 쉘 유형이 로그인 쉘과 일치하지 않을 수 있습니까?
DaveParillo

답변:


16

Vim은 쉘이 .bash_profile/.bashrc로그인 / 인터랙티브 쉘로 시작되지 않았기 때문에 쉘이 구문 분석 할 '분위기'에 있지 않기 때문에 (별명을 정의하지 않은 경우) 별칭을 '무시'합니다 ( 자세한 내용은 여기 를 참조 하십시오). 언제 그리고 어떤 이유로 읽히는 것).

따라서 몇 가지 옵션이 있습니다.

  1. pdflatex별칭에 사용하는 코드를 스크립트에 넣고 호출하십시오.
  2. vimrc : 'set shell=/bin/bash\ -l', 별명을 .bash_profile에 넣으십시오.
  3. 쉘을 대화식 / 로그인 쉘로 호출하십시오. :! bash -l -i -e 'pdflatex .'

2
로그인 / 비 로그인은 중요하지 않으며 ~/.bashrc대화 형 / 비 대화식 만 중요합니다 .
user1686 2018 년

내 별칭은 .bash_profile에 있습니다. 흠 질문을 조금 변경했습니다. 오히려 현재 쉘에서 실행하고 싶습니다. 두 번째 솔루션은 가장 '허용 가능한'것처럼 보였지만 새 쉘을 여는 것은 일반적으로 홈 폴더에서 시작하기 때문에 % 변수를 쓸모 없게 만듭니다.
vonhogen

이것은 놀랍고도 철저한 답변입니다. 감사!
Abel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.