sponsor Vim development Vim logo Vim Book Ad

ScmFrontEnd (former name: MinSCM) : An abstract front-end for Mercurial/Git/Bazaar

 script karma  Rating 11/5, Downloaded by 3488  Comments, bugs, improvements  Vim wiki

created by
script type


Download latest(development) version


INTRODUCTION                                             *minscm-introduction*

MinSCM is a plugin to manage your repositories of various SCM system (VCS).
MinSCM provides an abstract interface, so you can manage repositories without
being aware of differences between SCM systems.

  - Mercurial support
  - Git support
  - Bazaar support
  - Abstract interface
  - Many commands
  - Syntax highlighting for status and diff in commit buffer.
  - Syntax highlighting for annotate buffer
  - Completion of revision/branch names
  - Completion of locations for pull/push
  - Repositories report on status line
  - Collaboration with Fuzzyfinder plugin

INSTALLATION                                             *minscm-installation*

Put all files into your runtime directory. If you have the zip file, extract
it to your runtime directory.

You should place the files as follows:
        <your runtime directory>/plugin/minscm.vim
        <your runtime directory>/autoload/minscm.vim
        <your runtime directory>/autoload/minscm/mercurial.vim
And then update your help tags files to enable MinSCM help. See
|add-local-help| for details.

USAGE                                                           *minscm-usage*

See |minscm-commands|.

To Show Repositories Information In Status Line ~

Use g:minscm_getStatus(). (see also: |'statusline'|)

Fuzzyfinder Plugin ~

MinSCM uses APIs of fuzzyfinder.vim. Following commands are dependent on


fuzzyfinder.vim is available at
http://www.vim.org/scripts/script.php?script_id=1984 .

COMMANDS                                                     *minscm-commands*

All commands is for a reposity including a file of current buffer.

If MinSCM command was executed with a ! modifier, the priority of SCM systems
is reversed.

:MinSCMCommand[!]               (Default mapping: \s:)

        Executes any command you input.

:MinSCMCommitFile[!]            (Default mapping: \sC)

        Opens temporary buffer for you to enter commit message. Write the
        commit buffer and a file whose buffer was current before is committed.

                Used SCM commands ~
                hg  : commit
                git : commit
                bzr : commit

:MinSCMCommitTracked[!]         (Default mapping: \s<C-c>)

        Opens temporary buffer for you to enter commit message. Write the
        commit buffer and all tracked files are committed.

                Used SCM commands ~
                hg  : commit
                git : commit -a
                bzr : commit

:MinSCMCommitAll[!]             (Default mapping: \sc)

        Opens temporary buffer for you to enter commit message. Write the
        commit buffer and all files in a working directory of a current
        repository are committed.

        This command is different from |:MinSCMCommitTracked| in adding
        untracked files to the current repository.

                Used SCM commands ~
                hg  : commit -A
                git : add -a && commit -a
                bzr : add && commit

:MinSCMCheckout[!]              (Default mapping: \so)

        Checkouts specified revision.

                Used SCM commands ~
                hg  : update
                git : checkout
                bzr : (unavailable)

:MinSCMMerge[!]                 (Default mapping: \sm)

        Merges working directory of a current repository with specified

                Used SCM commands ~
                hg  : merge
                git : merge
                bzr : (unavailable)

:MinSCMBranch[!]                (Default mapping: \sb)

        Creates new branch.

                Used SCM commands ~
                hg  : branch
                git : checkout -b
                bzr : (unavailable)

:MinSCMBranchDelete[!]          (Default mapping: \sB)

        Deletes a branch.

                Used SCM commands ~
                hg  : (unavailable)
                git : branch -d
                bzr : (unavailable)

:MinSCMRebase[!]                (Default mapping: \sr)

        Moves changeset onto specified revision.

                Used SCM commands ~
                hg  : rebase --keep -b
                git : rebase
                bzr : (unavailable)

:MinSCMPull[!]                  (Default mapping: \s[)

        Pulls changes from specified repository.

                Used SCM commands ~
                hg  : pull
                git : pull
                bzr : pull

:MinSCMPush[!]                  (Default mapping: \s])

        Pushes changes to specified repository.

                Used SCM commands ~
                hg  : push
                git : push
                bzr : push

:MinSCMDiffFile[!]              (Default mapping: \sD)

        Starts diff mode (like vimdiff) in new tabpage between a file of a
        current buffer and its version of specified revision.

                Used SCM commands ~
                hg  : cat
                git : cat-file -p
                bzr : cat

:MinSCMDiffAll[!]               (Default mapping: \sd)

        Shows differences between all files in a working directory of a
        current repository and specified revision.

                Used SCM commands ~
                hg  : diff
                git : diff
                bzr : diff

