as I’m going through the process of learning vim, I’m discovering newfound powers. one of them being to execute commands from vim itself.
below examples might better explain some of them:
-
want to see what files are in current directory? enter command mode(by typing
:
) and follow it by a bang(!
). then dols
like you’d do in a terminal and press enter. this is not limited to just ls. you can enter any command that you can enter in terminal. for example::! uname --operating-system
(which will output GNU/Linux :)) -
so you want to quickly save just a certain part of your file into another file? just select everything you need by entering visual mode(
v
) and do:w filename
(actual command you’ll see would be'<,'>:w filename
). verify it using 1.(i.e.,:! cat filename
. -
want to quickly paste another file into current one? do
:r filename
. it’ll paste its contents below your cursor. -
or maybe you want to paste results of a command? do
:r !ls *.png
.
vim is my ~
sweet ~
now. make it yours too.
You can keep your
vim
. I am happy with mynano
.:!VSCode.exe
Ignoring that vscode cannot math the two giants:
exe
? Really?Come again?
Is
:VSCode.AppImage
better for you?Still weird to run it like that from a terminal, but you do you
I like to run vim inside windows as a launcher. I just use
:!VSCode.exe
to launch VS code from Vim. It’s nice this way because I can use VSCode Vim bindings and then enter terminal in VSCode to launch vim, which i use primarily in terminal.
Blasphemy…don’t bring Microsoft’s shitty proprietary editor and shitty proprietary OS near my holy text editor.
:!emacs
I love these memes that turn into threads full of vim tips. You really can do anything within vim. You can even exit vim!:
!killall vim
I was forced to learn the vim basics. Mainly because I really started with dd-wrt, which I used on my Linksys WRT54GL.
The image was too small to package anything fancy in it, like nano or something, but vi (or vim, I forget) was included. So when I needed to check something over ssh at the command prompt, vim was my only choice.
My skills in vim have not expanded beyond the basics. Getting into edit mode, exciting edit mode, saving, quitting… Mostly.
I don’t spend a lot of time editing files in the CLI, so I haven’t needed any more than I already know. Now, when faced with a Linux cli, and needing to check/edit the contents of a file, my go to, is vim. It’s pretty much on every system, and it works perfectly fine for what I need to do 99.99% of the time. I like vim, it’s been there for me through thick and thin, and helped me out of some serious jams. I won’t hate on nano (or any other cli file editor), they all have their pros and cons.
Use what you like.
Getting into
editInsert modeI’ll admit, I took the rage bait.
<3
!emacs %
Step-by-step guide to getting started with Vim
-
Uninstall Vim
-
Install Neovim
-
Install Emacs
-
Install Doom Emacs
-
Enable vterm inside Doom Emacs
-
Disable Evil mode
-
Run Neovim inside Emacs using vterm
-
???
-
Profit
very accurate. I’m currently on step 4 thanks to some commentators in the post
-
Or I can just NOT waste my life and my sanity trying to remember all that BS and just use a mouse and a GUI editor. I have no need to feel like a hackerman.
Use what you prefer, that’s a big part of what makes linux great. I get not wanting to go through the learning curve.
That being said, vim is pretty amazing to use, and super efficient, especially with some nice nvim plugins and customization.
bonus point: if you like inception, do
:term
, pressi
and start another(n)vim
session :)The challenge now is escaping the neovim terminal
Ctrl+\ Ctrl+n
gets you back to normal mode.But what do you do if you are not using a us keyboard?
The layout is what matters for vim and it’s derivatives. I might be wrong here, but if you really need to be able to use the same keybindings as you would on a English qwerty one, you could try remapping things to their addresses or whatever that’s called - basically the same key, physically, regardless of its layout mapping.
That being said, it’s vim, you can remap the command to get back to normal mode from terminal mode to whatever key or key sequence you like most.
Using mouse to scroll up and down your terminal window inside vim also gets you back to normal mode.
And, well, quitting the shell of your terminal in vim works just fine - either via
command
or hittingCtrl+d
.On my keyboard the layout is mostly the same, it’s not like AZERTY or something like that. The problem is some keys like
\
are behind modifiers (In this case AltGr+\
), so most times when I’ve tried the Ctrl+\ combination it hasn’t worked (You can see how the keyboard layout is here
Via this video (thanks @yazgoo@lemmy.ml!) i recently learned a bunch of tricks about
:term
and am now tempted to start using it all the time.
I love vim, but it wasn’t always like this. When I was a Linux newbie one of the things that irritated me most is that tutorials aimed at beginners told readers to use vim, without explaining how to maneuver it. People, if you write tutorials aimed at beginners please use nano, even if it’s not your preferred text editor.
I will not make vim my sweet as it is optimized for us keyboard. Most of the shortcuts are awful in my native (Finnish) layout. As much of a heretic I am, there is a place for mouse and windowing display managers.
What I do miss from the Redmont dystopia is Notepad++. Can do anything, can be explained over the phone.