On Monday, October 15, 2012 7:27:40 AM UTC-7, Christian Brabandt wrote: > On Mon, October 15, 2012 16:14, porphyry5 wrote: > > > On Sunday, October 14, 2012 4:59:28 PM UTC-7, coot_. wrote: > > >> On 15:25 Sun 14 Oct , Graham Lawrence wrote: > > >> > > >> > :echo substitute(@%, "\..*", "", "") > > >> > > >> > > > >> > > >> > :echo substitute(@%, "\([^.]\+\)\..*", "\1", "") > > >> > > >> > Parameters2.html > > >> > > >> > > > >> > > >> > >From :reg > > >> > > >> > ": echo substitute(@%, "\([^.]\+\)\..*", "\1", "") > > >> > > >> > "% Parameters2.html > > >> > > >> > > > >> > > >> > So, how should I write this substitute command? > > >> > > >> > > > >> > > >> > > > >> > > >> > -- > > >> > > >> > Graham Lawrence > > >> > > >> > > > >> > > >> > -- > > >> > > >> > 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 > > >> > > >> > > >> > > >> Are you looking for: > > >> > > >> :echo expand("%:r") > > >> > > >> > > >> > > >> :help filename-modifiers > > >> > > >> > > >> > > >> Best, > > >> > > >> Marcin > > > > > > Many thanks, that solves the immediate problem perfectly. But I would > > > also like to know why substitute() does not, if possible. > > > > Because of the way, Vim parses the regular expression in a quoted string. > > If you use double quoted strings, you need to double the backslashes, > > alternatively, simply use single quoted strings. > > > > :h expr-string > > :h literal-string > > > > regards, > > Christian
Many thanks. -- 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
