Sunday, May 28, 2023

Re: vim autoformat ?

So if I understood correctly, external tools won't help me more than Vim already has ?
Specifically, here is an example, for some use case, where I would need a formatter to fix ? 
Or another, extreme example, or cluttered code. 

Because I always thought of just writing code, in line, and then leaving editor format the rest, so I don't have to worry about readability . 
Of course, that doesn't replace improper usage of indentation or blocks of code (like, for python it needs to have good indentation to work in the right way). 
But it could help, if it at least helped when I write code inline, for it to format, as it sees fit. Not changing the meaning of code, just for readability, how much language allows of course.

First example uses .yaml, and sometimes it can change the meaning of a file, by indenting it, as you know for .yaml files.. 


On Sun, May 28, 2023 at 6:53 AM Owajigbanam Ogbuluijah <xigbanam@gmail.com> wrote:
Hey Igor,

Formatting in Vim is pretty simple. Vim already understands how to format many filetypes. Try not to use too many plugins to complicate things; especially if you're not mandated or forced to.

I'll second what Bram, and the others, said here earlier.

You can start by formatting the entire file gg=G and checking that into Git. Subsequently, when you code, you can format-as-you-go. Remember = can take motions as well :help = has more details.

p.s: the "motions" bit means you can do something like =ip to format the lines in a code block

All the best,
Igbanam

On Sun, May 28, 2023 at 3:54 AM Igor Lerinc <igor.lerinc7@gmail.com> wrote:
But what about plugins like 


That use some external formatters.



I find them slow, because it need to start program when called from Vim.
And they say, it means you need to have some type of service running on your system.
Like for 'prettier', you need 'prettierd' to not have lag when calling it. 

But I tried to setup 'prettierd', and got lost. 

And there is also some efm-langserver , which they say is fastest, because it formats only lines that need to be formatted (if I understood correctly). 
But I just have no idea what to do with this, how to install it, how to connect it to other external formatters, Vim plugins.. 

https://github.com/mattn/efm-langserver


Vim-autoformat have explanation how to setup. But as I said, it takes time to start up program, so it already need to be running, using some sort of something, like efm-langserver ?

I don't know really how to do this.
I just want to have code more readable.





sub, 27. maj 2023. 23:22 Bram Moolenaar <Bram@moolenaar.net> је написао/ла:

> I can't wrap my head around Vim autoformat at all.
> I want to have autoformat on save feature.
> I don't want it to have delays, so when i press `:w` it immediatelly saves
> and formats indentation properly.
>
> I have no idea what is going on in (neo)Vim discussions about this
> autoformating. Looks like those people never coded in their life, and never
> do any useful thing with their godly configs other than to brag.
>
> Using Vim feature `gg=G` i format and indent whole file.
> This is what I want to have, but discussions related to this are so
> complicated. They just say 'look at my config', but I have no idea, what is
> that I should look into his config, or just copying his whole config with a
> lot of bloat.
>
> Please help.

To get you started:

        au FileType pascal au BufWritePre <buffer> * normal gg=G

This will add a BufWritePre autocommand to a buffer where 'filetype' is
set to "pascal".  You probably want to ehance this. E.g. add an augroup,
so you can delete the autocommand again.

Although this is what you asked for, you probably soon find out that
formatting text only when editing it works better.  Formatting the whole
file may mess things up without you noticing.

--
From "know your smileys":
 :-)    Funny
 |-)    Funny Oriental
 (-:    Funny Australian

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

--
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CADZsa2rhiA%3Dh7SvXPJLDdHWM5cHKqS26tNLhkxBnD%2BkPSojz%3Dw%40mail.gmail.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 a topic in the Google Groups "vim_use" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vim_use/69sd3p5DVlM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CAOmRJreAjb0Omvs%3D8Z757rT-%3DeZHZLc6O1aRtPUAUrgXjbqrRA%40mail.gmail.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.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CADZsa2pgUc6yvFJa0nK%3Dpe5K6xmiCMnD9rCg-176w47DHqCutQ%40mail.gmail.com.

No comments:

Post a Comment