Re: Vim 8 enhancements

2007-02-01 Thread Marcus Aurelius
--- Martin Stubenschrott [EMAIL PROTECTED] escreveu:

 Now that there are many new - good, or not - ideas coming up. I think it
 would be a great idea, if the voting page on:
 
 http://www.vim.org/sponsor/vote_results.php
 
 becomes updated with new ideas, and old ones get deleted/changed.

Agreed. I was updating my votes to remove features that have been implemented,
and i really wished i had a few new features to vote for. Due to the growing
lack of options, i voted several times for the same features :-D


__
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 


Vim 7 performance notes

2007-02-01 Thread Alexei Alexandrov
Hi Bram et al.,

I'm doing some performance investigations of Vim code trying to understand 
whether there are any possibilities to improve it.
Currently I've made the following observations (all investigations are done on 
Windows):

Redundant work is done during regexp operations in syntax highlighting. On some 
files it is very noticable. The stack of the hotspot is ...  syn_current_attr 
 syn_regexec  vim_regexec_multi  vim_regexec_both  regtry  regmatch  
ga_grow  alloc_clear  memset. So alloc_clear spends quite a few clockticks in 
lalloc() and memset().
The reason for this is pessimistically big grow size for regset growing array:

ga_init2(regstack, 1, 1);

This is not very good: many regexp operations don't go deep - non-match is 
detected very quickly. But even one element on the stack will lead to 
allocating at least 1 bytes (which should be fast with good CRT memory 
allocator) and (worse) initializing these 1 bytes with zeros (won't be that 
fast).

One possible solution would be to keep regstack alive across calls to 
vim_regexec_both, but I'm not sure if it's can be done safely. What I did was 
replacing the grow size with smaller number and making the grow size for 
growing arrays dynamic with increase of 25%:

--- regexp.c (revision 136)
+++ regexp.c (working copy)
@@ -3350,7 +3350,7 @@
 /* Init the regstack empty.  Use an item size of 1 byte, since we push
  * different things onto it.  Use a large grow size to avoid reallocating
  * it too often. */
-ga_init2(regstack, 1, 1);
+ga_init2(regstack, 1, 64);

 /* Init the backpos table empty. */
 ga_init2(backpos, sizeof(backpos_T), 10);

--- misc2.c (revision 136)
+++ misc2.c (working copy)
@@ -1905,6 +1905,7 @@

 {
  if (n  gap-ga_growsize)
  n = gap-ga_growsize;
+gap-ga_growsize += (gap-ga_growsize  2);
  len = gap-ga_itemsize * (gap-ga_len + n);
  pp = alloc_clear((unsigned)len);
  if (pp == NULL)

With this change I can see serious performance improvements, but I'm not sure 
if they are safe.
Bram, does it look making any sense?

-- 
Alexei Alexandrov

Re: Vim 7 performance notes

2007-02-01 Thread Martin Stubenschrott
On Thu, Feb 01, 2007 at 11:20:16PM +0300, Alexei Alexandrov wrote:
 Hi Bram et al.,
 
 I'm doing some performance investigations of Vim code trying to understand 
 whether there are any possibilities to improve it.
 Currently I've made the following observations (all investigations are done 
 on Windows):
 
 Redundant work is done during regexp operations in syntax highlighting. On 
 some files it is very noticable. The stack of the hotspot is ...  
 syn_current_attr  syn_regexec  vim_regexec_multi  vim_regexec_both  
 regtry  regmatch  ga_grow  alloc_clear  memset. So alloc_clear spends 
 quite a few clockticks in lalloc() and memset().
 The reason for this is pessimistically big grow size for regset growing array:
 
 ga_init2(regstack, 1, 1);
 
 This is not very good: many regexp operations don't go deep - non-match is 
 detected very quickly. But even one element on the stack will lead to 
 allocating at least 1 bytes (which should be fast with good CRT memory 
 allocator) and (worse) initializing these 1 bytes with zeros (won't be 
 that fast).

I am not sure if this is really relevant to vim, because I don't have a
clue which regexp matching algorithm it is using, but you might want to
look into this article, when it comes to regexp speed:

http://swtch.com/~rsc/regexp/regexp1.html

regards,

Martin


vim/cscope interface bug

