A
A
alex_adept2016-01-18 10:43:17
vim
alex_adept, 2016-01-18 10:43:17

Vim how to make a full popup console?

Good afternoon. The essence of the task is to make a pop-up console in vim (ideally several and switching - but this is already further).
I know about things like rosenfeld/conque-term and the like. what needs to be changed:
- I'm interested in when the console will be in the full width of the window.
- We need the ability to hide and restore the window without losing the last session.
- It would be cool to fix autofocus, etc., in order to completely abstract from unnecessary clicks
- It would be nice not to display it in the list of tabs / windows (this is again a secondary bonus)
Theoretically, something similar could turn out according to the principle of nerdTree with there by a plugin, but I don't know if it saves the state of the window or reopens it.
Can you advise something?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
S
SilentFl, 2016-01-19
@SilentFl

in my opinion you want something very strange, what do you want to do with this console? I list the options:
1) two terminal windows, vim in one, console in the other. place them at least side by side (like vsplit), at least full screen mode and alt+tab
2) one terminal, two tabs. switch to the desired tab alt+1, alt+2, etc.
3) rosenfeld/conque-term/ vimshell and arrange windows in vim however you like 4) install
a dropdown console emulator like guake or yakuake
5) install a tiled desktop environment, I use i3wm myself
6) for nix systems you can send vim to background Ctrl+Z, do something in the console, then restore vim with the fg command
7) finally, from vim you can execute commands directly, through :!, :r ! or :sh

A
Alexander Kovpashko, 2014-07-29
@JIakki

Find and write the element to animate outside the event handler.
Start the animation on a timeout that resets if the mouse continues to move.

var windowCenter = $(window).width()/2,
    layer = $("#layer-2"),
    timeout;
$(window).on('mousemove', function(e){
    clearTimeout(timeout);

    timeout = setTimeout(function(){
        var newLeft = ((windowCenter - e.originalEvent.pageX) ) / 10;
        layer.animate({"left" :  newLeft}, 100 );
    }, 50); 
});

Demo: jsbin.com/cirule/1/edit?js,output

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question