我用!ls
來執行bash命令。但是當我在~/.profile
文件中配置了source ~/.usr_profile
之類的東西后,vim也不會生成這個文件。所以當我想執行在usr_profile
中聲明的函數時,我必須運行:!source ~/.usr_profile && my_command
。當我使用這一次或兩次,沒關係。但是經常使用它時,我的vimrc變得混亂。
有沒有更好的方法來解決這個problem.Thanks如何讓vim在使用「!」運行命令時使用與我的登錄shell相同的環境?
6
A
回答
13
添加此行到您的~/.vimrc
應該解決您的眼前的問題:
set shell=bash\ -l
當-l
(--login
)的時候,bash在啓動時讀取您的~/.profile
(以及其他文件)以及因此而來的所有內容。
當與-i
(--interactive
)一起調用時,bash會在啓動時(其他文件中)讀取您的~/.bashrc
,因此會從此處獲取所有內容。
嘗試$ man bash
或:h shell
和:h shellcmdflag
瞭解更多信息。
至於登錄和非登錄shell之間的差異,我必須承認我的無知。無論如何,This answer on serverfault可能會有所幫助,這很有趣。
+0
+1對於有用的鏈接 – Ves 2012-02-01 08:20:47
+0
謝謝,這真的有用。 – 2012-02-01 08:28:17
相關問題
- 1. Shell:使用Shell運行vim命令
- 2. 如何使用Python在相同的TCL shell上運行命令
- 3. 如何使用`system()`在父shell環境中執行命令
- 4. 使用我的登錄環境的shell腳本
- 5. 如何使用Python在虛擬環境中運行命令
- 6. 如何讓我的shell在命令後運行
- 7. 如何在不同的工作目錄中運行shell命令
- 8. C:我如何使用與我的運行程序相同的命令行參數來執行()我的程序
- 9. 作爲登錄shell運行命令而不啓動新的shell?
- 10. 如何使一個shell命令在從vim運行時保持不變
- 11. Applescript使用登錄shell運行shellscript
- 12. 使用shell命令運行項目
- 13. 使用shell_exec運行shell命令
- 14. 如何使我的環境變量可用於sudo命令?
- 15. 如何使用VBA執行shell命令?
- 16. 使用Java的getRuntime.exec()運行Linux Shell命令:如何?
- 17. 如何使用grunt-shell以提升的權限運行命令?
- 18. 如何查看eclipse「運行配置」中使用的shell命令
- 19. 如何使JUnit的行爲與從命令行運行的Java相同
- 20. 在C++中執行shell命令時強制執行環境bash
- 21. 如何在crontab中使用導出命令運行shell腳本
- 22. 如何在java中使用Process Builder來運行Linux shell命令?
- 23. 何時使用環境變量或命令行參數?
- 24. 如何在Shell中使用命令運行我自己的程序?
- 25. 用PHP運行shell命令?
- 26. 在命令行中運行命令時的CPU使用情況
- 27. 如何讓nvm在腳本中運行影響調用shell的環境?
- 28. 使用GLUI時隱藏命令行/ shell
- 29. 不在gnuplot的相同的字體使用命令行或gnuplot的命令時
可能的重複[我如何得到vim的:sh命令來源我的bashrc?](http://stackoverflow.com/questions/1694599/how-do-i-get-vims-sh-command-to- source-my-bashrc) – nwinkler 2015-09-01 06:42:34