What is the actionlist item for Open Recent.. in JetBrains IdeaVim? - jetbrains-ide

I have been looking at this :actionlist dump for IdeaVim for a while now, and am unable to figure out which action corresponds to Open Recent (project) in JetBrains. This is the specific action I am looking at:
I wanted to be able to reassign a <leader> based keystroke to this action in ~/.ideavimrc. So, how exactly should I proceed?

The ID for the open recent action is a bit unusual $LRU. You should map the leader keystroke to :action $LRU.

Related

Vim popup menu, like the omni autocomplete popup

I'm making a Vim Script. I want to make a popup that offers alternatives. It should work the same as the Omni-popup, but not replace the string or go through the omni functions. Like this:
I've haxxed in the functionality I need by using the completefunc and the auto command event CompleteDone, just to get the popup. But it's really ugly and messy, since I'm not using it for auto completion.
Is there a way to use this popup but with full control, not going through the omni-complete functionality? Like populating it with values and receive the value selected?
I know you can just place the alternatives in an other buffer and just grab the input from there. But it disturbs the work flow, I want a popup.
The insert mode popup menu is only meant for completions, as you've correctly found out. There is not other precedence for popup menus as a general selector in Vim, so such functionality is not there and is difficult to emulate. (In GVIM, one can populate a right mouse button popup menu, but this would need to be triggered by a mouse key press.)
The "Vim way" would be to :echo the list of menu items and query (via getchar() or input()), or just use confirm() or inputlist(). Examples built into Vim are the query in :tselect.
Plugins often use a split scratch buffer to build a more elaborate menu; this can even be combined with 'completefunc', as any text entry into the scratch buffer is discarded, anyway.
The FuzzyFinder - buffer/file/command/tag/etc explorer plugin uses this, and even provides an API for custom uses, cp. :help fuf-callbackitem-mode. That's certainly worth a look, though the menu would still be located at the top, not inside the current buffer.
Do either of these do what you want?
:help inputdialog()
:help inputlist()

how to get rid of weird lines showing on my vim windows after omni completion

Every time after using omnicomplete in vim it gives suggestions in a pop up after my cursor and when I'm done with it, it leaves a line along the pop up.. and it only goes away after scrolling the complete window once. It gets very annoying..
How do I get rid of this?
Maybe use CTRL-L? It should redraw the screen.
:h CTRL-L
Looks like a rendering bug.
Step 1: try downloading the latest Vim source code and compiling it
Step 2: see if the problem exists there
Step 3: if the problem still exists, report as a bug on the vim_dev mailing list ( http://www.vim.org/maillist.php#vim-dev ). Be sure to specify your Vim version, whether you're using terminal or GUI Vim, and on what OS.
Step 4: wait anywhere from a few days to a few years and maybe somebody will fix it

Vimscript: How can I implement interactive method argument autocompletion?

I am writing a plugin for vim in which I am calling a ruby script.
The script finds the arguments for the method and I have managed to display them in the popup using completefunc. Here is how it looks.
This is great but if I chose one of the options the popup closes and I lose the rest. Is there a way that I can keep the popup open and use it to paste things in while typing? I do feel like I am misusing the popup as it seems to be designed for single word auto-completion. If that is the case could someone suggest an elegant alternative approach?
Best,
Dionysis
There's no way around closing the popup menu after a candidate has been selected and inserted into the buffer. However, nothing prevents you from automatically re-triggering the same completion (using feedkeys() and the CursorMovedI event), provided the conditions for continued completion are given.
The AutoComplPop - Automatically opens popup menu plugin does this; you can check its implementation for details.

ConEmu: Searching through entire buffer

I've recently moved to the ConEmu console and I'm loving it. Its very configurable and it has a lot of the features that I was looking for (A Mac Terminal App replacement of sorts.)
I've not been able to figure out how to search through the entire history buffer though. Theres a key called App+F which seems to search the visible buffer for a string, but theres nothing that lets me search through the entire 9999 lines of buffer. Does anybody know the Keyboard shortcut for this?
Thanks.
For Windows set different hotkey since win+f is binded to Windows actions.
Here is how to set ctrl+f
Apps+F may search entire buffer. But update to the latest build first and note that you need to "Freeze console" to enable buffer search.
BTW, Apps+F is default hotkey, you may choose any suitable.

Is there any Vim plug-in that can show the file hierarchy?

For folks who have used the Espresso editor, I'll love the right bar for showing the file hierarchy based on the tag nesting and open close. Is it possible in Vim?
I thought taglist was promising, but it's just too smart, it collects and categorize the class and method, but for me who want to know the file hierarchy to know the file structure need the basic feature like Espresso has.
Can taglist be used for this purpose?
Try this: Tagbar
Anyway "Groups tags according to the scope and display them" is in the Taglist plugin's todo :D.
This might be something off topic but I prefer Outline Unite plugin for this kind of functionality because it's integrated with Unite, so you can jump to the function you want by typing their name, and you don't have to keep the outline windows open all the time.
Try NERDTree. I don't know if you can integrate it with taglist, but it'll let you browse the file hierarchy. You can get it at vim.org or on github. Then you can open it with :NERDTree. An even better way to open it is to create a mapping like this
map <leader>t :NERDTreeToggle
Which, for me, toggles it with ,t, so you can keep it out of the way when you don't need it.

Resources