设置像Vim这样的文本编辑器,Spacemacs可以在Docker容器上工作而不需要在主机上安装工具

我正在试图build立一个模块化的开发环境与docker集装箱,其中:

1)我的主机没有安装sdks / dev工具/编译器(这些应该只存在于特定的容器中)

2)在OSX的GUI版本中使用我的文本编辑器(Vim,Spacemacs)

这里的主要问题是大多数时候文本编辑器的特定语言插件(如Spacemacs中的elm层 )需要这些工具才能正常工作。

任何帮助?

最后什么对我来说是设置全球alias.sh文件采购它在我的.bash_profile与以下命令:

grep -q -F 'source ~/.docker-shared/alias.sh' ~/.bash_profile \ || echo 'source ~/.docker-shared/alias.sh' >> ~/.bash_profile 

  mkdir -p ~/.docker-shared && touch ~/.docker-shared/alias.sh 

然后,对于每个开发环境,我可以使用docker-compose创build包含容器中所有命令的alias.sh文件:

  alias elm-repl='docker-compose run web elm-repl' 

当我的docker-compose.yml contians如下:

  version: "2" services: web: build: . image: web ports: - "8000:8000" volumes: - .:/app - ~/.docker-shared:/shared entrypoint: "" command: bash -c "mkdir -p /shared && cp /app/alias.sh /shared" 

赛跑

  docker-compose up web 

将设置我的环境和别名。 这些别名将在文本编辑器中使用。

在我的情况下,我不得不设置vimrc和spacemacs使用交互式shell来工作,所以我将下面的行添加到我的configuration文件中:

.vimrc中:

  set shellcmdflag=-ic 

.spacemacs:

  (setq shell-command-switch "-ic") 

这是我的榆树开发环境