Quick-search using VIM and Netrw on Windows - windows

I use VIM 7.2 on Windows, with the latest netrw (141i, Jan 03 2011).
I use netrw for browsing remote FTP directors. Right now, when I want to navigate to a certain file, I type /<filename> and VIM's own search function gets the cursor there. I then have to hit ENTER twice (once to exit search mode, and then again to make netrw "execute" that file).
I'm sure there's a better way to do this. Any ideas?
Thank you.

It seems that you have the 'incsearch' setting which displays occurrences of a pattern as you type it. It is necessary to hit enter to validate the pattern, then you're back to your buffer.
Maybe the Fuzzyfinder plugin could help you be quicker.

You can use :
set incsearch in your .vimrc to enable incremental search.
You'll still have to type <Enter> twice but you won't have to type the complete filename !

Related

How to change default Terminal in Source Tree on windows

I am working on Windows 7 with Source Tree. Because I don't like the default cmd.exe I want to change it to Console2 such that Source Tree will open Command2 instead of Cmd as terminal.
It appears you can't do it, at least in any obvious way. There are a couple of solutions/workarounds that you can use here:
Pick a different favorite terminal. ConEmu is a wrapper for CMD.exe that will act as your default terminal if you tell it to [I thought Console2 could do this as well]. Also - forgive the editorial - ConEmu is way, way, better than Console2.
You can add a custom action in the menu. From the global options go to Custom Actions tab and add an action to Open in Terminal using the console you want. This isn't quite as cool as just hitting the terminal icon, but you can easily accomplish the same outcome.
Unfortunately, these are the best there are for now.
Note: Based upon the link that #sendmoreinfo posted, waiting for Atlassian to add this by default may be better way to go for your purposes. Only problem with that may be is that according to some the newest updates to Source tree are terrible, so I haven't updated as of yet.
Note 2: Though this won't do what you want, there is an Option in the settings under the Git Tab that allows you to Set Git Bash as default prompt. That may or may not get you closer to where you want to be.
You may add Windows Terminal as Custom Action. You may run custom action in context of selected file. Define a new custom action as shown below.

searching session - secure shell extension to chrome

Using OSX Mavericks,13 inch 2011 MBA. I have moved all my development into the chrome secure shell - consistent shortcuts, easy navigation.
Trying to search within a secure shell session - from previous commands and output I can't do it. Couldn't find documentation or use the obvious candidates - Cmd + f, Cmd + s.
I don't want to use Ctrl + r to search previous commands, as I need a more powerful search ability.
Alternatively, I'm thinking of saving all terminal input and output to a file and searching that with grep, with a suitable alias.
Also, when I copy/paste from one secure-shell to another with emacs( shared-buffers enabled with OS and emacs in secure-shell) it gets messed up and won't parse. However, if I paste into another WebApp such as google keep or gmail, the text gets copied fine.
There is no "Find-in-page" feature in Secure Shell at the moment. The feature request is here: https://code.google.com/p/chromium/issues/detail?id=209178
As a workaround, you can select everything in the terminal, copy it to the clipboard, and then open a new tab pointed to the URL: 'data:text/html,<textarea style="height:100%;width:100%">', paste into that textarea, and then use the standard Cmd - f to find-in-page.
Or, if you just want to search the output of a command, you can use something like cat /var/log/messages | grep foo.
I don't know what you mean by "messed up and won't parse", maybe a screenshot or description of exactly how you're copy/pasting, or elaboration on "messed up" would help.

Window focus when editing remote files over FTP on a Mac

I use a combination of ForkLift and Textmate to edit files on a remote server via FTP. it works really well, except for one little quirk: when I hit save on Textmate, Forklift saves the file, and then Forklift takes the focus. So, every time I hit Save on Textmate, I have to wait for Forklift to save, and then hit Cmd + Tab to return to Textmate.
Is there a way this can be avoided? I.e. is there a way that when I hit Save on TextMate, the focus does NOT get taken by ForkLift?
And, by the way, I tried to edit the files with TextEdit instead of TextMate, and the behaviour did not change. So, I'm guessing this is either a ForkLift issue, or a Mac issue.
Either way, help would be much appreciated.
Just tested with Forklift Version 2.0.6 (315) and couldn't find the behavior described by you. The focus wasn't lost by saving the document within Textmate.
Maybe 'already' fixed?

Output a watched Visual Studio variable to a file

Is there a way in Visual Studio (2008 if it matters) that I can, in debug/break mode, write the contents of a variable to a text/XML file?
The scenario is that I have a long process running in debug and I have realised too late that I haven't logged enough detail about the events that the process has been monitoring, but fortunately a history is still available within a variable in the code.
I could trawl through the tens of thousands of items in this list, but it's not going to persist once I hit stop on the application ... there is no obvious context option for this, but is there any way, a better way than manual? Or is there no hope and I just need to hit stop, re-tool the logging function and run the thing again?
Aside from trying to hit a breakpoint, modify the code and re-write to make a better logger, is there a way of not losing that in-memory data?
One way to do it would be to use the immediate window (menu Debug -> Windows -> Immediate). In the window that appears you can use the "?" to query the value of a variable.
Assuming your history variable is a string you view its contents by typing the following in the immediate window:
?history
You could copy and paste the output from there into a text file or alternatively ask Visual Studio to log all command window output. To do this type:
>log "c:\test.log"
>? history
>log off
Log is an alias for Tools.LogCommandWindowOutput and accepts the following parameters:
Tools.LogCommandWindowOutput [filename] [/on|/off] [/overwrite]
Check out the MSDN article Log Command Window Output Command for more information.
 