2007-02-01 Thread Zhao, Yu \(William\)

Folks,

Vim 6.4/7.0 can't show result of cscope find f name correctly.

E.g.

   1  1  Makefile unknown

   2  1  arch/Makefile unknown
 h
   3  1  arch/README unknown
 
   4  1  arch/evbsh5/Makefile unknown
 Ã~mts5
   5  1  arch/evbsh5/compile/Makefile unknown
 °
   6  1  arch/evbsh5/conf/CAYMAN unknown

   7  1  arch/evbsh5/conf/CAYMAN64 unknown

   8  1  arch/evbsh5/conf/SIMULATOR unknown
 ^]Ðh
   9  1  arch/evbsh5/conf/files.evbsh5 unknown

  10  1  arch/evbsh5/conf/majors.evbsh5 unknown
 ^]ÐÃ~
  11  1  arch/evbsh5/conf/std.evbsh5.eb unknown

Fix:
--- vim70-old/src/if_cscope.c   2006-11-09 15:17:47.0 -0600
+++ vim70/src/if_cscope.c   2006-11-09 15:21:16.0 -0600
@@ -1923,14 +1923,8 @@
if ((fname = strtok(NULL, (const char *)\t)) == NULL)
continue;
if ((lno = strtok(NULL, (const char *)\t)) == NULL)
-   {
-   /* if NULL, then no extra, although in cscope's case, there
-* should always be extra.
-*/
-   extra = NULL;
-   }
-
-   extra = lno + strlen(lno) + 1;
+   continue;
+   extra = strtok(NULL, (const char *));
 
lno[strlen(lno)-2] = '\0';  /* ignore ; at the end */


Re: replace with a number sequence

2007-02-01 Thread Matthew Winn
On Wed, 31 Jan 2007 15:23:36 +, Tom Whittock
[EMAIL PROTECTED] wrote:

 the ex (colon) commands are one of the major parts of vim - I would
 highly recommend learning them a bit more, if you want to get the most
 out of the program. For me, without ex there would be very little
 point in using vim at all - I couldn't even write to a file ;)

Unless you use ZZ.

-- 
Matthew Winn


Re: Weird problem with helpgrep

2007-02-01 Thread DervishD
Hi François :)

 * François Pinard [EMAIL PROTECTED] dixit:
 [DervishD]
 [Bram Moolenaar]
 Only a few things might need to be spread to other directories, using 
 symlinks when possible (binary in /usr/local/bin, libs in 
 /usr/local/lib, header files in /usr/local/include).
 Well, I know about a packaging system that does exactly that (I don't 
 remember its name).
[...]
 I used two installation systems which were extremely fond on symbolic 
 links: LUDE (from Université de Montréal) and Stow (from GNU).  Both 
 have been used in various places.

Stow!, that's the name I didn't remember :) Thanks for pointing!

Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
It's my PC and I'll cry if I want to... RAmen!


Re: VIM autondent on C++ source-code

2007-02-01 Thread Erlend Hamberg
On Thursday 01 February 2007, you wrote:
 The desired result is,

 string
 GetHelloWorld()
 {
 return string(Hello, world!);
 }

 What configuration change can fix this?

:set cino+=t0

:help 'cino'
:help cinoptions-values


-- 
Erlend Hamberg
[EMAIL PROTECTED]


Re: Breaking long lines

2007-02-01 Thread Jack Tucker

Theerasak Photha [EMAIL PROTECTED] replied:

 I used to read through the :help as a kind of technological catechism.
 I've forgotten most of it, but gq, , and Ctrl-N are some the
 handiest things I've learned.

Mind is rutted on a lot of long ago memorized stuff; :+/-n gets me
Ctrl-N.S

 c.f. also the tags features.

Oh yes, used it foe many years.

Thanks again for the help.

Jack Tucker
[EMAIL PROTECTED]


Re: replace with a number sequence

2007-02-01 Thread Naim Far

Hi,

I liked the following replacement command, and I found it very usefull:
 :let n=0|g//s//\=n/|let n+=1

But, could anyone please explain the way it works?!
I used the help := to try and understand it, but the vim help says the 
:= command displays the line number, which cannot explain the way the 
command above works


Thanx in advance...



jose isaias cabrera wrote:



Mark Woodward wrote,


