Why is :E an ambiguous command after upgrading to patches through 965?

168 views
Skip to first unread message

boB Stepp

unread,
Dec 13, 2015, 9:30:24 PM12/13/15
to vim...@googlegroups.com
Win7-64 bit Pro, Vim 7.4 with patches 1-965.

I thought I would update Vim to the latest patches I could find. I
got the Windows installation binary from
https://bintray.com/veegee/generic/vim_x64/#

Now that I have done this update, when I use :E to open the file
explorer I get "E464: Ambiguous use of user-defined command."
However, :Ex works.

Can someone tell me what new feature has been added with this update
that now makes :E an ambiguous command? The full version info
follows:

:version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 11 2015 11:38:48)
MS-Windows 64-bit GUI version with OLE support
Included patches: 1-965
Compiled by veegee@veegee-win8
Huge version with GUI. Features included (+) or not (-):
+acl +clipboard +cursorshape +ex_extra
-hangul_input +listcmds +multi_lang +profile
+smartindent -tcl +visual -xim
+arabic +cmdline_compl +dialog_con_gui +extra_search
+iconv/dyn +localmap -mzscheme +python/dyn
-sniff -tgetent +visualextra -xterm_save
+autocmd +cmdline_hist +diff +farsi
+insert_expand +lua/dyn +netbeans_intg +python3/dyn
+startuptime -termresponse +viminfo -xpm_w32
+balloon_eval +cmdline_info +digraphs +file_in_path
+jumplist +menu +ole +quickfix
+statusline +textobjects +vreplace
+browse +comments -directx +find_in_path
+keymap +mksession +path_extra +reltime
-sun_workshop +title +wildignore
++builtin_terms +conceal -dnd +float
+langmap +modify_fname -perl +rightleft
+syntax +toolbar +wildmenu
+byte_offset +cryptv -ebcdic +folding
+libcall +mouse +persistent_undo -ruby
+tag_binary +user_commands +windows
+cindent +cscope +emacs_tags -footer
+linebreak +mouseshape -postscript +scrollbind
+tag_old_static +vertsplit +writebackup
+clientserver +cursorbind +eval +gettext/dyn
+lispindent +multi_byte +printer +signs
-tag_any_white +virtualedit -xfontset
system vimrc file: "$VIM\vimrc"
user vimrc file: "$HOME\_vimrc"
2nd user vimrc file: "$HOME\vimfiles\vimrc"
3rd user vimrc file: "$VIM\_vimrc"
user exrc file: "$HOME\_exrc"
2nd user exrc file: "$VIM\_exrc"
system gvimrc file: "$VIM\gvimrc"
user gvimrc file: "$HOME\_gvimrc"
2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
3rd user gvimrc file: "$VIM\_gvimrc"
system menu file: "$VIMRUNTIME\menu.vim"
Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32
-DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DWINVER=0x0400
-D_WIN32_WINNT=0x0400 /Fo.\ObjGOUYHAMD64/ /Ox -DNDEBUG /Zl /MT
-DFEAT_OLE -DFEAT_GUI
_W32 -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_LUA -DDYNAMIC_LUA
-DDYNAMIC_LUA_DLL=\"lua52.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON
-DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DDYNAMIC_PYTHON3
-DDYNAMIC_PY
THON3_DLL=\"python35.dll\" -DFEAT_HUGE /Fd.\ObjGOUYHAMD64/ /Zi
Linking: link /RELEASE /nologo /subsystem:windows oldnames.lib
kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib
ole32.lib uuid.lib /machine:AMD64 gdi32.lib version.lib winspool.lib
comctl32.lib ad
vapi32.lib shell32.lib /machine:AMD64 libcmt.lib oleaut32.lib
user32.lib /nodefaultlib:lua52.lib /nodefaultlib:python27.lib
/nodefaultlib:python35.lib WSock32.lib /PDB:gvim.pdb -debug

--
boB

Tim Chase

unread,
Dec 13, 2015, 9:52:16 PM12/13/15
to boB Stepp, vim...@googlegroups.com
On 2015-12-13 20:30, boB Stepp wrote:
> Now that I have done this update, when I use :E to open the file
> explorer I get "E464: Ambiguous use of user-defined command."
> However, :Ex works.
>
> Can someone tell me what new feature has been added with this update
> that now makes :E an ambiguous command? The full version info
> follows:

While I'm not sure off the top of my head what it is, you should be
able to type (without hitting <enter> first)

:E

and then hit control+D to show the possible matches. My guess is
that something new has been added (whether in native vim or some
plugin) that also begins with ":E".

-tim


boB Stepp

