Vim Mengabaikan Alias


11

Jika saya memetakan perintah dalam vim menggunakan sesuatu seperti

map <f4> :! pdflatex %<cr>

Vim akan mengabaikan alias saya untuk pdflatex (sesuatu seperti alias pdflatex = 'pdflatex --temp-dir = something'). Apakah mungkin untuk membuat vim tidak mengabaikannya?


Apakah mungkin vim shell atau shelltype Anda tidak cocok dengan shell login Anda?
DaveParillo

Jawaban:


16

Vim 'mengabaikan' alias Anda karena shell Anda tidak dalam 'mood' untuk mem-parsing .bash_profile/.bashrc(Anda tidak menentukan, di mana alias Anda didefinisikan) karena itu tidak dimulai sebagai shell login / interaktif (baca di sini untuk mengetahui lebih lanjut tentang apa yang dibaca kapan dan untuk alasan apa).

Jadi, Anda memiliki beberapa opsi:

  1. Masukkan kode yang Anda gunakan di pdflatexalias Anda ke dalam skrip dan panggil itu
  2. vimrc:, 'set shell=/bin/bash\ -l'masukkan alias Anda ke .bash_profile
  3. Panggil shell Anda sebagai shell interaktif / login: :! bash -l -i -e 'pdflatex .'

2
Masuk / non-masuk tidak masalah untuk ~/.bashrc- hanya interaktif / non-interaktif yang penting.
user1686

alias saya ada di .bash_profile .. hmm saya sedikit mengubah pertanyaan. Saya lebih suka dijalankan di shell saat ini. Namun solusi kedua Anda tampaknya paling 'dapat diterima', itu membuat% variabel tidak berguna karena membuka shell baru biasanya dimulai pada folder home.
vonhogen

Ini adalah jawaban yang luar biasa dan menyeluruh. Terima kasih!
Abel
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.