Go to Terminal or File manager 👉
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
README.md doc: mention 'cmd /k' explicitly. Apr 15, 2017


gtfo.vim 👉

Opens the file manager or terminal at the directory of the current file in Vim.



  • gof: Go to the current file's directory in the File manager
    • goF (uppercase F) opens the current working directory (:pwd)
  • got: Go to the current file's directory in the Terminal
    • goT (uppercase T) opens the current working directory (:pwd)


  • g:gtfo#terminals Optional dictionary with one or more of the following keys: win, mac, unix

    The g:gtfo#terminals.<key> value is the name (or absolute path) of a terminal program followed by the necessary flags (-e, /k, etc.) for executing a command on startup.

    Special case (OS X): To use iTerm instead of Terminal.app, use the special value "iterm":

    let g:gtfo#terminals = { 'mac': 'iterm' }

Platform Support

  • tmux: got opens a new tmux pane.
  • mintty (Git-for-Windows, Cygwin, etc.): got opens a new mintty console.
  • Windows
    • gof opens Windows Explorer.
    • got opens g:gtfo#terminals['win'] or the first terminal it can find: "Git bash" (Git-for-Windows), mintty, or cmd.exe.
    • To use powershell:
      let g:gtfo#terminals = { 'win': 'powershell -NoLogo -NoExit -Command' }
    • To use ye olde cmd.exe:
      let g:gtfo#terminals = { 'win': 'cmd.exe /k' }
  • Mac OS X
    • gof opens Finder.
    • got opens Terminal.app unless Vim is running in iTerm or g:gtfo#terminals['mac'] is set.
      To force iTerm (special case, see [above][#settings]):
      let g:gtfo#terminals = { 'mac': 'iterm' }
  • Unix
    • gof opens the file manager dictated by xdg-open.
    • got opens $SHELL inside gnome-terminal unless g:gtfo#terminals['unix'] is set.
      • To use termite:
        let g:gtfo#terminals = { 'unix': 'termite -d' }
      • To use rxvt-unicode:
        let g:gtfo#terminals = { 'unix': 'urxvt -cd' }


  • Pathogen
    • cd ~/.vim/bundle && git clone git://github.com/justinmk/vim-gtfo.git
  • vim-plug
    1. Add Plug 'justinmk/vim-gtfo' to .vimrc
    2. Run :PlugInstall


got (or gof) doesn't work

Try :verbose map gof to see if some other plugin is using that mapping.

On Linux without a gui, gof does nothing, or launches w3m

xdg-open defaults to w3m if no GUI is available (eg, in ssh or tty console). To change the default: xdg-mime default application/x-directory foo



Copyright © Justin M. Keyes. MIT license.