Your message dated Mon, 9 Jul 2012 22:40:50 -0400
with message-id <[email protected]>
and subject line Re: Bug#681012: vim-tiny should install vim alternative
has caused the Debian Bug report #681012,
regarding vim-tiny should install vim alternative
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
681012: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681012
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: vim-tiny
Version: 2:7.2.445+hg~cb94c42c0e1a-1
Severity: wishlist
In vim 2:7.2.049-1, uploaded by James Vega <[email protected]> on Tue,
25 Nov 2008 23:38:38 -0500 I see that the following change was made:
* [f7bfa57] Don't install vim alternatives for vim-tiny. vim-tiny is
built to act like vi, so the vim alternative just causes more confusion
than it's worth (by default).
Realizing that the change was made some time ago, I would like to argue
for reversing it. All of the 'vim' packages automatically set
'compatible' mode when invoked with 'vi' whereas they present their full
feature set when invoked with 'vim'. Even with vim-tiny, the difference
between invoking it as 'vi' vs. running /usr/bin/vim.tiny is substantial.
According to what I see in debian/rules, vim-tiny is built by passing
--with-features=small to the configure script, whereas vim-full is built
with with-features=huge. A list of what these features are can be
obtained by doing :help version. Building vim with 'small' provides two
features on top of 'tiny' (remember: vim-tiny is 'small', not 'tiny')
'normal' adds 66 features and 'huge' adds one more. On the basis of
'number of features' alone, it certainly would appear that vim-tiny is
merely a shadow of vim.
However, look at :help vim-aditions. This section of the help docs is
composed of a list of 33 features that the vim authors found to be
significant changes from 'vi'. 12 of these features are available in
vim-tiny. Here is the breakdown, with numbers indicating the order in
which the feature is presented in vim-additions:
In vim-tiny:
#1 Multiple level undo
#3 Multiple windows and buffers (multiple files open, screen split)
#9 Repeat a series of commands (recording macros with q)
#10 Flexible insert mode (arrow keys in insert mode)
#11 Visual mode
#12 Block operators
#13 help system in a window
#14 Command-line editing and history
#17 Long line support
#18 Text formatting
#19 Extended search patterns
#31 Editing of binary files (don't break binary files when saving them)
Not in vim-tiny:
#2 Graphical User Interface
#4 Syntax highlighting
#5 Spell Checking
#6 Folding
#7 Diff mode
#8 Plugins
#15 Command-line completion
#16 Insert-mode completion
#20 Directory, remote, and archive browsing
#21 Edit-compile-edit speedup (:make)
#22 Finding matches in files (:vimgrep)
#23 Improved indenting for programs (cindent)
#24 Searching for words in included files
#25 Automatic commands
#26 Scripts and Expressions
#27 Viminfo
#28 Printing
#29 Mouse support
#30 Usage of key names
#32 Multi-language support
#33 Move cursor beyond lines (virtualedit)
The list of features is not alphabetical, so we can assume that the
author put what they felt was most important at the top. vim-tiny
includes features #1, #3, and #9 on that list.
I think that vim-tiny includes the most fundamental 'vim' features.
Multiple-level undo is all but essential, being able to open multiple
windows (e.g. :vsplit) & buffers aids tremendously, recording macros can
be very useful when making large numbers of edits, and visual mode makes
deleting or changing text very straightforward.
In other words, 'vim-tiny' is not "built to act like vi" as James Vega
said, but is just a smaller, simpler vim.
When a user tries to access a feature that is not available in vim-tiny,
vim does warn them with a helpful message
:vimgrep
E319: Sorry, the command is not available in this version
Doing
:help version (only works if vim-runtime is installed)
or even just
:version
will explain why.
The original justification for vim-tiny not installing a 'vim'
alternative was because, according to James Vega, it "just causes more
confusion than it's worth". Given vim's extensive built-in docs I'm not
sure how anyone could be confused about vim-tiny for very long. I
checked the pkg-vim-maintainers mailing list but I couldn't find anyone
complaining about being confused, nor is there a bug about this.
Because vim-tiny actually includes many essential vim features, and
because vim helpfully tells users when features are not available, I do
not agree with the original justification for change f7bfa57, and I
believe it should be reversed. Users who install vim-tiny should be able
to type 'vim' and get the improved version of vi that they want.
--
Tim Gokcen
--- End Message ---
--- Begin Message ---
tag 681012 wontfix
thanks
On Mon, Jul 09, 2012 at 06:10:04PM -0400, Tim Gokcen wrote:
> In vim 2:7.2.049-1, uploaded by James Vega <[email protected]> on
> Tue, 25 Nov 2008 23:38:38 -0500 I see that the following change was
> made:
>
> * [f7bfa57] Don't install vim alternatives for vim-tiny. vim-tiny is
> built to act like vi, so the vim alternative just causes more
> confusion than it's worth (by default).
>
> Realizing that the change was made some time ago, I would like to
> argue for reversing it. All of the 'vim' packages automatically set
> 'compatible' mode when invoked with 'vi' whereas they present their
> full feature set when invoked with 'vim'.
No, only vim-tiny's vi does that.
> Even with vim-tiny, the
> difference between invoking it as 'vi' vs. running /usr/bin/vim.tiny
> is substantial.
True, but I think most people that can actually figure out there's a
/usr/bin/vim.tiny won't be the subset that got confused by running
vim-tiny's vim alternative.
> According to what I see in debian/rules, vim-tiny is built by
> passing --with-features=small to the configure script, whereas
> vim-full is built with with-features=huge. A list of what these
> features are can be obtained by doing :help version. Building vim
> with 'small' provides two features on top of 'tiny' (remember:
> vim-tiny is 'small', not 'tiny') 'normal' adds 66 features and
> 'huge' adds one more. On the basis of 'number of features' alone, it
> certainly would appear that vim-tiny is merely a shadow of vim.
>
> [postulation about importance of features]
>
> In other words, 'vim-tiny' is not "built to act like vi" as James
> Vega said, but is just a smaller, simpler vim.
The tradeoff between superset of standard vi functionality and size of
installation was taken into account when deciding what to enable. The
purpose of vim-tiny is to serve as the vi binary for the base install.
Whether or not it provide functionality above and beyond that goal is
simply because determining which of the "small" features can be disabled
without breaking the build was more work than it was worth.
> When a user tries to access a feature that is not available in
> vim-tiny, vim does warn them with a helpful message
>
> :vimgrep
> E319: Sorry, the command is not available in this version
>
> Doing
> :help version (only works if vim-runtime is installed)
Which it isn't by default.
> or even just
> :version
> will explain why.
A lay user is unlikely to really understand :version or even know that
such a command exists.
> The original justification for vim-tiny not installing a 'vim'
> alternative was because, according to James Vega, it "just causes
> more confusion than it's worth". Given vim's extensive built-in docs
… which aren't install by default with vim-tiny …
> I'm not sure how anyone could be confused about vim-tiny for very
> long. I checked the pkg-vim-maintainers mailing list but I couldn't
> find anyone complaining about being confused, nor is there a bug
> about this.
From a quick search, I found #368276, #368698, and #368993. I wouldn't
be surprised if there are some that I missed and many more on Ubuntu's
bug tracker (since their audience is generally less technically adept).
I also spend a fair amount of time providing support on freenode's #vim
IRC channel and have seen the confusion vim-tiny causes, even years
after I disabled the vim alternative.
> Because vim-tiny actually includes many essential vim features, and
> because vim helpfully tells users when features are not available, I
> do not agree with the original justification for change f7bfa57, and
> I believe it should be reversed. Users who install vim-tiny should
> be able to type 'vim' and get the improved version of vi that they
> want.
That's just it. Users don't install vim-tiny. It comes installed on
their system and it doesn't provide the same set of functionality that
people are used to from a normal install of Vim. If someone wants the
vim binary, they can quite easily "apt-get install vim".
--
James
GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <[email protected]>
signature.asc
Description: Digital signature
--- End Message ---