:MinSCMLogFile[!]               (Default mapping: \sL)

        Shows revision history related to a file of a current buffer. (see
        also: |g:minscm_hgLogOption| |g:minscm_gitLogOption|

                Used SCM commands ~
                hg  : glog
                git : log
                bzr : log

:MinSCMLogAll[!]                (Default mapping: \sl)

        Shows revision history. (see also: |g:minscm_hgLogOption|
        |g:minscm_gitLogOption| |g:minscm_bzrLogOption|)

                Used SCM commands ~
                hg  : glog
                git : log
                bzr : log

:MinSCMAnnotateFile[!]          (Default mapping: \sn)

        Shows commit information per file line.

        Lines which were modified at the commit of specified revision or added
        at the initial commit are highlighted.

                Used SCM commands ~
                hg  : annotate -nudq
                git : blame
                bzr : annotate --all --long

:MinSCMStatus[!]                (Default mapping: \ss)

        Shows a list of changed files.

                Used SCM commands ~
                hg  : status
                git : diff --name-status && ls-files --exclude-standard -o
                bzr : status

:MinSCMGrep[!]                  (Default mapping: \sg)

        Searches for specified pattern and creates a |quickfix| list.

                Used SCM commands ~
                hg  : grep -n
                git : grep -n -e
                bzr : (unavailable)

:MinSCMLoadModified[!]          (Default mapping: \s!)

        Loads all modified files with vim after unloading (by :bdelete)
        buffers which are not modified files.

                Used SCM commands ~
                hg  : status -mn
                git : ls-files -m
                bzr : status -SV

:MinSCMLoadAll[!]               (Default mapping: \s<CR>)

        Loads all tracked files with vim after unloading (by :bdelete) buffers
        which are not tracked files.

                Used SCM commands ~
                hg  : locate -f
                git : ls-files
                bzr : ls

:MinSCMFindFile[!]              (Default mapping: \sf)

        Opens a selected file from all tracked files using Fuzzyfinder.
        (see also: |minscm-fuzzyfinder|)

                Used SCM commands ~
                hg  : locate -f
                git : ls-files
                bzr : ls

install details

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
vim-minscm.zip 0.7.2 2009-09-13 7.0 Takeshi NISHIDA - Fixed to correspond to API of Fuzzyfinder version 3.2.
vim-minscm.zip 0.7.1 2009-09-04 7.0 Takeshi NISHIDA - Fixed to correspond to API of Fuzzyfinder version 3.0.
vim-minscm.zip 0.6.0 2009-06-15 7.0 Takeshi NISHIDA - Added MinSCMLogFile command.
- Added MinSCMLoadPull command.
- Added MinSCMLoadPush command.
- Added g:minscm_hgLocations option.
- Added g:minscm_gitLocations option.
- Added g:minscm_bzrLocations option.
- Added g:minscm_hgPullIsFetch option.
- Renamed MinSCMLog command to MinSCMLogAll.
- Changed MinSCMCommand command to use :! command instead of system()
vim-minscm.zip 0.5.0 2009-06-13 7.0 Takeshi NISHIDA - Added MinSCMLoadModified command.
- Improved MinSCMAnnotateFile command to highlight lines which were modified
  at the commit of specified revision or added at the initial commit.
- Changed default values of g:minscm_hgLogOption, g:minscm_gitLogOption, and
  g:minscm_bzrLogOption to limit a number of revisions to show.
vim-minscm.zip 0.4.0 2009-06-11 7.0 Takeshi NISHIDA - Added MinSCMAnnotateFile command.
- Added g:minscm_mapKeyCommand, g:minscm_mapKeyCommitFile,
  g:minscm_mapKeyCommitTracked, g:minscm_mapKeyCommitAll,
  g:minscm_mapKeyCheckout, g:minscm_mapKeyMerge, g:minscm_mapKeyBranch,
  g:minscm_mapKeyBranchDelete, g:minscm_mapKeyRebase,
  g:minscm_mapKeyDiffFile, g:minscm_mapKeyDiffAll, g:minscm_mapKeyLog,
  g:minscm_mapKeyAnnotateFile, g:minscm_mapKeyStatus, g:minscm_mapKeyGrep,
  g:minscm_mapKeyLoadAll, and g:minscm_mapKeyFindFile options.
vim-minscm.zip 0.3.0 2009-06-10 7.0 Takeshi NISHIDA - Added g:minscm_hgLogOption, g:minscm_gitLogOption, and
  g:minscm_bzrLogOption options.
- Improved MinSCMGrep command and now it creates a quickfix list.
- Changed default log style for Mercurial repositories.
- Fixed a bug that MinSCMLog command for Mercurial repositories could not
  show graph log in some environments (thanks to mii for the patch).
- Fixed a bug that MinSCMCommitFile, MinSCMCommitTracked, and
  MinSCMCommitAll commands for repositories which had not been committed
  didn't work.
vim-minscm.zip 0.2.1 2009-06-09 7.0 Takeshi NISHIDA - Fixed a bug that the log command for Mercurial repositories didn't work on
vim-minscm.zip 0.2.0 2009-06-05 7.0 Takeshi NISHIDA - Changed not to show modified files number on a status line.
- Changed highlight of a commit buffer.
- Added MinSCMFindFile command.
- Added Japanese help (doc/minscm.jax).
vim-minscm.zip 0.1.0 2009-05-17 7.2 Takeshi NISHIDA Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.