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 1642    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.
SourceForge.net Logo