On Mon, 2007-01-29 at 21:57 +1300, John Little wrote:


Hi

IMHO simpler and more flexible (works if there are lines not matching
the pattern) is:

:let n=0 | g/opIndex(\zs\d\+/s//\=n/|let n+=1

A useful idiom I learned here.  Usually I muck around with ordinary
searches until the search highlighting shows I've got it right, then

:let n=0|g//s//\=n/|let n+=1

is what I have to remember, and it's obvious what the start and 
increment are.


John



Just as additional info this method also lets you perform this sort of
incremental substitution on letters.

 UniqueID2   = lview.focusedItem.subItems.opIndex(0).text;
 Parent  = lview.focusedItem.subItems.opIndex(0).text;
 Children= lview.focusedItem.subItems.opIndex(0).text;
 login   = lview.focusedItem.subItems.opIndex(1).text;

let i=97|g/opIndex(\zs\d\+/s//\=nr2char(i)/|let i=i+1

 UniqueID2   = lview.focusedItem.subItems.opIndex(a).text;
 Parent  = lview.focusedItem.subItems.opIndex(b).text;
 Children= lview.focusedItem.subItems.opIndex(c).text;
 login   = lview.focusedItem.subItems.opIndex(d).text;

let i=65|g/opIndex(\zs\d\+/s//\=nr2char(i)/|let i=i+1

 UniqueID2   = lview.focusedItem.subItems.opIndex(A).text;
 Parent  = lview.focusedItem.subItems.opIndex(B).text;
 Children= lview.focusedItem.subItems.opIndex(C).text;
 login   = lview.focusedItem.subItems.opIndex(D).text;


:h nr2char




Since you brought it up, I also have this other situation,

bla.blah.blahh[0].text;
bla.blah.blahh[0].text;
bla.blah.blahh[0].text;
bla.blah.blahh[0].text;
bla.blah.blahh[0].text;
bla.blah.blahh[0].text;

I tried using the original solution you gave me,

:let n=0 | g/opIndex(\zs\d\+/s//\=n/|let n+=1

but it kept going to the same spot as before.  I will not change the 
[#]. Where is the match for (?  I can't figure it out.  The next 
version of vim should have an easier way of doing this.  I constantly 
have to copy from vim and paste to TextPad and doing it there and then 
copy from TextPad back to vim.  Yes, I know I could make a function 
and assign a key to it, but these kind of things should be just built 
in.  I know, I am a picky guy, aren't I? :-)


thanks.







Hi, Can I register for the right to post in the mail-list?

2007-02-01 Thread Jiang Ting

I am a plain vim user, mostly working on latex, C++ and fortran programming.
I began to use vim for 4 months and there are always some technical
problems around. The suggestions from the mail group may be very
helpful for me.

Thanks a lot. ^_^



Ting


Re: Mac Questions

2007-02-01 Thread Benji Fisher
On Tue, Jan 09, 2007 at 10:23:25AM +0100, Bram Moolenaar wrote:
 
 Dave Land wrote:
 
  On Jan 8, 2007, at 3:03 PM, Dave Land wrote:
  
   Happily, Apple provided a utility that handles it for you:
  
  defaults read ${HOME}/.MacOSX/environment
  
  Actually, making this work in bash (or other shell) requires a little  
  more than just reading the file... Here's the relevant chunk from  
  my .bashrc:
  
  # Get environment variables from ~/.MacOSX/environment.plist
  # (This avoids the sin of duplicating data here and in that file)
  if [[ `uname` == 'Darwin' ]] ; then
  defaults read ~/.MacOSX/environment | grep -v '[{}]' | tr '' ' |  
  awk '{ print declare -x,$1=$3 }' | while read -r OneLine; do eval  
  $OneLine; done;
  fi
  
  To give credit where it's due, this came from a comment on  
  macosxhints.com.
  
  The conditional (if [[ `uname` == Darwin' ]]) is because I use this  
  same .bashrc across several hosts, including Solaris, Linux, and Mac  
  OS X.
 
 This issue comes up often enough that it deserves a section in the help.
 Could you perhaps write some text?  If you can send me a patch that
 would be great.

 The docs already explain one way to set $PATH.

:help mac-faq

As it says there, the system vimrc files in the versions distributed at
macvim.org/OSX already use this method.  The same method should work for
other environment variables ... but AFAIK the only one that matters is
$PATH.

HTH --Benji Fisher


Re: Hi, Can I register for the right to post in the mail-list?

2007-02-01 Thread Tim Chase

I am a plain vim user, mostly working on latex, C++ and
fortran programming. I began to use vim for 4 months and there
are always some technical problems around. The suggestions
from the mail group may be very helpful for me.


You seem to already be subscribed to the mailing list, evidenced 
by the fact that you posted to it successfully.  If you're not 
receiving emails, perhaps something on your end is rejecting 
emails from mailing lists?  Or perhaps you've subscribed in 
digest-mode and get collections of messages rather than 
individual messages?


But yes, the mailing list is a font of help in addition to being 
a good place to get questions answered when you hit a wall.


Welcome!

-tim







Re: Hi, Can I register for the right to post in the mail-list?

2007-02-01 Thread DervishD
Hi Jiang :)

 * Jiang Ting [EMAIL PROTECTED] dixit:
 I am a plain vim user, mostly working on latex, C++ and fortran
 programming. I began to use vim for 4 months and there are always some
 technical problems around. The suggestions from the mail group may be
 very helpful for me.

Given that you've already post to the list, then you're subscribed
;) so you can post here freely.

You're going to find very nice, kind and helpful people here, this
list is really great. For my own part, I'll try to help you as much as I
can, although I'm a newbie in Vim (I've been only using it for a month).

Welcome to the Vim list :))

Raúl Núñez de Arenas Coronado

-- 
Linux Registered User 88736 | http://www.dervishd.net
It's my PC and I'll cry if I want to... RAmen!


Go to start of visual selection

2007-02-01 Thread Andy Wokula

How can I move the cursor the start of the visual selection?  With the
o command, yes.  But how can I make sure the cursor is at the start
while visual mode is on?  The ` motion followed by gv sets the 
cursor back to the end if it was there.


Thx, Andy

--
EOF





___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de


modeline error

2007-02-01 Thread Muddassirali Mirzani

I'm trying to source a syntax script using modeline 
//  vim:so $HOME/.vim/syntax/vera.vim

I'm getting the following error:

Error detected while processing modelines:
line   46:
E518: Unknown option: $HOME/.vim/syntax/vera.vim

What is wrong ?

Thanks in advance..


 

Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 


Re: modeline error

2007-02-01 Thread Tim Chase

I'm trying to source a syntax script using modeline 
//  vim:so $HOME/.vim/syntax/vera.vim

I'm getting the following error:

Error detected while processing modelines:
line   46:
E518: Unknown option: $HOME/.vim/syntax/vera.vim

What is wrong ?


A couple things:

1) the modeline can only be used to set options, not to perform 
arbitrary Ex commands.


:help modeline

...
{options}  a list of option settings, separated with
white space or ':', where each part between
':' is the argument for a :set command
...

2) even if it were to allow arbitrary Ex commands, they are 
executed within the sandbox which prohibits access to other files:


:help sandbox
These items are not allowed in the sandbox
...
-reading or writing a file
...


It looks like what you want is a custom filetype for your 
particular vera filetype.  You can learn more about creating 
your own custom file types than any sane person should want to 
know by reading


:help new-filetype

Hope this gives you some direction,

-tim








Re: replace with a number sequence

2007-02-01 Thread Bill McCarthy
On Thu 1-Feb-07 8:23am -0600, Naim Far wrote:

 I liked the following replacement command, and I found it very usefull:
   :let n=0|g//s//\=n/|let n+=1

 But, could anyone please explain the way it works?!
 I used the help := to try and understand it, but the vim help says the
 := command displays the line number, which cannot explain the way the
 command above works

-- 
Best regards,
Bill



Re: replace with a number sequence

2007-02-01 Thread Bill McCarthy
On Thu 1-Feb-07 8:23am -0600, Naim Far wrote:

 I liked the following replacement command, and I found it very usefull:
   :let n=0|g//s//\=n/|let n+=1

 But, could anyone please explain the way it works?!
 I used the help := to try and understand it, but the vim help says the
 := command displays the line number, which cannot explain the way the
 command above works

When pattern is missing in :g or s:, it uses the last
pattern of global, substitute or search - in the OPs
example, it was being used after a search.

For \= see

:h sub-replace-\=

In the example, it is evaluating the variable - so its value
is substituted.

-- 
Best regards,
Bill



Question on highlighting

2007-02-01 Thread Sean Hubbell

Hello,

 I would like to be able to shade (use the same background color, but 
make it lighter) the text between two braces (spanning multiple lines 
and possibly nested). What is the best way to accomplish this?


Thanks in advance,

Sean


Re: Go to start of visual selection

2007-02-01 Thread Tim Chase

How can I move the cursor the start of the visual selection?
With the o command, yes.  But how can I make sure the cursor
is at the start while visual mode is on?  The ` motion
followed by gv sets the cursor back to the end if it was
there.


I think it sounds like you want something like the following:

vnoremap gt esc`:exec 'norm '.visualmode().'`lt'cr
vnoremap gb esc`lt:exec 'norm '.visualmode().'`'cr

which gives you a Go to the Top and Go to the Bottom mapping 
within visual mode.


It can be a little funky in blockwise visual-mode, if your ' and 
' points are top-right and bottom-left (rather than top-left and 
bottom-right), as the top will go to the top-right, not the 
top-left.  I haven't figured out a good way to do this without 
considerably more code in the mapping (save the column of ' and 
then gvO to go back to visual-mode but in the other corner and 
then compare the columns to see which you want, perhaps needing 
to switch back...it's ugly).


However, it should work fine in character-wise and line-wise 
visual modes.


HTH,

-tim






Re: modeline error

2007-02-01 Thread Phil Edwards

On 2/1/07, Tim Chase [EMAIL PROTECTED] wrote:

It looks like what you want is a custom filetype for your
particular vera filetype.  You can learn more about creating
your own custom file types than any sane person should want to
know by reading

:help new-filetype


I can testify that while new custom filetype entries are a little
daunting (and even tedious, if you are not modifying or appending to
existing settings) the first time, once you have your files in place,
they become much easier to do for additional entries.


Re: Go to start of visual selection

2007-02-01 Thread A.J.Mechelynck

Tim Chase wrote:

How can I move the cursor the start of the visual selection?
With the o command, yes.  But how can I make sure the cursor
is at the start while visual mode is on?  The ` motion
followed by gv sets the cursor back to the end if it was
there.


I think it sounds like you want something like the following:

vnoremap gt esc`:exec 'norm '.visualmode().'`lt'cr
vnoremap gb esc`lt:exec 'norm '.visualmode().'`'cr

which gives you a Go to the Top and Go to the Bottom mapping within 
visual mode.


Won't they move the boundary of the visual area together with the cursor?



It can be a little funky in blockwise visual-mode, if your ' and ' 
points are top-right and bottom-left (rather than top-left and 
bottom-right), as the top will go to the top-right, not the top-left.  
I haven't figured out a good way to do this without considerably more 
code in the mapping (save the column of ' and then gvO to go back to 
visual-mode but in the other corner and then compare the columns to see 
which you want, perhaps needing to switch back...it's ugly).


However, it should work fine in character-wise and line-wise visual modes.

HTH,

-tim







Best regards,
Tony.


comment formatting

2007-02-01 Thread Andrea Ratto
Hi,
Id like to format comments in this way, and I can't get it.

/**
tabcomment text
tabBlah
*/

Thanks for the help.



Re: Go to start of visual selection

2007-02-01 Thread Tim Chase

vnoremap gt esc`:exec 'norm '.visualmode().'`lt'cr
vnoremap gb esc`lt:exec 'norm '.visualmode().'`'cr

which gives you a Go to the Top and Go to the Bottom mapping within 
visual mode.


Won't they move the boundary of the visual area together with the cursor?


Not from my testing...

[ed: a hush falls over the mailing-list...Tim actually tested 
this response?! :) ]


Perhaps a diff. setting between our setups if you're experiencing 
drifting?


Other than the peculiar caveat regarding blockwise visual mode, 
it worked for me.  Even in blockwise mode, it successfully went 
to the top, but wasn't always the top-*left* anchor.


Note that the  and  marks are jumped-to with the back-tick 
(rather than a regular apostrophe) which remembers column 
information as well, so when gt is run/expanded/executed, it


1) leaves visual mode
2) jumps to the exact anchor position of the bottom/top mark
3) enters the previous visual-mode as returned by the 
visualmode() function
4) and then jumps to the previous exact anchor position of the 
top/bottom mark


