开发者

How do I get vim's :sh command to source my bashrc?

Whenever I start a shell in vim using :sh, it doesn't source my ~/.b开发者_运维技巧ashrc file. How can I get it to do this automatically?


See :help 'shell'. You can set this string to include -l or --login, which will source your .bashrc file. So, you might have a line like this in your .vimrc:

set shell=bash\ --login

Note that this will alter everything that invokes the shell, including :!. This shouldn't be much of a problem, but you should be aware of it.

The value of this command can also be changed by setting the $SHELL environment variable.


If it doesn't source your .bashrc file, it may still source your .bash_profile file. I usually make one of them a symlink to the other. If your .bashrc performs some particularly odd one-time operations, you may have to edit it to only perform those operations with a login shell, but I've never had problems with it.


~/.vimrc

cmap sh<CR> !bash --login<CR>

If you quickly enter "sh<Enter>" in command-line, you can start bash with sourcing ~/.bashrc. So dirty.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