svnj.vim


Ⅰ. 插件描述

VIM SVN plugin ( subversion svn vim7)

Ⅱ. 基本信息

创建日期:  2014-03-10
使用用户:  26
Github星:  18
插件作者:  juneed ahamed

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'juneedahamed/svnj-vim'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'juneedahamed/svnj-vim'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'juneedahamed/svnj-vim'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/juneedahamed/svnj.vim

Ⅳ. 文档说明

#svnj.vim

NOTE: New and Improved version of the script with support for SVN, GIT, HG and BZR is now available at https://github.com/juneedahamed/vc.vim

Users of svnj.vim just need to change the .vimrc settings from svnj_ to vc_ after cloning the new script

VIM (VIM 7 and up) plugin for subversion (svn)
Support for browsing the repository, working copy, bookmarks.

Also at vim.org : http://www.vim.org/scripts/script.php?script_id=4888

Screen shots

svnbrowse

svnbrowserepo

svnlog

svnstatus

svnlog2

svnlogbranches

Supported operations

svn add, svn commit, svn checkout, svn cp,
svn log, svn status, svn diff, svn blame, svn list

Features

  • SVNBrowse

    Browse the svn repository, working copy files from within vim. Options to
    bookmark files/directories for current vim session or provide permanent
    bookmarks/favorites.

    Available options for browsing are

    - SVNBrowse - Provides a menu for the Browsing commands
    - SVNBrowseRepo  - Lists files from repository
    - SVNBrowseWorkingCopy - Lists files from current dir
    - SVNBrowseMyList  - Lists files specifies from g:svnj_browse_mylist
    - SVNBrowseBookMarks - Lists Bookmarked files/dirs
    - SVNBrowseBuffer - List Buffer files
    

    Some of the operations supported are

    - Open directory/files
    - Recursive list directories
    - Navigate up one dir
    - Go to Start/Top
    - Open all files
    - Diff the current file with the file in buffer
    - Mark for open/diff
    - Bookmark file/dir
    - SVN Add
    - SVN Commit
    - SVN Checkout 
    - SVN Log
    
  • SVNLog

    Get the revisions of file in buffer. With the list of revisions from the output.

    • Open/diff required file revision (new buffer, vertical split)
    • Mark required revision to open/diff
    • List trunk
    • List branches
    • Diff/open files across branches/trunk
    • List affected files
    • SVN Diff with options :HEAD or :PREV
    • SVN Info
  • SVNStatus

    Get the output of svn st. With the listed files

    • Open any/all files
    • Mark required files to open
    • Pass q/u option to svn st
    • Global option to ignore files
    • Diff files
    • SVN Info
    • SVN Add
    • SVN Commit
  • SVNCommit

    Commits the current file in buffer when no arguments are passed, Applicable arguments are
    file/directory to commit. A new buffer will be opened to accept commit comments. The
    buffer will list the files which are candidates for commit. Files/Directories can also be
    updated in this buffer. A commit can be forced with no comments with a bang.
    SVNCommit is supported as a command and also as an operation from the SVNStatus output

    1. see :help SVNStatus
  • SVNBlame

    Vertically splits the blame info for the file in bufffer. Scrollbinds to the file.
    Takes files as arguments

  • SVNDiff

    Immediate diff the file in buffer with the previous revision. For diff with required/any
    revision use SVNLog. If there are more than one file in buffer Ctrl-n/Ctrl-p will
    close the current diff and move to the next/prev file in buffer and opens a diff for
    the said file

  • SVNClearCache

    The cache / persistency is not enabled by default. please see help SVNClearCache for more info.

  • SVNInfo

    Will display svn info for the file in buffer when no args, Accepts file/dirs as args

  • SVNCommits

    Get the list of files checked in across project revision. This command lists the output of svn log of the project directory.

Installation

Options 1: (Pathogen Users)

  1. cd ~/.vim/bundle
  2. git clone git@github.com:juneedahamed/svnj.vim.git

Option 2:

  1. git clone git@github.com:juneedahamed/svnj.vim.git
  2. copy files from svnj.vim/plugin to ~/.vim/plugin
  3. copy files from svnj.vim/autoload to ~/vim/autoload
  4. copy files from svnj.vim/doc to ~/vim/doc
  5. Run at vim's command :helptags doc

Basic Usage

Run from vim commandline

  1. :SVNBlame
  2. :SVNDiff
  3. :SVNLog
  4. :SVNStatus
  5. :SVNCommit
  6. :SVNCommits
  7. :SVNAdd
  8. :SVNBrowse
  9. :SVNBrowseWorkingCopy
  10. :SVNBrowseRepo
  11. :SVNBrowseBookMarks
  12. :SVNBrowseMyList
  13. :SVNBrowseBuffer
  14. :help svn

Settings .vimrc

Custom settings

`let g:svnj_custom_statusbar_ops_hide = 1`

Supported operations are listed on the status line of the svnj_window. With growing support for
many commands, recomend to hide it. You can still have a quick glance of supported operations by
pressing ? (question-mark)

Cache settings

`let g:svnj_browse_cache_all = 1`

This enables caching, Listing of files will be faster, On MAC/Unix the default location is $HOME/.cache.
A new directory svnj will be created in the specified directory.

For windows this option must be specified along with the cache dir
    `let g:svnj_cache_dir="C:/Users/user1"`

To list all branches or trunk

Optional settings when available will provide menu's to navigate available branches/trunk

let g:svnj_branch_url = ["svn://127.0.0.1/Path/until/branches/", "svn://127.0.0.1/Path/until/tags"]

let g:svnj_trunk_url = "svn://127.0.0.1/Path/until/trunk"

For more info run :help svnj-options

To allow default mappings

  1. let g:svnj_allow_leader_mappings=1

    For more info run at command line `:help svnj-mappings`
    

添加新评论