Vim gf-command improved
Vim gf-command improved
Since a week ago I remembered myself of the awesome gf-command in Vim, which allows you to open the current filepath under the cursor in a new buffer. I thought to myself: Why am I never using this? Oh yeah, because this only works for filepaths relative to the buffer . As a javascript developer most of my time, that won’t help since I have webpack-configured projects which allows me to do some super cool absolute imports, but throws away the complete usage of the awesome gf-command. So I started a Vim plugin called gfi (goto file improved). The goal for me was to create a plugin that is plug ’n play, zero-configuration required for you to enjoy this simple but efficient plugin. So how does it work? When using this plugin your regular gf will be remapped and when pressing gf it always tries to resolve the file under the cursor using atleast the following logic: - relative to the current buffer - relative to Vim's current working directory - based on the git directory it is located in Implementing these 3 checks for every filetype made sense to me. Just having these 3 checks already makes gf already much more efficient want useful. If these 3 fail to retrieve a path then some filetypes may have additional checks. Javascript-like projects can be webpack-configured and thus may use absolute imports. These are done by checking the package.json in the root of the project. Golang path resolving for the import-statement is also taken into account. Since these imports are directories, the directory will be opened rather than a file, but it’s still more efficient, since gf does not open directories by default. A goal I have is hoping for contributions for as many languages as possible so that the gf command will be more useful for many more developers. If you have feedback or like to contribute, send me a mail or do your contribution via https://github.com/kkoomen/gfi.vim
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Craigslist improved with geolocation
Improved rails strong_parameter implementation
Mithril Improved with AI
Command at Sea
Cowsay Command for 2021
grpcmd – The "grpc" command
Retry a command with exponential backoff and jitter (+ Starlark exprs)
Envoy – Command Logger
Chatroom with curl command (requires IPv6)
provision redis with one command