Once you try Vim you will never use another text editor. Or any other program for that matter because you won’t be able to exit.
I also had that experience with emacs, which has a built in help system. I couldn’t find a topic on ‘exit’ or ‘quit’ and refused to just search online.
Took me half an hour.
and refused to just search online
Unless you were f*cked by your ISP as I am right now, that’s having some balls. Or being masochist. But nothing in between
I really didn’t want to let it win.
I’m editor bilingual but im a bit rusty in Emacs, so skill check: its C-x C-c right?
Ctrl + meta + butterfly
Yes. Though I believe it only kills the current frame if there are multiple
No, I think that exits. C-c k kills the buffer, C-x 0 (zero) will kill the frame. But I may have changed my binds and can never remember which is window and which is frame in emacs terms.
However, it’s somewhat moot as just about everywhere you run emacs, it’ll open up in gui mode and you can use the file menu. (Or use F10 to bring up the menus in terminal, but I have no idea where on the manual it would say that)
What are you running MS-DOS? laughs in multi-tasking.
I just drag my vi terminals to another workspace and launch a new editor.
I just drag my vi terminals to another workspace and launch a new editor.
I see what you did there. Lol.
Emacs
If I wanted to hear about what’s good about Vim, should I:
a) ask what’s good about vim
-OR-
b) assert blindly that there is nothing good about vim so fanboys will come crawling out of the walls tripping over each other to tell me how I’m wrong?
Doesn’t matter we will tell you either way.
- Instead of simply shortcuts, vim uses “chords”. Every new shortcut I learn can be combined intuitively* with all the other shortcuts I know.
- Because of this there’s no faster way to edit files than Vim in the hands of an experienced user.
- this let’s me spend almost no time editing code, freeing up the rest of my time for swearing at piss poor documentation.
* I use “intuitively” here in a way that not merely stretches, but outright abuses the definition of the word.
Thank you for telling me all this neat stuff! :D
I think I get what you are intending to imply by the word “intuitively”; it’s that it eventually becomes as reflexive and fluid as touch-typing itself.
Gosh you make it sound almost like you play Vim like an instrument more than use it…!
Honestly that sounds cool _
I think I get what you are intending to imply by the word “intuitively”; it’s that it eventually becomes as reflexive and fluid as touch-typing itself.
Exactly like that!
It’s also another source of the many “I can’t exit Vim” jokes, because it is now genuinely disorienting for me to try to edit text without Vim key bindings.
Gosh you make it sound almost like you play Vim like an instrument more than use it…!
That’s a great analogy. It does very much feel that way.
Honestly that sounds cool _
It is pretty cool.
Wether it’s really worth the learning curve is probably unique to each person that tries it. But for folks who need to edit a lot of text a lot of the time, it’s pretty great.
It’s intuitive if your previous editor was ed(1) and you’re using an ADM-3A-like keyboard.
It’s intuitive if your previous editor was ed(1) and you’re using an ADM-3A-like keyboard.
Exactly! Ha!
You shouldn’t talk about vim at all! Just write that vscode is the most flexible code editor.
Don’t use Microsoft’s version. Use Vscodium! :)
Yeah. And VsCodium with NeoVim is fantastic.
I’ve seen vscode fill up home directories unnecessarily when run on the machine directly as well as remotely!
IMO vscode is a perfect example of recent software that looks great from a features pov but horrible from an efficient implementation pov. I loved it until I hated it.
It does have a vim plugin, so it’s a perfectly fine editor
tl;dr: Run
vimtutor
, learn vim, enjoy lifeIt’s extremely powerful, for mostly the same reason that it’s incomprehensible to newbies. It’s focused not on directly inputting characters from your keyboard, but on issuing commands to the editor on how to modify the text.
These commands are simple but combine to let you do exactly what you want with just a few keypresses.
For example:
w is a movement command that moves one word forward.
You can put a number in front of any command to repeat it that many times, so
3w
moves three words forward.d is the delete command. You combine it with a movement command that tells it what to delete. So
dw
deletes one word andd3w
deletes the next three words.f is the find movement command. You press it and then a character to move to the first instance of that character. So
f.
will move to the end of the current sentence, where the period is.Now, knowing only this, if you wanted to delete the next two sentences, you could do that by pressing
d2f.
Hopefully I gave a taste of how incredibly powerful, flexible, yet simple this system is. You only need to know a handful of commands to use vim more effectively than you ever could most other editors. And there are enough clever features that any time you think “I wish there was a better way to do this” there most certainly is (as well as a nice description of how).
It also comes with a guide to help you get over the initial learning curve, run
vimtutor
in a console near you to get started on the path tosalvationefficient editing.I’m not against that,
But if ctrl+f doesn’t let me type a search term then I’m going to scream
The war could have been avoided if user had the option to easily rebind any key/action
But if ctrl+f doesn’t let me type a search term then I’m going to scream
It’s been awhile since I’ve bothered to remap a key in Vim, but adding this to
.vimrc
should do it for you:nnoremap <C-f> /
I started with a bunch of these to let me keep using existing muscle memory while training new.
Is there a .vimrc that already maps all the standard notepad++ keybindings in one go ?
Is there a .vimrc that already maps all the standard notepad++ keybindings in one go ?
You may find someone who has one, but I just did the ones I found myself missing as I encountered them.
I tried someone’s all-in-one
.vimrc
, but it broke too many community recipes while rebinding a bunch of shortcuts that weren’t in my muscle memory anyway.I kept adjusting my
.vimrc
as my muscle memory transitioned. So having less to fiddle also made it easier for me to keep my.vimrc
tuned to my muscle memory.For example, I was using
/
instead ofCtrl+F
because I liked it better within a month or two.There are better editors to learn if your goal is to not learn vi.
In vi, search is not only used for searching, but also for navigation. Demoting search from an easy-to-reach single key to a difficult-to-press chorded key combination breaks one of vi’s core philosophies, natural editing flow, and will significantly reduce your enjoyment and efficiency using the editor.
To add to your line of query, what if I don’t give a shit about writing code and I just use Linux as a casual laptop user? I’ve never looked at vim or emacs, I use Kate and OnlyOffice
Depends on how much you write. At some point the efficiency gain is probably worth learning vim anyway, but Kate is a nice editor and does the job.
I just like vim, it feels nice.
Using Neovim with qmv had been amazing for when I needed to standardize seasion and episode numbers/titles for my jellyfin library.
What kind of things would we be gaining efficency for? Markdown? It seems graphically to be a very spartan program. If I’m only writing text, what value would I gain from learning vim versus a graphical text editor that incorporates markdown and page design?
If you want to do document editing, then neither vim nor Kate are editors that do that. They are for editing text. You can write markdown, if you like, and then use pandoc or other tools to convert that to a printable document. I always use LaTeX if I need a pretty output, but that also has somewhat of a steep learning curve.
What you gain is the ability to manipulate text very efficiently. It’s hard to describe, but it kind of feels like a lower overhead protocol of communicating to the computer what i want it to do to the text compared to “normal” editors. Again, if you only rarely write stuff, it might not be worth it, but it feels great
For just regular text to be consumed by humans, it’s not that great, you probably want a word processor.
It shines when you do a lot of more structural editing, stuff like “change all quotation marks on this line to be single tick”, “copy everything inside these parentheses and paste it after the equals sign”, “make the first word on the next five lines uppercase”, these are the type of things vim make easy that are not easy in other editors.
So it’s great for code and config files. Markdown is borderline. You can have a setup that lets you live view how the markdown renders while editing in vim, so it can be pretty good, but the advantage might be a bit dubious.
Vim has been around long enough that I’ve found anything I want to figure out how to do has been discussed many times on various places around the internet and have yet to fail to find what I’m looking for with a search.
They’re both fine choices.
nano just works for me man
Getting used to vim has made nano unusable for me. The muscle memory is too strong. That and all of the regex and plugin features (ex. LSP) are just too useful.
I had the same experience. Nano is great if you’re used to notepad or a generic, limited text editor.
Once you learn a terminal editor like eMacs or vim, why go back? So much less hand motion going to mouse, arrows, and back.
Only a Vim user can call RegEx an advantage
I use macros to solve most of the same problems. You just on-the-fly record a sequence of regular vim commands that you can then replay as many times as you need. Great for formatting a bunch of data without having to deal with the misery of regex
Also a good choice. Just never had the need since I knew a bit of regex before learning vim.
The ability to use a powerful, standardized string query and transformation language if one wants? Yes, I do call it an advantage.
I liked Micro just a little bit more than Nano
I tried Micro and I found that its just Nano with a better interface and much easier to use. Its great actually but I like the vim movements.
first time hearing about it gota give it a try
alias vim=“nano”
alias vim=nvim
alias vi=nvim
alias nano=nvim
alias emacs=nvim
alias code=nvimexport EDITOR=nvim
export VISUAL=nvim
export PAGER=nvimYou forgot
alias v=nvim
Vim is a puzzle based text editor
Exactly, it is lovely. Editing text with it is actually enjoyable.
The dopamine rush when you nail a complicated
%s
regex search-and-replace first try is insaneAww yeah. Feels good.
Performing all those whacky movements and operations is nothing short of an arcade gaming experience.
Funny you should say that, because…
Helix <3
vanilla helix is so nice, the keybindings make so much more sense and it feels really comfortable
Yeah hx. It was hx that finally made me use vi style navigation and now I choose vim over nano almost always.
I’m halfway between hx and vim, I vastly prefer the helix/kakoune philosophy of selection, then action over vim, but I’m dearly missing plug-in support for Helix
I was going to point to visual.nvim as a possible middle ground, but it’s now archived :(
Disclaimer: I haven’t actually tested it myself
I’m just gonna be patient. Vanilla Helix is very much usable for everything I need it for at the moment, with built in LSP support, and plug-in support is on the horizon. Not sure when exactly, but it’s gonna happen eventually
Yeah I’m with you there, vanilla helix meets basically 90% of my needs so I’m not in any real rush to change
I do everything with cat, sed and awk.
Fuck your TUIs.
But how do you write your awk script?
cat > filename << END
of course.chatgpt
This, but Emacs
This, but Emacs
Nooo not the pinky ! :(
(setq evil-mode 'pinky)
With evil installed
HELL naw
Might as well just use Vim then
Org-mode in Emacs is the best though. That is why i use Emacs with Evil.
Yo, so Evil on Emacs is just vim keybindings, right? What’s DOOM Emacs?
Anytime I open Vim I ask the same question.
“how the fuck do I use you?”
then go back to nano
repeat.
Have you tried micro? Nano but better.
Have you tried GUI text editors? They’re like the CLI ones, just from this millennium. We’re no longer etching runes into rocks any more either.
Sometimes it’s not so easy to fire up a GUI, like when you ssh into another machine.
Sometimes it’s not so easy to fire up a GUI, like when you ssh into another machine.
CLI text editors have their specific use cases. For all other cases GUI ones (Kate, VSCode,…) exist.
CLI text editors have their specific use cases.
Couldn’t agree more. My use cases tend to be:
- text editor
- note taking
- IDE
- config editor
- log viewer
- adhoc data prep
- json viewer
EMACS users sometimes add web browser and email client, among other things but, that’s a bit further than I go. The perf for either of the main two blows nearly any GUI editor out of the water and being able to pipe stdout/stderr to them is just the wonderful cherry on top.
Hopefully tongue-in-cheek.
Because sure. Microsoft Word is the best IDE.I personally prefer running wordpad with WINE, as I can’t afford an office subscription.
Hopefully tongue-in-cheek.
No.
Because sure. Microsoft Word is the best IDE.
Learn the difference between a word processor and a text editor.
Guess you’re not up on your memes. Frightfully sorry for responding to what I assumed was a meme answer with a meme answer.
I refuse to use any GUI until people stop pronouncing it as gooey.
Well now I’m going to pronounce it gooey even harder!
“Graphical UI” it is
That’s “graphical oowey”, right? /s
I generally just say the letters; the amount of shit I get for saying gee en you…is not actually that much because I usually don’t interact with coding nerds via voice, only text, but if I did they would be livid
Edit: For some reason I try to pronounce Xfce as a word instead of an initialism though, ‘ecks-fiss’. Maybe I’m just broken.
Acceptable.
X forwarding is too much work
Accurate. The keyboard shortcuts just make sense and it’s full of features from this millennia. Like control click for multi cursor, automatic syntax highlighting, and automatic lint indicators.
Still don’t like it.
Repeat as necessary.
qa Ienjoy<ESC>q 200@a
Why would I subject myself to unnecessary suffering?
One must imagine you happy
NANO GANG RISE
for everything else, there’s sublime.
I tend to work on customer systems where I’m not allowed to install anything. I’ve yet to encounter one that doesn’t have
vi
installed, but I’ve seen a few withoutnano
.vi is part of the POSIX standard, so it’ll be available in some form on almost anything UNIX-flavoured
Which is a great reason to at least familiarize yourself with it. It’s the lingua franca of text editors.
Unless you wanted to learn to use ed (which you don’t)
ed is sadly not installed by default on some modern distros. Even vi is often a symlink to vim in vi-mode.
Really? Not that I’d notice, but I assumed
ed
was so tiny that there wouldn’t be any reason to not include it. (Ubuntu has it and it’s 59KB)Asking for
vi
and gettingvim
is just a pleasant surprise :)
:q!
If you like Sublime, you’re gonna love Micro.
Genuinely took most of my notes in college on vim, when you get good it’s just faster.
I’m sure someone already made a graph plotting the hours wasted learning vs the seconds gained not moving your mouse.
Nice.
I’ve been using Vim daily for about 20 years, it saves me 30 minutes at a time regularly.
I’m approaching break-even on the learning curve!
I’m kidding…mostly.
This. If it was your sole tool for daily tasks it makes sense, once a month to edit a config file…not so much.
When I started working we had HP Unix Silicon Graphics systems, VI was our only text editor…so I have some commands as muscle memory. The rest of commands I open my tractor feed help printout from 30 years ago
I’ve no choice coz I haven’t been able to quit for last 7 years.
Also; Don’t use vim.
Yeah, neovim is better
😂
i haven’t tried it but I’m sick of ubuntu being years behind on vim versions, what’s good about neovim?
what’s good about neovim?
- NeoVim supports plugins written in modern languages without a Vim script shim. Vim script is utterly awful, and the sooner we can all pretend it never happened, the better the world will be.
- NeoVim can be configured and extended with
lua
a language that many people actually like to use. - NeoVim is built client/server style, like VSCodium, so it can do the same remote/local mix and match tricks. Notably, VSCodium works nicely as a front end for editing files with NeoVim.
- NeoVim is somehow actually faster. vim was no slouch, but a full rewrite seems to have added some…ahem…vim.
Is the whole point of this community to repost tired old memes or are ya’ll just painfully uncreative?
:q!
yes
No, we also use arch btw.