Giter Club home page Giter Club logo

Comments (6)

timss avatar timss commented on June 19, 2024

Hi @Numkil, and thank you for the kind words!

I'm not sure if I'm understanding you correctly, is this present even if using ^C as opposed to ESC when exiting insert mode?

Thing is that there is supposed to be a delay when pressing certain keys that are part of key sequences. This delay is configured using timeoutlen, which is default 1000 and is unchanged in vimconf. ESC respects this delay, ^C does not.

However seeing as changing ttimeoutlen does not shorten the delay when using ESC, I'm thinking I might be misunderstanding you. On my current setup running Vim 7.4 (1-253) there is no delay extra delay in InsertLeave, just the one in timeoutlen. Bufferline (should) follow the mode without anything more to it.

The first line is using ^C, the second one is using ESC as hinted by the ^[ in the command line.

InsertLeave GIF

If it's working differently for you, or I misinterpreted your issue, please do tell.

from vimconf.

Numkil avatar Numkil commented on June 19, 2024

@timss
Do you have any idea why there is this little pause on pressing ESC ? I thought it was some kind of bug tbh and since I'm used to ESC it was really bothering me. I guess I could easily switch to ^C but I do not know if there are any problems in keeping ttimeoutlen at 100ish?

Sorry for the trouble if it turns out to be nothing.

from vimconf.

timss avatar timss commented on June 19, 2024

@Numkil
I haven't played around with timeout, ttimeout, timeoutlen or ttimeoutlen too much before, so this is somewhat new for me aswell :-)

An answer in the thread Why does vim delay for a second whenever I use the 'O' command (open a new line above and insert)? seems to explain why the delay is there pretty well. Note that the escape delay seems to only be present in the terminal version of Vim, and ESC is instant in Gvim. I'm using Terminator as my terminal.

I'm able to remove the delay by changing timeoutlen to for example 50, but changing ttimeoutlen doesn't seem to do anything on my setup as mentioned. I also found some information stating that you could just do set esckeys, but can't see any change on my part.

Honestly I'm not sure how this would be solved as it seems to work differently on different systems. Any input?

from vimconf.

Numkil avatar Numkil commented on June 19, 2024

@timss

I was able to "fix the problem" (It might be intentional as far as I know) by adding this line to my vimconf

       set timeout timeoutlen=1000 ttimeoutlen =100   

now Gvim and vim in terminator seem to act identical to each other. It is not clear if there are any downsides though. Thanks for discussing this with me :) I'm not sure if you find this worth adding to your .vimrc but I will keep this setting.

from vimconf.

timss avatar timss commented on June 19, 2024

I'm not sure exactly why, but even adding your line I see no change. Tried with a different terminal aswell (Konsole).

Seeing as I'm not able to change the behaviour without using set timeoutlen=X where X is <1000 (default), I personally don't use ESC and changing timeoutlen might break other unforseen key sequences I think I'm just going to let this be as it is for now.

Either way, thank you for the suggestion! I see that you're using your own config inspired by mine (and thanks for the credit in it!), so adding it to your own config might be for the best. For others reading this issue, feel free to comment, or just add any changes to ~/.vimrc.last as usual.

from vimconf.

timss avatar timss commented on June 19, 2024

I consider this "finished", closing.

from vimconf.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.