Exactly what @nsfyn55 says except when I toy with "raw" swift - that is, no Cocoa and such - I often just use tmux+vim. Of swift specifics in my vim setup, I use the official swift vim plugin and a couple of tslime.vim mappings for starting, stopping, testing and building swift from vim in a separate tmux pane.
I have the tslime.vim mappings set up as autocommands with specifics for python, rust, swift, haskell.