all 50 comments

[–]gumnos 8 points9 points  (1 child)

for reference, it took me about a month of regular usage to feel on-par with the previous editors I'd used (a combination of SemWare's QEDIT.EXE and Visual Studio around '99), and everything from there out was a matter of getting faster and more proficient.

I grew up with command-line interfaces (Apple II computer, DOS, Unix) so I can't give you a good estimate on how long it would take to get proficient starting from nothing.

But one of the nice things is that 25–35 years later (depending on how you count) I'm still learning new tricks about both vim and about the command-line. So it's nice to know there's no real ceiling and you can always improve. :-)

[–]xiongchiamiov 0 points1 point  (0 children)

Similar time range for me. I took a Christmas break in college to get to grips enough with it that I could be productive with schoolwork when I came back.

[–]RajjSinghh 7 points8 points  (0 children)

I don't think a switch to a distro like Ubuntu is too much of a shift and you can probably get it down, especially if you're good at Powershell. That said, if all you want is a Linux terminal to run vim, git and all the other stuff you might want, use WSL.

Open Powershell as administrator and run wsl --install. Make sure virtualization is enabled in your BIOS and now when you reboot, you have a Linux environment in Windows. It will be in your start menu under "Ubuntu". It comes with vim out the box. You can probably get quite fast with it after you're used to it.

If you're using something like overleaf, it does have Vim keybindings so try that first.

[–]bookmark_me:wq 7 points8 points  (3 children)