I think that my answer is pretty much the same as JamesPickrell's, but from the Immediate Window you could also do something like this:
My.Computer.FileSystem.WriteAllText("c:\temp.txt",history,True)
This would output the content of the "history" variable to a file called c:\temp.txt.
Thanks to Richard's answer, this is working for me.
System.IO.File.WriteAllBytes(#"c:\Temp\temp.txt", myVar);
Make sure that C:\Temp exists.
The reason for writing to a folder and not to the root C:\ is to avoid UnauthorizedAccessException when not running Visual Studio as administrator.
I found useful/demonstrative/shareable to save the variable as a json string to the file. From Immediate Window enter the following:
string jsonedVariable = Newtonsoft.Json.JsonConvert.SerializeObject(VARIABLE);
System.IO.File.WriteAllText(#"C:\FILENAME.json", jsonedVariable);
Not sure from which version it's supported, but you can simply put it in the WATCH window, then right-click copy past wherever you want.

Is there a Firefox add-on to use vim to edit textboxes?

or "How do I answer questions on SO in Firefox using gVim inside the textboxes?"
It's All Text!
From the extension page:
At the bottom right corner of any edit
box, a little edit button will appear.
Click it. If this is the first time
you've used "It's All Text!" then you
will be asked to set your preferences,
most importantly the editor.
The web page will pop up in your
selected editor. When you save it,
it'll refresh in the web page. Wait
for the magic yellow glow that means
that the radiation has taken effect!
Vimperator makes Firefox act very much like VIM:
Vimperator is a free browser add-on for Firefox, which makes it look and behave like the Vim text editor. It has similar key bindings, and you could call it a modal web browser, as key bindings differ according to which mode you are in.
Once you have the cursor in a text box, hit Ctrl-I to open in your editor, which defaults to gvim.
The current answers don't work anymore now that Mozilla removed XUL in favour of WebExtensions. With recent firefox versions, there are the following options (sorted in descending order by the current popularity on addons.mozilla.org).
GhostText provides instant synchronization between editor and textbox via editor-specific plugins. The project is on github and the vim extension is written in Tcl.
withExEditor is cross-platform but requires a native application written in node.js. In addition to editing text fields it also allows viewing the source of the page, MathML, SVG and the current selection. The project on github and the native node.js application
Textern requires a (currently) Linux-only native application written in Python. Synchronizes the content of the text field while you type in the editor. The extension and the native app can be found on github
Tridactyl is probably what you're looking for nowadays.
It's the spiritual successor to the likes of Pentadactyl and Vimperator, which are not available for the current version of Firefox.
If you want something more like It's All Text, where the editing area appears right on top of the browser text area rather than launching an editor window, and you're willing to use Neovim, check out firenvim.
It's All Text! will let you use whatever editor you want. To use vim with it, you'll need a small shell script to open it in a terminal:
#!/bin/sh
exec xterm -e /usr/bin/vim "$#"
If you have GVim, you won't need the shell, script, obviously.
ViewSourceWith is another addon worth lookng at. It supports more than just edit boxes and text. For example, you can configure it to open images in the GIMP.
Another feature that I find useful is that it can pop-up a dialog box that shows all the js and css scripts used on the page. You can then choose to view/edit file in your preferred editor.
For answering questions on SO, you may also want to get the Vim Markdown Syntax file
The "It's all Text" extension, perhaps?
http://addons.mozilla.org/en-US/firefox/addon/4125
If you use vimperator and have the markdown syntax file installed, a useful line for your .vimperatorrc is:
au LocationChange .* :set editor="gvim -f"
au LocationChange stackoverflow\.com :set editor="gvim -f -c 'set ft=mkd'"
This will tell vim to do syntax highlighting for markdown when you are on stackoverflow.com, but not when you are any other site. There are similar hacks for wikipedia/mediawiki etc. Enjoy :)
One way to do this is to use the vimperator extension - of course, that does a lot more than what you're looking for.
At the time of writing it is experimental, but the jV extension looks good. To quote from the page:
This extension makes all html textareas into a very stripped-down version of Vi[m]. It's modal, supports infinite undo, has register support, search, visual mode, and various movement and editing commands.
When using Vimperator in Windows (I am using Vista) you may need to double-escape the path to gvim.exe to use it as the external editor. Single escaping did not work for me as Vimperator unescapes it twice. Eg:
:set editor="C:\\\\Program\\ Files\\ (x86)\\\\Vim\\\\vim72\\\\gvim.exe" -f
Then while in a text box you use Ctrl+I and it will open gvim for editing. When you save and exit it will update the text box.
There is an experimental way to directly embed the real vim in firefox using embedded editor - though it requires mozplugger and will only work on Linux.
Try out the wasavi extension. You might want to check out the all versions page to make sure you try out the latest version. (Copy of this answer.)
You can also use the ViewSourceWith addon to achieve the same. Just right-click on any text input and you can edit it using Vim.
As said by others,
as a Vi/(g)Vim user you'll probably want to look at the Vimperator addon, which also provides the what you ask:
inside a textbox, hit <C-i> to launch the external editor.
(can be defined in _vimperatorrc: set editor=gvim -f )
A hint for Mac users: if you want to use "It's all text" with vim, the easiest way is to use http://code.google.com/p/macvim/ . Point "It's all text" to the mvim script that's provided along with the .app (you can place this script anywhere, I choose /usr/bin/ so that I can load mvim from the command line)
Pterosaur is a Firefox plugin that allows you to use Vim in all input fields. It uses an actual Vim process in the background so it has all the functionality you expect, including reading your .vimrc configuration and your plugins.
With Firefox-57 on Linux, I installed textern https://addons.mozilla.org/en-US/firefox/addon/textern/, and found it to be a suitable replacement for ViewSourceWith for editing text boxes.

Resources