我用!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. Perl:使用shell環境運行系統命令
- 5. 使用perl執行shell命令,同時保持shell環境變量
- 6. 使用VBScript,我如何在GitHub的'Git Shell'中運行命令?
- 7. 使用我的登錄環境的shell腳本
- 8. VIM - 如何在自動命令使用環境變量
- 9. 如何使用Python在虛擬環境中運行命令
- 10. 使用環境變量時無法從命令行運行php
- 11. 在vim shell命令中使用變量
- 12. 如何讓我的shell在命令後運行
- 13. 使用來自Python3的登錄shell命令的實時輸出
- 14. 如何在shell中每3h運行一次相同的命令
- 15. 如何在不同的工作目錄中運行shell命令
- 16. 在gVim的運行shell命令沒有呼應Vim命令
- 17. C:我如何使用與我的運行程序相同的命令行參數來執行()我的程序
- 18. 如何使用管道在Python運行shell命令xargs的2.6
- 19. 如何使一個shell命令在從vim運行時保持不變
- 20. 作爲登錄shell運行命令而不啓動新的shell?
- 21. Applescript使用登錄shell運行shellscript
- 22. 無法使用docker運行shell命令?
- 23. 使用shell命令運行項目
- 24. 使用shell_exec運行shell命令
- 25. 當我在命令行中輸入相對位置時,如何讓Vim使用絕對行號?
- 26. 使用命令行進行HTTPS登錄
- 27. 如何使我的環境變量可用於sudo命令?
- 28. VIM - 運行:命令在我的.bashrc
- 29. 如何安裝BND環境在命令行中使用bnd?
可能的重複[我如何得到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