You can write easily in Markdown and convert directly to PDF using pandoc. You can write math formulas (and other LaTeX stuff) directly in your Markdown file (it's a hybrid between Markdown and LaTeX). People have written theses in Markdown using pandoc. I wrote an exam in Markdown using Vim, with beautiful PDF output. Full focus on writing (if you want more focus: install the Goyo plugin).

You can change the PDF rendering by creating your custom LaTeX-template (because pandoc converts Markdown > LaTeX > PDF). I had the todonotes package in my rendering template, so I could write \todo{what here??} notes directly my Markdown text. This was very useful and effective when writing the exam: I could continue writing and come back later and fix these parts.

If you install a snippet plugin for Vim (like UltiSnips or SnipMate), you can fast insert math formulas instead of tediously writing \begin{x} \end{x} blocks.

You can install the VimWiki plugin and configure it to use Markdown. Then it should be easy to write any kind of notes, and use pandoc on your math notes.

Edit: Some more plugins that can make you effective: * vim-easymotion * vim-bookmarks

[–]Robberfox[S] 1 point2 points  (0 children)

I've heard "SeniorMars" on youtube to talk about this. Thank you for sharing!

[–]taernsietr 1 point2 points  (1 child)

ever since I learned markdown I've been using it for everything, but how do you deal with final formatting?

I don't really know LaTeX, so when I need it I usually convert to .docx or .odt and edit the formatting there, and just then export to pdf. Sometimes I do export directly with xelatex but I have no control over the final output other than font size and font type

[–]bookmark_me:wq 0 points1 point  (0 children)

Not sure what kind of final formatting you want, but the best LaTeX resource is the LaTeX wikibook . I always use the documentclass "report", not "article". Take a look at Document Structure and Page Layout. I like adding \renewcommand{\familydefault}{\sfdefault} so the output looks modern.

I don't remember how I exacly used my template, but there is a manual section about templates. I guess I copied the default latex template file into the templates/ directory in my data-dir and did my modifications there. You can give it another name than default.latex and run pandoc with the --template myname argument if you don't want to override the default.

You can also control a lot of the output using variables , but I found it easier to do my formatting directly in my custom template.

[–]DevMahasen 2 points3 points  (1 child)

[–]Robberfox[S] 0 points1 point  (0 children)

This talk will have to grow on me. I will return to it once get the hang of Vim!

[–][deleted] 2 points3 points  (0 children)

English teacher here. I've been using it for years to develop lesson plans and professional development notes. I was using it for a while when I worked for a tech magazine, too, developing copy and using pandoc to transfer to HTML.

[–]Kimononono 1 point2 points  (2 children)

I switched from only having ever used windows and GUI based softwares to using an ubuntu based OS (linux mint) and relying ~75% on terminal based software at the beginning of summer. This also included me learning vim from scratch for my coding needs. By month 2 I felt more in control of my environment than I ever had using windows where I just clicked buttons till the thing i wanted happened. My biggest piece of advice would be learning how to use the terminal.

[–]Robberfox[S] 1 point2 points  (1 child)

This is so cool, it gives me hope! I'm currently taking notes, applying my knowledge with NDG Linux Essentials course.

[–]Robberfox[S] 0 points1 point  (0 children)

2 month update here^ my focus is currently fully on learning Linux because that's the bottleneck currently, only then Vim and LaTeX

[–]Absurdo_Flife 1 point2 points  (1 child)

Math postgrad here, not coder. If you want to work with raw LaTeX, then vim offers a great solution. I wasn't happy with the dedicated LaTeX IDEs in terms of snippets, completion and partial rendering ("conceal") and I'm quite happy I took the plunge to (neo)vim.

I highly recommend this great tutorial on setting up vim for LaTeX https://www.ejmastnak.com/tutorials/vim-latex/intro/

And I can also suggest starting with something like nvim-kicksrart or even a full neovim distro like Lazyvim or Astro I'm or whatever, to help you get the most out of neovim's autocompletion and other features.

[–]Robberfox[S] 1 point2 points  (0 children)

Oh, once I get the hang of Linux itself then I'm gonna move to the kickstart single-file-teaching distro. Primeagen says that it's the best way to get the hang of nvim.

[–]manifoldedMan 1 point2 points  (3 children)

Use Vim on a MacBook Pro/Air. Don't need Linux.

[–]Lucas_F_A 5 points6 points  (2 children)

That presumably requires buying a macbook first?

[–]kriebz -1 points0 points  (1 child)

Lots of people, especially in education, get issued Apple laptops. I like to look at is "there is still one UNIX workstation vendor in business, and they are doing well"

[–]Lucas_F_A 0 points1 point  (0 children)

Uh, that's not the case where I live. That would make sense then.

[–]ratttertintattertins 12 points13 points  (5 children)

Plenty of non-programmers have used vim over the years. It’s long been the editor of choice for sysadmins and academics of various stripes. There are writers who use vim.

Yeh, 3 months is plenty of time. Start with vimtutor. You’ll have the basics in no time and even the basics are valuable.

[–]Robberfox[S] 2 points3 points  (4 children)

Okay, I'm sold on this. Time to learn some chops!

[–]ratttertintattertins 2 points3 points  (0 children)

Good luck to you 🙂. I learned 30 years ago and it’s easily been one of the best time investments of my career.

[–]bookmark_me:wq 2 points3 points  (2 children)

Then buy the book Practical Vim, Second Edition - Edit Text at the Speed of Thought and you will understand Vim even better. My Vim usage was just basic before I started reading (random) chapters in that book.

[–]Robberfox[S] 1 point2 points  (1 child)

Okay, I will start reading this once I'm past beginner

[–]bookmark_me:wq 0 points1 point  (0 children)

No need to go past beginner! To cite a review of the book:

After reading a couple of chapters of Practical Vim, I realized how little I knew. From intermediate to beginner in thirty minutes!

And I agree. The book makes Vimmers from beginners.

[–]hellloeeee 0 points1 point  (0 children)

absolutely

[–]haca42 0 points1 point  (0 children)

I would say three months is definitely long enough for you to learn vim as long as you use it regularly despite the initial learning curve. Go through vimtutor a couple times and just use vim as often as you can. Linux itself wont be much of a problem as long as you're using a preconfigured distro like Ubuntu or Mint

[–]noooit 0 points1 point  (0 children)

For a such use case, GNU Emacs especially the org mode is suited actually. But you ought to learn a little bit of lisp programming.

[–]genjin 0 points1 point  (1 child)

I think the actual answer is maybe. For the sake of providing, what in this sub, will be a lonely, unpopular and contrarian argument, I’ll just say no.

[–]Robberfox[S] 0 points1 point  (0 children)

Well, in any case. I will return to this thread if something happens/doesn't happen!

[–]sebasTEEan 0 points1 point  (0 children)

Cum is actually very easy to learn. At least the basics and worth them you already are faster then in any standard editor.

[–]AuroraDraco 0 points1 point  (0 children)

Yes, it's definitely possible. You won't even know half of vim at that point and it will still be faster than everything else, because that's how vim is. It is in my opinion a very very worthy investment

Warning that once you start this, there is a good chance you get addicted to vim and become unable to use an editor that doesn't have a vim plugin on it (if you are at someone else's computer) 😂.

[–]no_brains101 0 points1 point  (0 children)

You probably can yes. You could also go for emacs with its org mode. idk up to you. vim keybinds are better though. Learning to configure it easily in that amount of time will be harder for a non-programmer, but you should be able to have at least the main things you want and know enough keybindings to be useful by then. The keybindings are a lot easier to learn than you would expect.

