EMACS is really cool. And I think that it is the most productive editor, especially for systems programmers. The learning curve was just so steep, so I never learnt it. But with today's IDEs, GUI is actually the most productive for most people. I did not realize that EMACS is still a thing! LOL
18:09 One addition I would've made. Pressing 0 moves the cursor to the beginning of the line, but typing ^ (caret, which I think is shift+6 on a US keyboard) moves the cursor to the first non-space character. Very useful if the text file is indented.
Thank you for this. I literally just asked a Facebook group about Linux why on earth somebody would use vim, as to me, it seems so impossible to use compared to things like nano. Answers I got surprised me. And I didn't realize how important it is in the Linux/UNIX space
I think it's a preference thing, but after you understand the commands, and they become second nature, you fly through files! I feel hindered when I have to use the mouse to edit files now lol
Another cool thing, is the the predecessor of vim, namely vi was available on (almost) all POSIX (UNIX) installations. That is why we "had" to learn it. Especially because we were often not directly connected to the Internet. And vi is even more esoteric. Coming from vi, vim was REALLY a step up.
Can I suggest that for a tutorial about a text-driven program like vim, having the keystrokes you enter displayed on screen is almost essential. Most screen recorders allow you to do this. Thanks for the video
I never cared much for Vim. Then I saw an elderly woman who retired from the Bell Labs and worked with me use it to edit a file. Her fingers flew over the keyboard like magic. Then she said, try that with any other editor. From an expert, I learned a new respect for Vim.
:wq will always write the entire buffered file before quitting, wether or not you have changed it. You may want to use :x which only writes the buffer if you have actually edited the file and then closes it / exits vim. Especially useful for very large files like syslog and others, hope this helps :-) Great series Jay, even though I am using vim daily I still watch your (updated) series, you never know if there is something new or something I forgot, keep it up!
Good to see a vim turtorial, I'm using emacs but using evil for vim movement because I'm using vimium on browser and I'm lazy and don't want to using so many different movement across all the program and vim seem to available for almost every program I'm using, so I'm choose vim movement. evil have some movement not act the same as normol vim, but it still good to refresh and maybe found something I didn't think of how to use vim movement.
Quick save in vim? Hey Jay. After nano, I'm a very happy micro user. But I love to optimise and get more efficient and what's better than get glued to the keyboard? I love the hjkl navigation! So here comes my question: I'm learning bash scripting and, like everybody else, I got one terminal with my script and another with my code. But to test it, I have to leave insert mode, type w, hit enter, test my code, go back and enter edit mode again. On nano you just hit Ctrl + w and on micro it's really Ctrl + s ! What I mean is that how can the most efficient editor ever be so inefficient in such a basic and essential task? Save, test, continue. Thx for all your great work.
I am new to this, but I have a question: I hear a lot of bad things about Vim, but some people still use it. Is it bad to use as an IDE, or is it completely outdated? I don't understand if it should be used or not, it seems so hated.
"People make fun of vim saying how hard it is to exit" that is not a joke. I started my coding on my uni's unix server terminal interface and used jed that was configured for students. It also had vim and I heard vim is good so I opened it and I also sometimes accidentally opened it. I was always stuck for minutes and it was doing all kinds of crazy stuff (and I never managed to write a single line that I intended). Just now I'm editing a file in vim and :q does nothing (other than type :q on the file), I can't even get to the command area.
Is curious, I have Ubuntu Desktop 22.04 and I wrote the "command -v vim" command and returns nothing as you too. I wrote the "vim --version" command and returns error about vim is not installed and suggested some commands to install, such as vim, vim-tiny .... the fun part is if I execute "vi --version" it shows an output with "VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 16 2023 18:15:38)" as the first line .... so VIM really was already installed from the beginning - and just in case, I can open VIM as you do with the same commands but just using "vi" and not "vim"
I think it depends on what you are doing? If you are just changing some configuration, or something small, might as well use nano. But if you change files often, like a developer, it enables you to move around the files easily, find, replace, cut, paste, multiply text. Along with macros, which are like tiny recordings, that will replay a combination of key strokes as many times as you need, so that you don't have to do something manually many times. Also, I believe nano doesn't have syntax highlighting for programming languages, and you can also run a program from vim by using the command ": ! bun program.ts". Bun is a JavaScript run time, which can be replaced by any language runner, like ": ! python program.py"
This isn't a channel for quick how-to's. This is a channel for Linux enthusiasts who want to learn as much Linux as possible. We love this guy, he's a treasure trove of Linux administration and automation. You can go watch a 30-second how-to from some high-schooler who googled how to install Vim 30 minutes before he recorded the video if you want.
I put these 2 lines in my .vimrc so I have persistent undo. echo "set undodir=~/.vim/undodir" >> ~/.vimrc echo "set undofile" >> ~/.vimrc I like vim but sometimes it is confusing.