-tim








Re: comment formatting

2007-02-01 Thread A.J.Mechelynck

Andrea Ratto wrote:

Hi,
Id like to format comments in this way, and I can't get it.

/**
tabcomment text
tabBlah
*/

Thanks for the help.




Disclaimer: the following are not tested
What about
(Trial 1)
:set comments=s:/**,m:\t,ex:*/
(Trial 2)
:exe 'set comments=s:/**,m:\' . \t . ',ex:*/'
(Trial 3)
:let comments=s:**,m:\t,ex:*/
(Trial 4)
:set noet ts=8 comments=s8:/**,ex:*/
(Try more variations if none of the above work OK)?

In all cases, close the comment by typing only a slash after the tab has been 
autoinserted: this ought to delete the tab and insert */ in its stead.


Note: since whitespace characters are used as separators between options in a 
:set command, they must be backslash-escaped when they are part of the value 
(similarly bar, double-quote and backslash).



Best regards,
Tony.


CTRL-S functionality to a letter combo like i.e. cs

2007-02-01 Thread Eric Leenman

Hi,

I'm using gvim on windows, which is behaving like windows shortcuts:
For example:
CTRL-S for save
CTRL-X for cut,
ect.

When using vim on Linux these don't work anymore because of linux windows 
managers.


Is it possible to put the same functionality of the CTRL-key (and/or ALT) to 
a key which is not linux windows manager  sensitive?
In other words: Is it possible to remap the ctrl key to for example the 
letter c?