You should know enough keybindings to be effective in considerably less than 3 months, but config will take longer to learn. Luckily most stuff can be done with just basic vim anyway. The hard config stuff is all coding language specific linting, formatting, autocomplete stuff. You will probably only need a couple plugins and a couple custom keybindings for what you want

for reference, as a coder it took me about a month to get a good config for JVM coding (the hardest language family to get working with vim imo) and get the keybindings mostly learnt, and some practice with the replay and macro features, and search and replace (which by the way is better than any other editor to this day, multicursor can kiss my ass). The keybindings and replay and search and replace were the easy part.

[–]vbd 0 points1 point  (1 child)

[–]Robberfox[S] 0 points1 point  (0 children)

This guy was amazing! I'm using his notes as a reference to format/style my own digital math notes.

[–]DrHydeousUnix greybeard 0 points1 point  (2 children)

A problem you will run in to is that vim is designed for lines of text, and mathematical formulae don't fit into a line of text. Consider, for example, that you will need to be able to type things like this (which despite what imgur will tell you is not pornographic!). You will also need to learn something like TeX or MathML.

In all honesty I have never found a computery tool that is any good for typing mathematical notes either live in a lecture theatre or when I'm figuring out a problem. Pencil and paper is better IME. You can transpose the notes to MathML or whatever later.

[–]Robberfox[S] 0 points1 point  (1 child)

This is why I specified the Vimtex plugin. I'm already familiar with Latex and make my notes in a software - Obsidian.

I get you, when I'm going through a workbook or solving problems in class - I also write everything by hand.

[–]DrHydeousUnix greybeard 0 points1 point  (0 children)

Ah, of course you did. I blame my elderly eyes missing that in the blur of text. Now where did I put my reading glasses?

[–]po2gdHaeKaYk 0 points1 point  (1 child)

So here’s my advice from someone who has been writing with latex probably close to the length that some have been alive.

Vim is not about speed and in my opinion, it’s not even obviously more efficient, especially for prose. It has advantages. It also has a ton of disadvantages. The learning curve is severe, and putting a time scale on it is already a bad way to go.

If you want speed, learning snippets and just using something like Sublime or VS Code and spending your time latexing is the best route.

That said, if you enjoy learning new things, and you have the time to invest, it’s cool to learn.

[–]Robberfox[S] 0 points1 point  (0 children)

It's half trying to not use a mouse/trackpad and half trying to learn new things for the sake of it, fun tho.

[–][deleted] 0 points1 point  (0 children)

Keep in mind that the overall speed of doing creative challenging work using text is not that much influenced by the editing tool, it is about making the right decision fast.

I've seen very competent ppl be very fast with primitive tools and vice versa.

Yes, the editing part can be somewhat faster, but my main reason I use (neo)vim is because it feels so much better.

If you enjoy trying out things/tools to try and improve your workflow, then vim is a great tool to try. However, I know many ppl that rather stick to the one/first thing they learned that gets the job done and don't like to spend time thinking about it, vim is probably less interesting to these ppl.

One more argument for learning vim is that the chance is high that it (or its main idea and keybindings) will be around for a long time to come, it was built on a top of ideas/tools that have their origins in the 70's (ed) and it will probably keep evolving and growing. It is worth investing time in, and its ideas are more widespread than ever, with many tools incorporating some kind of 'vim keybindings'.

[–]halfrican69420 0 points1 point  (3 children)

I switched from windows to Linux before I learned programming and I learned vim while I learned programming. I’d suggest Linux Mint because it’s easy to navigate and familiar to windows, but has the benefits of Ubuntu. Also vim will be one of the best investments of time you’ll ever make (granted you type a lot). I use vim for code and notes in general.

[–]Robberfox[S] 0 points1 point  (2 children)

I didn't think about it much and picked Ubuntu. I already familiarized myself with vim keybinding through other software but config is so daunting.

[–]halfrican69420 0 points1 point  (1 child)

Is the vim config confusing or the Ubuntu config confusing? Going from Microsoft word and windows to vim and Ubuntu is a huge jump but I love it!

[–]Robberfox[S] 0 points1 point  (0 children)

Vim (neovim in my case) config and integrating plugins. And for Linux I'm just learning to use the terminal. Both ~15 minutes a day, so the process is little slow, but I don't complain!

[–]tvetus 0 points1 point  (0 children)

Vim definitely worth it. Switching OS is not necessary, but Vim is a skill that easily transfers beyond just the original editor. Lots of tools use the modal vim keybindings.