All Projects → stsewd → fzf-checkout.vim

stsewd / fzf-checkout.vim

Licence: MIT license
Manage branches and tags with fzf

Programming Languages

Vim Script
2826 projects
Makefile
30231 projects

Projects that are alternatives of or similar to fzf-checkout.vim

Fzf Mru.vim
Vim plugin that is using fzf.vim to display your most recently used files.
Stars: ✭ 79 (-57.75%)
Mutual labels:  vim-plugin, fzf, neovim-plugin
42header.vim
Add and update the 42 comment header at the top of your files
Stars: ✭ 15 (-91.98%)
Mutual labels:  vim-plugin, neovim-plugin
auto-pairs
Vim plugin, insert or delete brackets, parentheses, and quotes in pairs
Stars: ✭ 109 (-41.71%)
Mutual labels:  vim-plugin, neovim-plugin
vim-tips-wiki
1500+ tips downloaded from Vim Tips Wiki, parsed and formatted to look and work like native Vim help files
Stars: ✭ 56 (-70.05%)
Mutual labels:  vim-plugin, neovim-plugin
beacon.nvim
Whenever cursor jumps some distance or moves between windows, it will flash so you can see where it is
Stars: ✭ 217 (+16.04%)
Mutual labels:  vim-plugin, neovim-plugin
vim-lineletters
because letters are easier to touch type than numbers
Stars: ✭ 38 (-79.68%)
Mutual labels:  vim-plugin, neovim-plugin
denops-docker.vim
Manage Docker in Vim/Neovim
Stars: ✭ 48 (-74.33%)
Mutual labels:  vim-plugin, neovim-plugin
nvim-contabs
contextual tabs for vim/neovim
Stars: ✭ 20 (-89.3%)
Mutual labels:  vim-plugin, fzf
awesome-git-commands
🍴 Indispensable git commands for everyday use
Stars: ✭ 53 (-71.66%)
Mutual labels:  tag, branch
fzf-hoogle.vim
(neo)vim plugin that uses fzf for previewing hoogle search results
Stars: ✭ 37 (-80.21%)
Mutual labels:  vim-plugin, fzf
SimpleSnippets.vim
Simple snippet support for your Vim and Neovim
Stars: ✭ 86 (-54.01%)
Mutual labels:  vim-plugin, neovim-plugin
skim.vim
vim support for skim
Stars: ✭ 127 (-32.09%)
Mutual labels:  vim-plugin, neovim-plugin
stable-windows
Keeps vim windows stable on layout changes
Stars: ✭ 41 (-78.07%)
Mutual labels:  vim-plugin, neovim-plugin
code runner.nvim
Neovim plugin.The best code runner you could have, it is like the one in vscode but with super powers, it manages projects like in intellij but without being slow
Stars: ✭ 234 (+25.13%)
Mutual labels:  vim-plugin, neovim-plugin
vim-readme-viewer
📖 Viewing plugin's README easily like vim help
Stars: ✭ 26 (-86.1%)
Mutual labels:  vim-plugin, neovim-plugin
vim-counterpoint
Cycle between file counterparts in vim or neovim.
Stars: ✭ 12 (-93.58%)
Mutual labels:  vim-plugin, neovim-plugin
bolt.nvim
⚡ Ultrafast multi-pane file manager for Neovim with fuzzy matching
Stars: ✭ 100 (-46.52%)
Mutual labels:  vim-plugin, neovim-plugin
Coc.nvim
Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
Stars: ✭ 18,268 (+9668.98%)
Mutual labels:  vim-plugin, neovim-plugin
qf helper.nvim
A collection of improvements for the quickfix buffer
Stars: ✭ 70 (-62.57%)
Mutual labels:  vim-plugin, neovim-plugin
denops-gh.vim
Vim/Neovim plugin for GitHub
Stars: ✭ 27 (-85.56%)
Mutual labels:  vim-plugin, neovim-plugin

fzf-checkout.vim

CI Linter

Manage branches and tags with fzf.

fzf-checkout

Requirements

Installation

Install using vim-plug. Put this in your init.vim.

Plug 'stsewd/fzf-checkout.vim'

Features

  • The current branch or commit will be show at the bottom
  • The first item on the list will be the previous branch/tag
  • Press alt-enter to track a remote branch locally (origin/foo becomes foo)
  • Press ctrl-b to create a branch or tag with the current query as name
  • Press ctrl-d to delete a branch or tag
  • Press ctrl-e to merge a branch
  • Press ctrl-r to rebase a branch
  • Ask for confirmation for irreversible actions like delete
  • Define your own actions

Usage

Call :GBranches [action] [filter] or :GTags [action] to execute an action over a branch or tag. If no action is given, you can make use of defined keymaps to execute an action.

Commands and settings

See :h fzf-checkout for a list of all available commands and settings.

If you have fzf.vim installed, this plugin will respect your g:fzf_command_prefix setting.

Examples

Prefix commands with Fzf, i.e, FzfGBranches and FzfGTags:

let g:fzf_command_prefix = 'Fzf'

Sort branches/tags by committer date. Minus sign to show in reverse order (recent first):

let g:fzf_checkout_git_options = '--sort=-committerdate'

Override the mapping to delete a branch with ctrl-r:

let g:fzf_branch_actions = {
      \ 'delete': {'keymap': 'ctrl-r'},
      \}

Use the bang command to checkout a tag:

let g:fzf_tag_actions = {
      \ 'checkout': {'execute': '!{git} -C {cwd} checkout {branch}'},
      \}

Define a diff action using fugitive. You can use it with :GBranches diff or with :GBranches and pressing ctrl-f:

let g:fzf_branch_actions = {
      \ 'diff': {
      \   'prompt': 'Diff> ',
      \   'execute': 'Git diff {branch}',
      \   'multiple': v:false,
      \   'keymap': 'ctrl-f',
      \   'required': ['branch'],
      \   'confirm': v:false,
      \ },
      \}

Define checkout as the only action for branches:

let g:fzf_checkout_merge_settings = v:false
let g:fzf_branch_actions = {
      \ 'checkout': {
      \   'prompt': 'Checkout> ',
      \   'execute': 'echo system("{git} -C {cwd} checkout {branch}")',
      \   'multiple': v:false,
      \   'keymap': 'enter',
      \   'required': ['branch'],
      \   'confirm': v:false,
      \ },
      \}
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].