Вім ігнорує псевдоніми


11

Якщо я зіставляю команду в vim, використовуючи щось подібне

map <f4> :! pdflatex %<cr>

Vim ігнорує мій псевдонім для pdflatex (щось на зразок псевдоніму pdflatex = 'pdflatex --temp-dir = щось'). Чи можна змусити заставити vim не ігнорувати його?


Чи можливо, що оболонка 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

мої псевдоніми є у .bash_profile .. Хм, я трохи змінив питання. Я вважаю за краще працювати в поточній оболонці. Ваше друге рішення здавалося найбільш прийнятним, однак воно робить змінну% марною, оскільки відкриття нової оболонки зазвичай починається в домашній папці.
vonhogen

Це дивовижна і ґрунтовна відповідь. Спасибі!
Авель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.