304 lines
9.1 KiB
Plaintext
304 lines
9.1 KiB
Plaintext
*vim-common-util*
|
|
|
|
|
|
Utility Commands
|
|
****************
|
|
|
|
The following is a list of utility commands provided by eclim. These
|
|
are general purpose commands that are useful in and outside the scope
|
|
of eclim.
|
|
|
|
*:LocateFile*
|
|
|
|
- :LocateFile [file_pattern] - Attempts to locate the supplied file
|
|
pattern or if no argument is supplied, opens a temporary window
|
|
where the text you type is turned into a pattern and search results
|
|
are presented as you type.
|
|
|
|
[image]
|
|
While in this completion mode the following key bindings are
|
|
available:
|
|
- <esc> - close the search window without selecting a file
|
|
|
|
- <tab> or <down> - cycle forward through the results
|
|
|
|
- <shift><tab> or <up> - cycle backwards through the results
|
|
|
|
- <enter> - open the selected file using the default action
|
|
|
|
- <ctrl>e - open the selected file via :edit
|
|
|
|
- <ctrl>s - open the selected file via :split
|
|
|
|
- <ctrl>t - open the selected file via :tabnew
|
|
|
|
- <ctrl>l - switch the locate scope
|
|
|
|
- <ctrl>h - toggle the help buffer
|
|
|
|
By default, the search string accepted by the completion mode is
|
|
intended to be just portions of the file name you are looking for,
|
|
which is then automatically expanded in an effort to help you find
|
|
the file with the fewest keystrokes possible.
|
|
|
|
The argument version of :LocateFile on the other hand, accepts a
|
|
hybrid glob/regex pattern. The glob portion allows you to use * and
|
|
** to match portions of a path or traverse multiple directories.
|
|
You can mix * and ** with standard perl compatible regex operators
|
|
to construct your search pattern.
|
|
|
|
If you prefer the more explicit patterns supported by the argument
|
|
version of :LocateFile over the default "fuzzy" pattern supported by
|
|
the completion version of :LocateFile, then you can turn off the
|
|
fuzzy matching support using the g:EclimLocateFileFuzzy variable
|
|
described below.
|
|
|
|
By default, all searching by both variants of this command is
|
|
limited to the current project and any projects listed as
|
|
dependencies, but you can widen the search scope to include all open
|
|
projects by setting g:EclimLocateFileScope to 'workspace', which is
|
|
the default scope when :LocateFile is executed outside of a project.
|
|
|
|
In addition to the 'project' and 'workspace' scopes, :LocateFile
|
|
also supports the following scopes:
|
|
|
|
- buffers: search listed buffers
|
|
|
|
- quickfix: search the quickfix results
|
|
|
|
- vcsmodified: search files reported by your vcs as modified or
|
|
untracked.
|
|
|
|
Note: For performance reasons, locating files in the 'project' and
|
|
'workspace' scopes depends on eclipse being aware of all your
|
|
project files. For the most part this is handled automatically as
|
|
you create and edit files within vim. However, actions you take
|
|
outside of vim or eclipse (moving/removing files, updates from a
|
|
version control system, etc.) will not be visible until you force
|
|
a project refresh via |:ProjectRefresh|.
|
|
|
|
Configuration
|
|
|
|
Vim Settings
|
|
|
|
*g:EclimLocateFileDefaultAction*
|
|
- g:EclimLocateFileDefaultAction (Default: 'split') - Determines the
|
|
command used to open the file when hitting <enter> on an entry in
|
|
the locate file results.
|
|
|
|
*g:EclimLocateFileScope*
|
|
- g:EclimLocateFileScope (Default: 'project') - Determines the scope
|
|
for which to search for files.
|
|
|
|
- 'project': search only the current project and its dependencies.
|
|
|
|
- 'workspace': search the entire workspace (all open projects).
|
|
|
|
- 'buffers': search listed buffers
|
|
|
|
- 'quickfix': search the quickfix results
|
|
|
|
- 'vcsmodified': search files reported by your vcs as modified or
|
|
untracked.
|
|
|
|
*g:EclimLocateFileFuzzy*
|
|
- g:EclimLocateFileFuzzy (Default: 1) - Determines whether or not
|
|
'fuzzy' searching will be used on the no arugment version of
|
|
:LocateFile.
|
|
|
|
*:Split*
|
|
|
|
- :Split file [file ...] - Behaves like the 'split' command, but
|
|
allows multiple files to be supplied. Supports '*' and '**'
|
|
wildcards.
|
|
|
|
*:SplitRelative*
|
|
|
|
- :SplitRelative file [file ...] - Like :Split this command provides
|
|
splitting of multiple files, but this command splits files relative
|
|
to the file in the current buffer. Supports '*' and '**' wildcards.
|
|
|
|
*:Tabnew*
|
|
|
|
- :Tabnew file [file ...] - Behaves like :Split, but issues a :tabnew
|
|
on each file. Supports '*' and '**' wildcards.
|
|
|
|
*:TabnewRelative*
|
|
|
|
- :TabnewRelative file [file ...] - Behaves like :SplitRelative, but
|
|
issues a :tabnew on each file. Supports '*' and '**' wildcards.
|
|
|
|
*:EditRelative*
|
|
|
|
- :EditRelative file - Like :SplitRelative except issues an 'edit' and
|
|
only supports one file at a time.
|
|
|
|
*:ReadRelative*
|
|
|
|
- :ReadRelative file - Like :SplitRelative except issues a 'read' and
|
|
only supports one file at a time.
|
|
|
|
*:ArgsRelative*
|
|
|
|
- :ArgsRelative file_pattern [file_pattern ...] - Like :SplitRelative
|
|
except executes 'args'.
|
|
|
|
*:ArgAddRelative*
|
|
|
|
- :ArgAddRelative file_pattern [file_pattern ...] - Like
|
|
:SplitRelative except executes 'argadd'.
|
|
|
|
*:VimgrepRelative*
|
|
|
|
- :VimgrepRelative /regex/ file_pattern [ file_pattern ...] - Executes
|
|
:vimgrep relative to the current file.
|
|
|
|
*:VimgrepAddRelative*
|
|
|
|
- :VimgrepAddRelative /regex/ file_pattern [ file_pattern ...] -
|
|
Executes :vimgrepadd relative to the current file.
|
|
|
|
*:LvimgrepRelative*
|
|
|
|
- :LvimgrepRelative /regex/ file_pattern [ file_pattern ...] -
|
|
Executes :lvimgrep relative to the current file.
|
|
|
|
*:LvimgrepAddRelative*
|
|
|
|
- :LvimgrepAddRelative /regex/ file_pattern [ file_pattern ...] -
|
|
Executes :lvimgrepadd relative to the current file.
|
|
|
|
*:CdRelative*
|
|
|
|
- :CdRelative dir - Executes :cd relative to the current file.
|
|
|
|
*:LcdRelative*
|
|
|
|
- :LcdRelative dir - Executes :lcd relative to the current file.
|
|
|
|
*:Tcd*
|
|
|
|
- :Tcd dir - Mimics vim's :lcd command but sets the current working
|
|
directory local to the current tab instead of just the current
|
|
window.
|
|
|
|
*:DiffLastSaved*
|
|
|
|
- :DiffLastSaved - Performs a diffsplit with the last saved version of
|
|
the currently modifed file.
|
|
|
|
*:SwapWords*
|
|
|
|
- :SwapWords - Swaps two words (with cursor placed on the first word).
|
|
Supports swapping around non-word characters like commas, periods,
|
|
etc.
|
|
|
|
*:Sign*
|
|
|
|
- :Sign - Toggles adding or removing a vim sign on the current line.
|
|
|
|
*:Signs*
|
|
|
|
- :Signs - Opens a new window containing a list of signs for the
|
|
current buffer. Hitting <enter> on one of the signs in the list
|
|
will take you to that sign in the corresponding buffer.
|
|
|
|
*:SignClearUser*
|
|
|
|
- :SignClearUser - Removes all vim signs added via :Sign.
|
|
|
|
*:SignClearAll*
|
|
|
|
- :SignClearAll - Removes all vim signs.
|
|
|
|
*:QuickFixClear*
|
|
|
|
- :QuickFixClear - Removes all entries from the quick fix window.
|
|
|
|
*:LocationListClear*
|
|
|
|
- :LocationListClear - Removes all entries from the location list
|
|
window.
|
|
|
|
*:Buffers*
|
|
|
|
- :Buffers - Opens a temporary window with a list of all the currently
|
|
listed buffers in vim (like :buffers). From this list you can open
|
|
any of the files using one of the following shortcuts:
|
|
|
|
- E (shift-e) - Open the file with 'edit'.
|
|
|
|
- S (shift-s) - Open the file with 'split'.
|
|
|
|
- T (shift-t) - Open the file with 'tabnew'.
|
|
|
|
- D (shift-d) - Deletes the buffer and removes it from the list.
|
|
|
|
- ? - View the help buffer.
|
|
|
|
In addition to the above mappings you can also use <return> to
|
|
execute the configured default action on the buffer under the
|
|
cursor.
|
|
|
|
To configure the default action you can set the following variable:
|
|
|
|
g:EclimBuffersDefaultAction (defaults to 'split')
|
|
|
|
By default entries will be sorted by path name, but you may change
|
|
the sorting via these two variables:
|
|
|
|
Configuration
|
|
|
|
Vim Settings
|
|
|
|
*g:EclimBuffersSort*
|
|
- g:EclimBuffersSort (defaults to 'path') Supports one of 'path',
|
|
'status' (active or hidden), 'bufnr'.
|
|
|
|
*g:EclimBuffersSortDirection*
|
|
- g:EclimBuffersSortDirection (defaults to 'asc') Supports one of
|
|
'asc' or 'desc'.
|
|
|
|
*:Only*
|
|
|
|
- :Only - Alternative for vim's :only command. The purpose of this
|
|
command and the original vim version is to close all but the current
|
|
window. Unfortunately there is no way to tell the vim version to
|
|
exclude some windows you may wish to keep open (taglist, quickfix,
|
|
etc.). The eclim version provides that ability via the
|
|
g:EclimOnlyExclude variable.
|
|
|
|
Configuration
|
|
|
|
Vim Settings
|
|
|
|
*g:EclimOnlyExclude*
|
|
g:EclimOnlyExclude (defaults to
|
|
'(ProjectTree_*|__Tag_List__|-MiniBufExplorer-|command-line)')
|
|
|
|
*:OtherWorkingCopyDiff*
|
|
|
|
- :OtherWorkingCopyDiff <project> - Diffs the current file against the
|
|
same file in another project (one which has the same project
|
|
relative path). This is most useful if you find yourself doing
|
|
branch development and want to view the differences of the current
|
|
file against one of the other branches. Supports command line tab
|
|
completion of project names which contain a file with the same
|
|
relative path as the current file: :OtherWorkingCopyDiff <tab>.
|
|
|
|
*:OtherWorkingCopyEdit*
|
|
|
|
- :OtherWorkingCopyEdit <project> - Like :OtherWorkingCopyDiff, except
|
|
open the file in the current window.
|
|
|
|
*:OtherWorkingCopySplit*
|
|
|
|
- :OtherWorkingCopySplit <project> - Like :OtherWorkingCopyDiff,
|
|
except open the file in a new window.
|
|
|
|
*:OtherWorkingCopyTabopen*
|
|
|
|
- :OtherWorkingCopyTabopen <project> - Like :OtherWorkingCopyDiff,
|
|
except open the file in a new tab.
|
|
|
|
vim:ft=eclimhelp |