All Projects → fatih → Vim Go

fatih / Vim Go

Licence: other
Go development plugin for Vim

Programming Languages

go
31211 projects - #10 most used programming language
Vim Script
2826 projects
Vim Snippet
174 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects
Makefile
30231 projects

Projects that are alternatives of or similar to Vim Go

Winresizer
very simple vim plugin for easy resizing of your vim windows
Stars: ✭ 353 (-97.49%)
Mutual labels:  viml, vim-plugins
Vim Search Pulse
Easily locate the cursor after a search
Stars: ✭ 91 (-99.35%)
Mutual labels:  viml, vim-plugins
Vim Devicons
Adds file type icons to Vim plugins such as: NERDTree, vim-airline, CtrlP, unite, Denite, lightline, vim-startify and many more
Stars: ✭ 4,473 (-68.24%)
Mutual labels:  viml, vim-plugins
Vim Startify
🔗 The fancy start screen for Vim.
Stars: ✭ 4,479 (-68.2%)
Mutual labels:  hacktoberfest, viml
Vim Operator User
Vim plugin: Define your own operator easily
Stars: ✭ 161 (-98.86%)
Mutual labels:  viml, vim-plugins
Pear Tree
A Vim auto-pair plugin that supports multi-character pairs, intelligent matching, and more
Stars: ✭ 327 (-97.68%)
Mutual labels:  viml, vim-plugins
Vimcompletesme
You don't Complete Me; Vim Completes Me! A super simple, super minimal, super light-weight tab completion plugin for Vim.
Stars: ✭ 752 (-94.66%)
Mutual labels:  viml, vim-plugins
Vim Dadbod Ui
Simple UI for https://github.com/tpope/vim-dadbod
Stars: ✭ 315 (-97.76%)
Mutual labels:  viml, vim-plugins
Vim Todo Lists
Vim plugin for TODO lists
Stars: ✭ 126 (-99.11%)
Mutual labels:  viml, vim-plugins
Vim Follow My Lead
Vim plugin for showing all your <Leader> mappings in a readable table including the descriptions.
Stars: ✭ 100 (-99.29%)
Mutual labels:  viml, vim-plugins
Vim Ruby Minitest
Vim highlighting & completion for MiniTest
Stars: ✭ 97 (-99.31%)
Mutual labels:  viml, vim-plugins
Vim Packager
Vim plugin manager that utilizes "jobs" and "pack" features.
Stars: ✭ 197 (-98.6%)
Mutual labels:  viml, vim-plugins
Stackanswers.vim
Vim plugin to fetch and display answers from Stack Overflow
Stars: ✭ 165 (-98.83%)
Mutual labels:  viml, vim-plugins
Vifm.vim
Vim plugin that allows use of vifm as a file picker
Stars: ✭ 197 (-98.6%)
Mutual labels:  viml, vim-plugins
Panther
A browser testing and web crawling library for PHP and Symfony
Stars: ✭ 2,480 (-82.39%)
Mutual labels:  hacktoberfest
Php Ulid
A PHP port of alizain/ulid with some minor improvements.
Stars: ✭ 203 (-98.56%)
Mutual labels:  hacktoberfest
Rust
All Algorithms implemented in Rust
Stars: ✭ 4,562 (-67.61%)
Mutual labels:  hacktoberfest
Cep Promise
Busca por CEP integrado diretamente aos serviços dos Correios, ViaCEP e outros (Node.js e Browser)
Stars: ✭ 2,483 (-82.37%)
Mutual labels:  hacktoberfest
Swoole Bundle
Symfony Swoole Bundle
Stars: ✭ 201 (-98.57%)
Mutual labels:  hacktoberfest
Yii2 Bootstrap4
Yii 2 Bootstrap 4 Extension
Stars: ✭ 204 (-98.55%)
Mutual labels:  hacktoberfest

vim-go GitHub Actions Status

Vim-go logo

Features

This plugin adds Go language support for Vim, with the following main features:

  • Compile your package with :GoBuild, install it with :GoInstall or test it with :GoTest. Run a single test with :GoTestFunc).
  • Quickly execute your current file(s) with :GoRun.
  • Improved syntax highlighting and folding.
  • Debug programs with integrated delve support with :GoDebugStart.
  • Completion and many other features support via gopls.
  • formatting on save keeps the cursor position and undo history.
  • Go to symbol/declaration with :GoDef.
  • Look up documentation with :GoDoc or :GoDocBrowser.
  • Easily import packages via :GoImport, remove them via :GoDrop.
  • Precise type-safe renaming of identifiers with :GoRename.
  • See which code is covered by tests with :GoCoverage.
  • Add or remove tags on struct fields with :GoAddTags and :GoRemoveTags.
  • Call staticcheck with :GoMetaLinter to invoke all possible linters (golint, vet, errcheck, deadcode, etc.) and put the result in the quickfix or location list.
  • Lint your code with :GoLint, run your code through :GoVet to catch static errors, or make sure errors are checked with :GoErrCheck.
  • Advanced source analysis tools utilizing guru, such as :GoImplements, :GoCallees, and :GoReferrers.
  • ... and many more! Please see doc/vim-go.txt for more information.
  • Integration with gopls.
  • The gopls instance can be shared with other Vim plugins.
  • Vim-go's use of gopls can be disabled and alternative tools can be used when desired.
  • Integration with Tagbar via gotags.
  • Integration with Ultisnips and other snippet engines.

Install

vim-go requires at least Vim 8.0.1453 or Neovim 0.4.0.

The latest stable release is the recommended version to use. If you choose to use the master branch instead, please do so with caution; it is a development branch.

vim-go follows the standard runtime path structure. Below are some helper lines for popular package managers:

  • Vim 8 packages
    • git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
  • Neovim packages
    • git clone https://github.com/fatih/vim-go.git ~/.local/share/nvim/site/pack/plugins/start/vim-go
  • Pathogen
    • git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go
  • vim-plug
    • Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
  • Vundle
    • Plugin 'fatih/vim-go'

You will also need to install all the necessary binaries. vim-go makes it easy to install all of them by providing a command, :GoInstallBinaries, which will go get all the required binaries.

Check out the Install section in the documentation for more detailed instructions (:help go-install).

Usage

The full documentation can be found at doc/vim-go.txt. You can display it from within Vim with :help vim-go.

Depending on your installation method, you may have to generate the plugin's help tags manually (e.g. :helptags ALL).

We also have a tutorial in the official vim-go wiki.

FAQ and troubleshooting

The FAQ and troubleshooting tips are in the documentation and can be quickly accessed using :help go-troubleshooting. If you believe you've found a bug or shortcoming in vim-go that is neither addressed by help nor in existing issues, please open an issue with clear reproduction steps. :GoReportGitHubIssue can be used pre-populate a lot of the information needed when creating a new issue.

Contributing

All PRs are welcome. If you are planning to contribute a large patch or to integrate a new tool, please create an issue first to get any upfront questions or design decisions out of the way first.

You can run the tests locally by running make. It will lint the VimL for you, lint the documentation, and run the tests against the minimum required version of Vim, other versions of Vim that may be critical to support, and Neovim.

License

The BSD 3-Clause License - see LICENSE for more details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].