So that when you are in insert-mode you can press cs as a replacement for 
CTRL-S?

(
Is this possible without using the Function Keys F1 till F12?

Rgds,

Eric

_
Get live scores and news about your team: Add the Live.com Football Page  
http://www.live.com/?addtemplate=football




Re: CTRL-S functionality to a letter combo like i.e. cs

2007-02-01 Thread Kim Schulz
On Thu, 01 Feb 2007 20:48:52 +
Eric Leenman [EMAIL PROTECTED] wrote:

 Hi,
 
 I'm using gvim on windows, which is behaving like windows shortcuts:
 For example:
 CTRL-S for save
 CTRL-X for cut,
 ect.
 
 When using vim on Linux these don't work anymore because of linux
 windows managers.
 
 Is it possible to put the same functionality of the CTRL-key (and/or
 ALT) to a key which is not linux windows manager  sensitive?
 In other words: Is it possible to remap the ctrl key to for example
 the letter c?
 
 So that when you are in insert-mode you can press cs as a replacement
 for CTRL-S?
 (
 Is this possible without using the Function Keys F1 till F12?
 

get the vim setup called cream.
http://cream.sf.net

-- 
Kim Schulz| Private :  http://www.schulz.dk
[EMAIL PROTECTED] | Business:  http://www.devteam.dk
+45 5190 4262 | Sparetime: http://www.fundanemt.com


Re: CTRL-S functionality to a letter combo like i.e. cs

2007-02-01 Thread A.J.Mechelynck

Eric Leenman wrote:

Hi,

I'm using gvim on windows, which is behaving like windows shortcuts:
For example:
CTRL-S for save
CTRL-X for cut,
ect.

When using vim on Linux these don't work anymore because of linux 
windows managers.


AFAIK they do work but they aren't mapped because they aren't standard on Linux.



Is it possible to put the same functionality of the CTRL-key (and/or 
ALT) to a key which is not linux windows manager  sensitive?
In other words: Is it possible to remap the ctrl key to for example the 
letter c?


So that when you are in insert-mode you can press cs as a replacement 
for CTRL-S?

(
Is this possible without using the Function Keys F1 till F12?

Rgds,

Eric


Since you're apparently not going to use the same keys as on Windows, why not 
use real Vim keys?


Save
:w
Save As
:saveas filename.txt
Delete (cut) to default register
d
Delete (cut) to clipboard
+d
Delete lines 22 to 33
:22,33d
...to clipboard
:22,33d +
Yank (copy) to default register
y
Yank (copy) to clipboard
+y
Yank from current line to end of file
:.,$y
... to clipboard
:.,$y +
Put (paste) before cursor
P
Put (paste) after cursor
p
Put from clipboard
+p
+P
Put linewise after current line
:put
... from clipboard
:put +
Put at end of file
:$put
:$put +
Undo
u
Redo
Ctrl-R
etc. etc. etc.


Best regards,
Tony.


Re: Go to start of visual selection

2007-02-01 Thread Bill McCarthy
On Thu 1-Feb-07 11:51am -0600, Tim Chase wrote:

 vnoremap gt esc`:exec 'norm '.visualmode().'`lt'cr
 vnoremap gb esc`lt:exec 'norm '.visualmode().'`'cr

Why do you use `lt instead of just ` ?  Just a matter of
preference?

-- 
Best regards,
Bill



Re: Go to start of visual selection

2007-02-01 Thread Tim Chase
 vnoremap gt esc`:exec 'norm '.visualmode().'`lt'cr
 vnoremap gb esc`lt:exec 'norm '.visualmode().'`'cr
 
 Why do you use `lt instead of just ` ?  Just a matter of
 preference?

Depending on what follows the

`

vim may try to interpret it as a character-notation.  I prefer
not to have to think about it, so just like with HTML entities
when I write HTML, it's now hard-wired that, when writing
mappings, I use lt (and I get stung enough with | vs. bar
 that I tend to err on the side of using the  notation when I
don't have to, just so I don't have to burn brain-cells thinking
about it case-by-case.

-tim









Re: Go to start of visual selection

2007-02-01 Thread Yegappan Lakshmanan

Hi Bill,

On 2/1/07, Bill McCarthy [EMAIL PROTECTED] wrote:

On Thu 1-Feb-07 11:51am -0600, Tim Chase wrote:

 vnoremap gt esc`:exec 'norm '.visualmode().'`lt'cr
 vnoremap gb esc`lt:exec 'norm '.visualmode().'`'cr

Why do you use `lt instead of just ` ?  Just a matter of
preference?



The following text describing when to use lt in a map is taken
from the Vim keymap tutorial which is available at:

http://www.geocities.com/yegappan/vim_keymap.html


When Vim parses a string in a map command, the \... sequence of characters is
replaced by the corresponding control character. For example, let us
say in insert
mode you want the down arrow key to execute C-N when the insert complete
popup menu is displayed. Otherwise, you want the down arrow key to move the
cursor one line down. You can try the following command (which doesn't work):

   :inoremap Down C-R=pumvisible() ? \C-N : \DownCR

When parsing the above command, Vim replaces C-N and Down with the
corresponding control characters. When you press the down arrow in insert
mode, as there are control characters in the expression now, the
command will fail.

To fix this, you should escape the  character, so that Vim will not
replace \C-N with the control character when parsing the command. The
following command works:

   :inoremap Down C-R=pumvisible() ? \ltC-N : \ltDownCR

With the above command, Vim will use the control character only when the map
is invoked and not when the above command is parsed.




If the flag 'B' is present in 'cpoptions', then the backslash
character is not treated
as a special character in map commands. For example, let us say you want to
create an insert-mode map for the F6 key to insert the text Press Home to
go to first character. For this, you can try using the following command:

   imap F6 Press Home to go to first character

When you press F6 in the insert mode, the Home in the above map will
cause Vim to move the cursor to the first character in the line and insert the
reminder of the text there. To literally enter the text Home, you need
to escape it:

   imap F6 Press \Home to go to first character

If the flag 'B' is not present in 'cpoptions', then the above map command will
insert the correct text. If the flag 'B' is present, then the
backslash character is
not treated as a special character and the above map will not insert
the correct
text. To treat Home literally independent of the 'cpoptions' setting, you can
use the following command:

   imap F6 Press ltHome to go to first character

In the above command, the notation lt is used for  in Home.


- Yegappan


How to use Ctags.exe for extern C {} ?

2007-02-01 Thread vimtexhappy

Hi everybody :
I use the ctags to get some tags form  the
MinGW  include file . But I run
ctags -R MinGW
I find the  tags file is not contain the function
in the

extern C {
_CRTIMP FILE* __cdecl fopen (const char*, const char*);
}

such as fopen .
How can I do ?
Thanks for the help.