unread,
Dec 13, 2015, 10:02:44 PM12/13/15
to vim...@googlegroups.com
Thanks, Tim! I did not know that trick. Apparently the new command is:

:ELP {boolean-logic pattern} *:ELP*
No search is done, but the conversion from the
boolean logic pattern to the regular expression
is performed and echoed onto the display.

Which is apparently part of Logical Patterns, something I'm not
familiar with. Since I am a relative beginner with vi/Vim, my fingers
are not particularly trained yet, so I could easily get used to typing
:Ex instead of the :E I had been typing.

Thanks again for helping me understand what was going on!



--
boB

Tim Chase

unread,
Dec 13, 2015, 11:02:18 PM12/13/15
to vim...@googlegroups.com
On 2015-12-13 21:02, boB Stepp wrote:
> Thanks, Tim! I did not know that trick. Apparently the new
> command is:
>
> :ELP {boolean-logic pattern} *:ELP*
> No search is done, but the conversion from the
> boolean logic pattern to the regular expression
> is performed and echoed onto the display.
>
> Which is apparently part of Logical Patterns, something I'm not
> familiar with.

This sounds suspiciously like something that might come from Dr.
Chip's "LogiPat" plugin, perhaps you have that installed and upgraded
it at some point (I have it available, but it's a pretty old version
without an ":ELP" command to ?

If that's the case, and push come to shove, you can un-command it with

:delcommand ELP

to get your unambiguity back. Alternatively, if you don't use the
LogiPat plugin, you should be able to disable it to cut it off at the
pass.

-tim


boB Stepp

unread,
Dec 13, 2015, 11:16:35 PM12/13/15
to vim...@googlegroups.com
On Sun, Dec 13, 2015 at 10:00 PM, Tim Chase <v...@tim.thechases.com> wrote:

> This sounds suspiciously like something that might come from Dr.
> Chip's "LogiPat" plugin, perhaps you have that installed and upgraded
> it at some point (I have it available, but it's a pretty old version
> without an ":ELP" command to ?

When I looked at the help, its version history is a little bizarre
looking to me:

3. LogiPat History *logipat-history*

v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
in \%(...\) parentheses
Dec 12, 2011 * |:ELP| added
* "" is mapped to a single " and left inside patterns
v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working
v1 May 23, 2005 * initial release

> If that's the case, and push come to shove, you can un-command it with
>
> :delcommand ELP
>
> to get your unambiguity back. Alternatively, if you don't use the
> LogiPat plugin, you should be able to disable it to cut it off at the
> pass.

I don't use it, but perhaps something else does? I have (to date)
installed all of my few plugins with Vundle. This appears to be
something part of the new build I just installed (as mentioned in my
original email). I will probably use your delcommand suggestion. I
presume this is reversible?

--
boB

Tony Mechelynck

unread,
Dec 13, 2015, 11:40:32 PM12/13/15
to vim...@googlegroups.com
Yes, not only that's part of Dr. Chip's LogiPat plugin, but that
plugin is now (I don't know since when) distributed with Vim;
therefore it now lives in $VIMRUNTIME/plugin/ and its help in
$VIMRUNTIME/doc/. If you want to use :delcommand on it, you would have
to do that after the plugin has been sourced, thus maybe in a VimEnter
autocommand set up in your vimrc, or else in some after-plugin (see
":help after-directory", and I disagree with the help where it says
that after-directories are "rarely needed"), let's say (on Linux)
~/.vim/after/plugin/logipat.vim or (on Windows, but in Vim notation)
$HOME/vimfiles/after/plugin/logipat.vim

I do not recommend it though.

Best regards,
Tony.

Charles Campbell

unread,
Dec 14, 2015, 4:44:32 PM12/14/15
to vim...@googlegroups.com
To easily disable LogiPat: put

let loaded_logiPat= 1

in your .vimrc. That will prevent logiPat.vim from loading. Of course,
to re-enable it again, just remove that line (or comment it out).

OTOH, you might want to learn what logiPat provides. For example,
assume you want to find a line with two patterns in it:

:LP "pat1" && "pat2"

will find such a line (assuming it exists, of course).

Regards,
Chip Campbell

Nikolay Aleksandrovich Pavlov

unread,
Dec 14, 2015, 6:45:58 PM12/14/15
to vim...@googlegroups.com
​I am wondering why in this thread people are discussing what to do with logiPat when solution is simple: to use :E as :Explore​ add

    command -nargs=* -complete=dir -bar -count -bang E :Explore<bang> <args>

to the vimrc. Or to the netrw plugin (though in this case I would choose to replace `:Explore…` with `call netrw#Explore(<count>,0,0+<bang>0,<q-args>)` (rhs of the :Explore command itself)).

 

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages