There are no reviews yet. Be the first to send feedback to the community and the maintainers!
This is a mirror of http://www.vim.org/scripts/script.php?script_id=521 Overview The Most Recently Used (MRU) plugin provides an easy access to a list of recently opened/edited files in Vim. This plugin automatically stores the file names as you open/edit them in Vim. This plugin will work on all the platforms where Vim is supported. This plugin will work in both console and GUI Vim. This version of the MRU plugin needs Vim 7.0 and above. If you are using an earlier version of Vim, then you should use an older version of the MRU plugin. The recently used filenames are stored in a file specified by the Vim MRU_File variable. The Github repository for the MRU plugin is available at: http://github.com/yegappan/mru Usage To list and edit files from the MRU list, you can use the ":MRU" command. The ":MRU" command displays the MRU file list in a temporary Vim window. If the MRU window is already opened, then the MRU list displayed in the window is refreshed. If you are using GUI Vim, then the names of the recently edited files are added to the "File->Recent Files" menu. You can select the name of a file from this sub-menu to edit the file. You can use the normal Vim commands to move around in the MRU window. You cannot make changes in the MRU window. You can select a file name to edit by pressing the <Enter> key or by double clicking the left mouse button on a file name. The selected file will be opened. If the file is already opened in a window, the cursor will be moved to that window. Otherwise, the file is opened in the previous window. If the previous window has a modified buffer or is the preview window or is used by some other plugin, then the file is opened in a new window. You can press the 'o' key to open the file name under the cursor in the MRU window in a new window. You can also press <Shift-Enter> instead of 'o' to open the file in a new window. To open a file from the MRU window in read-only mode (view), press the 'v' key. To open a file from the MRU window in a new tab, press the 't' key. If the file is already opened in a window in the current or in another tab, then the cursor is moved to that tab. Otherwise, a new tab is opened. You can open multiple files from the MRU window by specifying a count before pressing '<Enter>' or 'v' or 'o' or 't'. You can also visually (using linewise visual mode) select multiple filenames and invoke the commands to open the files. Each selected file will be opened in a separate window or tab. You can press the 'u' key in the MRU window to update the file list. This is useful if you keep the MRU window open always. You can close the MRU window by pressing the 'q' key or the <Esc> key or using one of the Vim window commands. To display only files matching a pattern from the MRU list in the MRU window, you can specify a pattern to the ":MRU" command. For example, to display only file names matching "vim" in them, you can use the following command ":MRU vim". When you specify a partial file name and only one matching filename is found, then the ":MRU" command will edit that file. The ":MRU" command supports command-line completion of file names from the MRU list. You can enter a partial file name and then press <Tab> or <Ctrl-D> to complete or list all the matching file names. Note that after typing the ":MRU" command, you have to enter a space before completing the file names with <Tab>. When a file supplied to the ":MRU" command is not present in the MRU list, but it is a readable file, then the file will be opened (even though it is not present in the MRU list). This is useful if you want to open a file present in the same directory as a file in the MRU list. You can use the command-line completion of the ":MRU" command to complete the full path of a file and then modify the path to open another file present in the same path. Whenever the MRU list changes, the MRU file is updated with the latest MRU list. When you have multiple instances of Vim running at the same time, the latest MRU list will show up in all the instances of Vim. The MRUFilename syntax group is used to highlight the file names in the MRU window. By default, this syntax group is linked to the Identifier highlight group. You can change the highlight group by adding the following line in your .vimrc: highlight link MRUFileName LineNr The MRU buffer uses the 'mru file type. You can use this file type to add custom auto commands, syntax highlighting, etc. Configuration By changing the following variables you can configure the behavior of this plugin. Set the following variables in your .vimrc file using the 'let' command. The list of recently edited file names is stored in the file specified by the MRU_File variable. The default setting for this variable is $HOME/.vim_mru_files for Unix-like systems and $USERPROFILE/_vim_mru_files for MS-Windows systems. You can change this variable to point to a file by adding the following line to the .vimrc file: let MRU_File = 'd:\myhome\_vim_mru_files' By default, the plugin will remember the names of the last 100 used files. As you edit more files, old file names will be removed from the MRU list. You can set the 'MRU_Max_Entries' variable to remember more file names. For example, to remember 1000 most recently used file names, you can use let MRU_Max_Entries = 1000 By default, all the edited file names will be added to the MRU list. If you want to exclude file names matching a list of patterns, you can set the MRU_Exclude_Files variable to a list of Vim regular expressions. By default, this variable is set to an empty string. For example, to not include files in the temporary (/tmp, /var/tmp and d:\temp) directories, you can set the MRU_Exclude_Files variable to let MRU_Exclude_Files = '^/tmp/.*\|^/var/tmp/.*' " For Unix let MRU_Exclude_Files = '^c:\\temp\\.*' " For MS-Windows The specified pattern should be a Vim regular expression pattern. If you want to add only file names matching a set of patterns to the MRU list, then you can set the MRU_Include_Files variable. This variable should be set to a Vim regular expression pattern. For example, to add only .c and .h files to the MRU list, you can set this variable as below: let MRU_Include_Files = '\.c$\|\.h$' By default, MRU_Include_Files is set to an empty string and all the edited filenames are added to the MRU list. The default height of the MRU window is 8. You can set the MRU_Window_Height variable to change the window height. let MRU_Window_Height = 15 By default, when the :MRU command is invoked, the MRU list will be displayed in a new window. Instead, if you want the MRU plugin to reuse the current window, then you can set the 'MRU_Use_Current_Window' variable to one. let MRU_Use_Current_Window = 1 The MRU plugin will reuse the current window. When a file name is selected, the file is also opened in the current window. When you select a file from the MRU window, the MRU window will be automatically closed and the selected file will be opened in the previous window. You can set the 'MRU_Auto_Close' variable to zero to keep the MRU window open. let MRU_Auto_Close = 0 If you don't use the "File->Recent Files" menu and want to disable it, then you can set the 'MRU_Add_Menu' variable to zero. By default, the menu is enabled. let MRU_Add_Menu = 0 If too many file names are present in the MRU list, then updating the MRU menu to list all the file names makes Vim slow. To avoid this, the MRU_Max_Menu_Entries variable controls the number of file names to show in the MRU menu. By default, this is set to 10. You can change this to show more entries in the menu. let MRU_Max_Menu_Entries = 20 If many file names are present in the MRU list, then the MRU menu is split into sub-menus. Each sub-menu contains MRU_Max_Submenu_Entries file names. The default setting for this is 10. You can change this to increase the number of file names displayed in a single sub-menu: let MRU_Max_Submenu_Entries = 15 In the MRU window, the filenames are displayed in two parts. The first part contains the file name without the path and the second part contains the full path to the file in parenthesis. This format is controlled by the MRU_Filename_Format variable. If you prefer to change this to some other format, then you can modify the MRU_Filename_Format variable. For example, to display the full path without splitting it, you can set this variable as shown below: let MRU_Filename_Format={'formatter':'v:val', 'parser':'.*'}
taglist.vim
Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)dbext.vim
Provides database access to many dbms (Oracle, Sybase, Microsoft, MySQL, DBI,..)YankRing.vim
Maintains a history of previous yanks, changes and deletesa.vim
Alternate Files quickly (.c --> .h etc)DrawIt
Ascii drawing plugin: lines, ellipses, arrows, fills, and more!ReplaceWithRegister
Replace text with the contents of a register.Conque-GDB
GDB command line interface and terminal emulator in (G)Vim.AutoComplPop
Automatically opens popup menu for completionsFuzzyFinder
buffer/file/command/tag/etc explorer with fuzzy matchingConque-Shell
Run interactive commands inside a Vim buffervim-auto-save
Automatically save changes to diskvimwiki
Personal Wiki for VimZoomWin
Zoom in/out of windows (toggle between one window and multi-window)VimClojure
A filetype, syntax and indent plugin for Clojureparedit.vim
Paredit Mode: Structured Editing of Lisp S-expressionsDoxygenToolkit.vim
Simplify Doxygen documentation in C, C++, Python.c.vim
C/C++ IDE -- Write and run programs. Insert statements, idioms, comments etc.matchit.zip
extended % matching for HTML, LaTeX, and many other languagesargtextobj.vim
Text-object like motion for argumentsAlign
Help folks to align text, eqns, declarations, tables, etcUltiSnips
The ultimate snippet solution for python enabled Vim.Vim-R-plugin
Plugin to work with Rslimv.vim
SLIME-like Lisp and Clojure REPL inside Vim with Profiling, Hyperspec, Pareditbufexplorer.zip
Buffer Explorer / BrowserTaskList.vim
Eclipse like task listVimIM
Vim Input Method -- Vim ä¸æ–‡è¾“入法VOoM
Vim Outliner of Markers -- two-pane outliner and related utilitiesSQLUtilities
SQL utilities - Formatting, generate - columns lists, procedures for databasesbash-support.vim
BASH IDE -- Write and run BASH-scripts using menus and hotkeys.netrw.vim
Network oriented reading, writing, and browsing (keywords: netrw ftp scp)OmniCppComplete
C/C++ omni-completion with ctags databaseLanguageTool
Grammar checker for English, French, German (etc.) in VimPydiction
Tab-complete your Python codeTwitVim
Twitter client for Vimxoria256.vim
Finely tuned soft gamma, 256 colors, dark background, gvim == vimindentpython.vim
An alternative indentation script for pythonutl.vim
Univeral Text Linking - Execute URLs, footnotes, open emails, organize ideasfcitx.vim
keep and restore fcitx state when leaving/re-entering insert modepeaksea
Refined color, contains both gui and cterm256 for dark and light backgroundSyntaxRange
Define a different filetype syntax on regions of a buffer.L9
Vim-script libraryAnsiEsc.vim
ansi escape sequences concealed, but highlighted as specified (conceal)LargeFile
Edit large files quickly (keywords: large huge speed)JavaScript-Indent
Javascript indenter (HTML indent is included)tComment
An extensible & universal comment plugin that also handles embedded filetypesThe-NERD-tree
A tree explorer plugin for navigating the filesystemnginx.vim
initial versioncamelcasemotion
Motion through CamelCaseWords and underscore_notation.ShowMarks
Visually shows the location of marks.closetag.vim
Functions and mappings to close open HTML/XML tagsBufOnly.vim
Delete all the buffers except the current/named bufferbufkill.vim
Unload/delete/wipe a buffer, keep its window(s), display last accessed buffer(s)vcscommand.vim
CVS/SVN/SVK/git/hg/bzr integration pluginAuto-Pairs
Insert or delete brackets, parens, quotes in pair.AutoClose
Inserts matching bracket, paren, brace or quoteGundo
Visualize your undo tree.grep.vim
Grep search tools integration with Vimjavacomplete
Omni Completion for JAVASearchComplete
Tab completion of words inside of a search ('/')VisIncr
Produce increasing/decreasing columns of numbers, dates, or daynamesEasyGrep
Fast and Easy Find and Replace Across Multiple Filespep8
Check your python source files with PEP8wombat256.vim
Wombat for 256 color xtermssessionman.vim
Vim session managercscope.vim
create cscope database and connect to existing proper database automatically.restore_view.vim
A plugin for automatically restoring file's cursor position and foldingMark--Karkat
Highlight several words in different colors simultaneously. (#1238 continued)loremipsum
A dummy text generatorScrollColors
Colorsheme Scroller, Chooser, and Browsergtags.vim
Integrates GNU GLOBAL source code tag system with VIM.perl-support.vim
Perl IDE -- Write and run Perl-scripts using menus and hotkeys.google.vim
Indent file for Google C++ Coding Stylewinmanager
A windows style IDE for Vim 6.0gitignore
Set 'wildignore' from ./.gitignoresudo.vim
Allows one to edit a file with prevledges from an unprivledged session.HTML-AutoCloseTag
Automatically closes HTML tags once you finish typing them.greplace.vim
Replace a pattern across multiple files interactivelyCSApprox
Make gvim-only colorschemes work transparently in terminal vimphpfolding.vim
Automatic folding of PHP functions, classes,.. (also folds related PhpDoc)SyntaxComplete
OMNI Completion based on the current syntax highlightsvis
Extended Visual Mode Commands, Substitutes, and SearchessnipMate
TextMate-style snippets for Vimworkflowish
ToDo manager plugin inspired by workflowy.comVimRepress
Plugin for managing wordpress blog from Vim.Lucius
Dark and light color scheme (GUI and 256 color terminal)SQLComplete.vim
SQLComplete is a SQL code completion system using the omnifunc frameworkWombat
Dark gray color scheme sharing some similarities with DesertDirDiff.vim
A plugin to diff and merge two directories recursively.AutoTag
Updates entries in a tags file automatically when savingTagHighlight
Extra highlighting of typedefs, enumerations etc (based on ctags)Gist.vim
vimscript for gistjsbeautify
a javascript source code formatterThe-NERD-Commenter
A plugin that allows for easy commenting of code for many filetypes.marvim
Macro Persistent Storage and Shareable Repository for VIMPython-mode-klen
python modescratch.vim
Plugin to create and use a scratch Vim bufferEmmet.vim
vim plugins for HTML and CSS hi-speed coding.IndexedSearch
shows 'Nth match out of M' at every search (index of match+total # matches)errormarker.vim
Highlights and sets error markers for lines with compile errorsTeTrIs.vim
A tetris game in pure vimLove Open Source and this site? Check out how you can help us