Go to Terminal or File manager 👉
Vim script
Switch branches/tags
Nothing to show
Latest commit ab012ce Apr 15, 2017 @justinmk doc: mention 'cmd /k' explicitly.
Closes #40
Permalink
Failed to load latest commit information.
autoload/gtfo open#term(): Do not shellescape termpath (#39) Oct 14, 2016
plugin gtfo 2.0 Sep 5, 2014
README.md doc: mention 'cmd /k' explicitly. Apr 15, 2017

README.md

gtfo.vim 👉

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

Features

Mappings

  • 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)

Settings

  • 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' }
        

Installation

  • 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

FAQ

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

Credits

License

Copyright © Justin M. Keyes. MIT license.