On May 22, 2014 10:14 PM, "Pinaki" <appugupta007@gmail.com> wrote:
  >
  > Thanks, following your advice finally the script started working.
  > Here is the changed script:
  >
  >
  > " Last Change: 2014-05-22  Thursday: 04:16:18 PM
  > " -----------------------Implementation of a simple feature
  > " -----------------------"Find in Files and Directories"
  > " -----------------------like Notepad++ -----------------
  > " -----------------------Created & Edited by Pinaki Sekhar Gupta
  > <appugupta007@gmail.com>------------------------
  > " -----------------------Licence: No licence is better than
  > everything-------------------------------------------
  >
  >
  >
  > :menu Edit.Find\ in\ Files  :<Esc>:<Esc>:call Find_in_Files() <Cr>
  >
  > function Find_in_Files()
  >
  > " -----------------------raw method-----------------
  > " :vimgrep /GNU/ C:\CodeBlocks\TDM-GCC-64\include\*.txt
  > " :cw
  > " --------------------------------------------------
  >
  >         let what2find = inputdialog("search term", "", "cancel pressed")
  >         let     directory       = browsedir("Browse the directory","")
  >         let filetype = inputdialog("filetype", "", "cancel pressed")
  >         let forwardslash = "/"
  >         let space = " "
  >         let wildcard = "*."
Strange indent here.
>     if what2find != "" && what2find != "cancel pressed" && directory !=  ""
  > && filetype !=  ""
  >
  >                     "          port to test whether the nested strings are
  > working or not
  >                     "
  > http://vim.1045645.n5.nabble.com/How-can-I-pass-user-input-value-to-vimgrep-td5721661.html
  >                     " :echom "Hello, " . "world"
  >                     " Hello, world "
  > http://learnvimscriptthehardway.stevelosh.com/chapters/26.html
  >                     " echo forwardslash . what2find . forwardslash . space .
  > directory . wildcard . filetype
And here.
>         :execute "vimgrep /" . what2find . forwardslash . space .
  > fnameescape(directory) . wildcard . fnameescape(filetype)
  >         :cw
  >
  >     else
  >         " process if user press okay
  >         if what2find != "cancel pressed" && directory !=  "cancel pressed"
  > && filetype !=  "cancel pressed"
  >
  >             :execute "vimgrep /" . what2find . forwardslash . space .
  > fnameescape(directory) . wildcard . fnameescape(filetype)
It is interesting why you use "forwardslash", "space" and "wildcard" variables? Concat operator has no problems with string literals on either side of itself. And do not use '!= "cancel pressed"'.
Also why are you preceding some commands with a colon? I use it in two places: in *noremap definitions because it is required to enter command mode and after :autocmd/:command: as an element of coding style used to separate (auto)command body from the rest of arguments (preceding colon(s) are simply ignored so you may safely use them for various things like I do).
>             :cw
  >
  >         endif
  >     endif
  > endfunction
  >
  >
  >
  >
  >
  >
  >
  >
  >
  >
  >
  > If you still have any improvement suggestion please inform..
  >
  >
  >
  >
  >
  > --
  > View this message in context: http://vim.1045645.n5.nabble.com/How-can-I-pass-user-input-value-to-vimgrep-tp5721661p5721667.html
    > Sent from the Vim - General mailing list archive at Nabble.com.
  >
  > --
  > --
  > 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+unsubscribe@googlegroups.com.
  > For more options, visit https://groups.google.com/d/optout.
  
--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment