everyone codes faster when they stop using their mouse

Поділитися
Вставка
  • Опубліковано 1 жов 2024
  • Developers are EXTREMELY lazy. I am no exception. Having a desktop environment that allows you to do the most coding while using the least amount of energy is key. In this video, we talk about how to setup i3, zsh and vim to make you a more efficient programmer. LETS GO!
    🏫 COURSES 🏫
    www.udemy.com/...
    🔥🔥🔥 SOCIALS 🔥🔥🔥
    Low Level Merch!: www.linktr.ee/...
    Follow me on Twitter: / lowleveltweets
    Follow me on Twitch: / lowlevellearning
    Join me on Discord!: / discord

КОМЕНТАРІ • 464

  • @freegibz
    @freegibz Рік тому +363

    "the horrific purple that ubuntu comes with by default" you say while your room is illuminated that exact same shade of purple

  • @bzuidgeest
    @bzuidgeest Рік тому +1062

    If you want to be an efficient programmer, find your own way to do it, that fits your particular job. Don't listen to people that think their way is best for all.

    • @MohammadImran-rn1vg
      @MohammadImran-rn1vg 10 місяців тому +31

      This is true.

    • @bezorr
      @bezorr 9 місяців тому +67

      Well, if you have enough time to study nvim and practice with your keyboard, you should. Because it's a certain way to increase productivitt

    • @bzuidgeest
      @bzuidgeest 9 місяців тому

      @@bezorr nothing is certain. You don't know me, my work situation, my type of work. At best you know I'm a programmer. Claiming you have the answer to guaranteed productivity increase is utter bullshit.
      It's your answer, for your situation, nothing more. There are a thousand people claiming their tool is the sure fire way to do it. The arrogance is unbelievable.
      I'll give you an example, how is nvim going to help with solving complex algorithmic problems? Typing speed is meaningless in a lot of situations.

    • @xijnin
      @xijnin 9 місяців тому

      ​​@@bezorrMan, why do you guys want so much to save 0.2255 nanoseconds of ur time?

    • @user-he4ef9br7z
      @user-he4ef9br7z 9 місяців тому +47

      Cope.

  • @swozzlesticks3068
    @swozzlesticks3068 5 місяців тому +37

    I promise you that there is *only* one thing bottlenecking my coding speed and it is my brain.

    • @MrDejvidkit
      @MrDejvidkit Місяць тому +2

      Yes, I agree; I can fathom how a keyboard can be a limiting factor. I can't think so fast that the keyboard or mouse is a limiting factor. I do not do boilerplate programming.

  • @SriHarshaChilakapati
    @SriHarshaChilakapati Рік тому +252

    Tabs in Vim are not the same as tabs in other text editors. Tabs of other editors are buffers in Vim, and Tabs of Vim are more like workspaces where you can save your frequently used pane layouts.

  • @semicharmedkindofguy3088
    @semicharmedkindofguy3088 Рік тому +244

    I feel like this depends on the type of code you're dealing with. If you're writing new code frequently then I can see this becoming very efficient, but in my case I'm usually dealing with large codebases with years of history, and most of my time is spent reading and figuring out the code instead of writing and for me personally I like visually arranging information on screen with my mouse.

    • @parthkanani7323
      @parthkanani7323 Рік тому +8

      A lot of people are of the opinion that vim as an IDE is not as good as other text editors like sublime/vscode(atleast without the highly customized plugins available for the task). But vim def beats other editors when trying to navigate huge codebases. Personally I can't live without ctags

    • @MrDavibu
      @MrDavibu 10 місяців тому

      @@parthkanani7323
      Really disagree, especially this whole ESC+ : or ESC + /
      takes a lot longer than just using e.g. CTRL+S or CTRL+F.
      Most of the example I've seen where it can be useful are for bad code bases, where code redundancy is at place. Like Multi-Cursor replace or more extreme search and replace patterns.
      If you like this kind of workflow, then please go ahead, there are definitely some neat workflows in vim, but don't point at others for not preferring that workflow style.

    • @_khaine
      @_khaine 9 місяців тому +6

      You can still use your mouse in a tiling window manager

    • @PamellaCardoso-pp5tr
      @PamellaCardoso-pp5tr 8 місяців тому

      ​​@@parthkanani7323Just the gd on vim Beats vscode by a mile.
      Being able to Go deep inside that API or library you installed and seeing the entire implementation without needing to look through the docs is a life savior.

    • @simonfarre4907
      @simonfarre4907 7 місяців тому

      @@parthkanani7323 Yeah ctags is the software that makes it easy not vim, so it is quite literally identical to Vscode, requiring plugins. The difference being, of course, that Vscode extensions are standardized.

  • @RigelOrionBeta
    @RigelOrionBeta Рік тому +10

    Sorry vim users, but the bottleneck to any engineer is not gonna be boiled down to whether you use a mouse or not.
    All this is at the end of the day is a notion of supremacy you have. Using a mouse is quite fine. The bottleneck for any engineer has a lot more to do with compile times, debugging, an environment that enables rapid iteration, and planning your code. None of that is dependent on you having or not having a mouse. The fact that you can open a file one second faster than me is nothing compared to the minutes it may take for a build to run, or the hours it may take to debug a problem.
    The fact that you feel like you need to do things quicker is not the engineer brain talking, it's the ADHD. I know this because you know full well it's never worth the time to optimize your code until you need to. So why are you so adamant about optimizing something as trivial as opening files?
    The only time vim actually might be faster is when the only thing you're mainly doing is menial labor - copy pasting, replace, etc. But if that makes up 90% of your work, sorry, but you're not an engineer.

    • @arthurdefreitaseprecht2648
      @arthurdefreitaseprecht2648 10 місяців тому

      Excellent comment, I think a lot of people miss the point, typing the code is only a small part of the workflow, planning the code, compiling, deploying, debugging, all of that takes way more time.

    • @rocapbg9518
      @rocapbg9518 9 місяців тому +2

      The amount of coping in this single comment is insane

    • @dadudeme
      @dadudeme 3 дні тому

      Most coders spend much more time reading code compared to writing.
      When you actually learn and use the vim commands and shortcuts, you can navigate faster and find what you are looking for faster.

  • @aquilafasciata5781
    @aquilafasciata5781 9 місяців тому +109

    Just wait until this man finds out about Alt+Tab

    • @no_name4796
      @no_name4796 2 місяці тому +5

      Alt+tab sucks the moment you aren't just switching back and forth beetwen two apps

    • @27legend31
      @27legend31 Місяць тому

      Not the point buddy

    • @elcaballo69
      @elcaballo69 Місяць тому

      @@no_name4796nah u can use arrow keys while holding alt

    • @tuananhdo1870
      @tuananhdo1870 25 днів тому

      Ok you are the only person know about it. What a genius

    • @imsuck12
      @imsuck12 25 днів тому

      wait until you find out you can change workspaces and know exactly where you switch to

  • @replikvltyoutube3727
    @replikvltyoutube3727 Рік тому +27

    Didn't think Alt-Tab is a tiling window manager!
    Edit: IMO switching to tiling WM is a bit so-so decision, its not for everyone, learn Windows explorer/GNOME/KDE hotkeys, it has a lot of useful features.
    But vim is a good choice,I use it a lot as gVim on Windows or vim on Linux

    • @watynecc3309
      @watynecc3309 Рік тому +2

      Gvim is really good i also love it

  • @vadiks20032
    @vadiks20032 9 місяців тому +3

    "developers are lazy" i don't think you can be considered lazy if you've spent several hours installing and configuring neovim plugins, REALLY lazy programmers just install visual studio and press F5 instead of making makefile files, typing LOTS of arguments for compiler, etc. i don't think you're LAZY when you just make your future life quicker and simplier

  • @vladimirtchuiev2218
    @vladimirtchuiev2218 5 місяців тому +9

    Ha, it takes me back to my Starcraft 2 days where I try to out-compete my opponents in APM and multi-tasking, you kinda have to move the mouse the least amount as you can to be fast. But as time passed by, I've learned that having a fast mind is more important than having fast hands, and I fully believe it applies here as well. After some point, when programming the mind becomes the major bottleneck and all those little optimizations are not that important, especially when you're not competing against someone directly. I'm fully content with VSCode for all my coding needs.

  • @okie9025
    @okie9025 Рік тому +148

    Visual Studio Code by Microsoft on Windows 10 LTSC by Microsoft.

  • @benonardo
    @benonardo Рік тому +28

    Literally all of your videos are useful, something that's really rare

  • @KabukiStarship
    @KabukiStarship Рік тому +4

    I've smoked VIM before, it's a nasty habit. Very slow to use compared to Visual Studio, even when you're a keyboard ninja, you can't debug real-time systems in VIM, you need a full-blow GUI IDE. VIM is for newbs.

    • @bzuidgeest
      @bzuidgeest Рік тому +4

      Finally someone sane. I wouldn't say vim is for newbs but it's certainly lacking in tooling. It's really for people that know a single language very well and do nothing else.

  • @TrolleyMC
    @TrolleyMC Рік тому +90

    for people who aren't as knowledgeable on linux and FOSS, there are other window managers you can try if i3 isn't for you.
    I personally use AwesomeWM, it's nice, basic and had keybinds that I can remember well.
    also, compton is deprecated, picom is a suitable replacement

    • @watynecc3309
      @watynecc3309 Рік тому

      Awesome wm isnt using lua ? Isnt more complicated?

    • @TrolleyMC
      @TrolleyMC Рік тому +2

      @@watynecc3309 idk, I don't find it that hard to use

    • @arijanj
      @arijanj Рік тому +1

      awesomewm is great - easy and very customizable

    • @vaishakhgk2006
      @vaishakhgk2006 Рік тому +3

      I was using awesome wm few weeks before,
      I recently try Hyprland to check how good is window managers in wayland i liked it soo far so am using it now

    • @TrolleyMC
      @TrolleyMC Рік тому +2

      @@vaishakhgk2006 damn, I have an NVIDIA card so I'm basically stuck with X for the time being

  • @nglpos
    @nglpos 6 місяців тому +26

    The amount of videos on youtube by people talking about how fast they are with just a keyboard and how much better it is leads me to believe that the whole endeavor is fueled by people thinking they are cool or advanced if they do it that way. Then, of course, they want to share it, because what value is being cool if no one else see me being cool?

    • @Spiderfffun
      @Spiderfffun 5 місяців тому +2

      I don't really understand which side you are on, but honestly I can't believe somebody is against this
      Even as a cinnamon user I honestly kind of want to switch to i3, and I started to learn vim recently. I might not switch to both vim or i3, but the important thing is, i tried.

    • @JulianHaeger
      @JulianHaeger 4 місяці тому +3

      Fwiw I have no channel or public persona to buff, and I've found myself moving more and more to a keyboard centric workflow and have felt like my interaction with what I'm trying to achieve has become lower friction at each step. I would say though not to change too much all at once, as there is a mental load when trying to recall a freshly learned shortcut etc. if you try and change everything at once it feels awful. If you gradually do it, it feels great in my experience. YMMV of course

  • @tumescent
    @tumescent Рік тому +12

    If typing is the bottleneck in your software development process, chances are you are writing garbage code. This advice would be helpful for YandareDev writing his 1500 consecutive `if` statements but is less useful for an actual developer

    • @arthurdefreitaseprecht2648
      @arthurdefreitaseprecht2648 10 місяців тому +2

      This comment is perfect! Typing speed is very rarely the bottleneck, first thinking how to code efficiently and then debugging take a way bigger portion of the time.

    • @user-he4ef9br7z
      @user-he4ef9br7z 9 місяців тому +2

      Yes if your project is some randos soyscript website then probably not. Programmers literally get RSI from typing. Speed is not about lines written per day. It's about using less mental bandwidth for the coding itself and using more to think about the problem itself, quickly react to thoughts that come up in your head, and quickly test small tweaks on after the other.

    • @eyzake
      @eyzake 5 місяців тому

      ngl great advice... i am thinking of going Full time linux now

    • @davidomar742
      @davidomar742 5 місяців тому

      we found the js soydev

  • @cristiconstantin452
    @cristiconstantin452 Рік тому +59

    Look, I followed this channel since... forever. This video is very disappointing because you reveal yourself like a hipster-programmer for which the speed of typing and doing "stuff" equals a better programmer. If your limitations as a programmer are the time it takes to move a mouse and switch between windows, then this is concerning. Ask anyone who's doing it for real: looking on the walls, scratching your head and writing 3 lines of "code" per day are sometimes the norm and always more productive than tuning the dark theme of the code editor, preaching good ol' vim for how amazing (and modern)it is and selecting the right wallpaper. Good luck!

    • @bzuidgeest
      @bzuidgeest Рік тому +10

      I agree it's more about the quality of the code then the quantity. But with limited time speed can be useful. However vi is very limiting. No debugging, no testing no nothing. It's the most basic of editors.
      But he is doing it for real, he just does different type of work. Most likely he is commanded to do jobs and everything is pre planned. No creativity and thought involved. Many program jobs are like that.

    • @nothappyz
      @nothappyz 10 місяців тому +11

      Where exactly did you get that from? Calling someone a hipster programmer just for that is really, really childish

    • @emmaeilefsen7214
      @emmaeilefsen7214 10 місяців тому +4

      typing faster and "lazier" means trying new things have a lower "cost".
      it also means that when i have a thought it doesnt have to wait as long for my typing to catch up

    • @miversen33
      @miversen33 10 місяців тому

      @@emmaeilefsen7214 lol because the time it takes to click the "menu", Open your text editor, and start working on your idea is so very long.
      I have to agree with OP here. And I say that as someone who has spent literally days worth of time getting my environment setup to be as efficient as possible. I've got the key bindings on my WM, I use a highly customized neovim and zsh setup (that's portable), etc. And I love it. But it's wholey unnecessary to be a productive and "good" developer. I did it because I find that space interesting. But I'm just as effective using Windows and vscode.

    • @foop145
      @foop145 10 місяців тому +3

      Super hard disagree. You're not really taxing your muscles when you code, but any repetitive task will impact your joints and connective tissue. The less you have to move your arms and hands, the better. If you try to just muscle through it because you don't want to seem like a hipster, that's how you get things like carpal tunnel.

  • @ratfuk9340
    @ratfuk9340 Рік тому +9

    The best thing about i3 is how easy it is to configure. I wouldn't say it's extremely extensible because it's limited to the i3 config format. To be fair, it's more than enough for most ppl but the way windows are managed in i3 "manually" rather than having a layout and a stack is more mental overhead and afaik you can't do anything about that on i3. Xmonad and dwm on the other hand are extremely extensible and there are so many patches and modules that you can choose form. Configuration is much harder though bc you need to know (at least a little bit) Haskell for Xmonad and C for dwm but you're basically only limited by your coding ability and imagination (or the patches/modules others have made).
    Standard vim is great but a little bare for programming for me. I like neovim and I try to keep it as standard as I can but I want a fuzzy finder and and LSP at the very least. I keep all my dotfiles on github so I can get to them on any new machine easily but I guess that doesn't help if you need to use vim plugins for something like vscode. Helix seems pretty nice too, basically it's similar to a fully configured neovim programming environment except it doesn't have vim's commands (its similar but not the same) which is a problem if you want like a standardized experience everywhere.

  • @toolbgtools
    @toolbgtools Рік тому +23

    I love vs code because of fast and easy debugging, it's also faster in editing and moving between files particularly in big projects.

    • @megamozgs9959
      @megamozgs9959 Рік тому

      You can easily turn vim or emacs into a modern IDE. That's what makes them beautiful - being able to customize them the way you want. you can even put a web browser in emacs.

    • @waterbird2686
      @waterbird2686 Рік тому +8

      @@megamozgs9959 I dont get the usefulness of doing stuff like browsing the web or viewing an rss feed on emacs why don't I just use firefox with a tiling window manager

    • @megamozgs9959
      @megamozgs9959 Рік тому

      @@waterbird2686 its just an example but yeah, nobody really uses this package :) its just shows you how powerful emacs is

    • @thatguynar
      @thatguynar Рік тому +5

      Vscode and fast lol. Man, you make me laugh. 😂

    • @iamavolk
      @iamavolk 9 місяців тому +1

      I love VS Code because I can mouse click my way through the work day while pretending that really get things done

  • @Slushee
    @Slushee Рік тому +40

    I use vim for small files, config stuff. But for coding I use neovide with extensions. Having an LSP and some other fancy features really makes the experience a lot better.

    • @Mark-np5ss
      @Mark-np5ss Рік тому +3

      Doesn't Vim have an LSP extension, though?

    • @raphaeld9270
      @raphaeld9270 4 місяці тому

      Why not use neovim instead of vim then? As neovide is a neovim GUI.

    • @Slushee
      @Slushee 4 місяці тому

      @@raphaeld9270 Dunno. Brainrot from over a year ago. I switched to using nvim for small files a long time ago

  • @Colaholiker
    @Colaholiker Рік тому +4

    My opinion on this topic is somewhat different. While I agree that using the mouse a lot slows you down, my conclusions are somewhat different from yours.
    First of all, my job does not allow me the choice of Linux. Our tool chains (embedded development) are set in stone, and we only got them for Windows. And while I of course spin up a VM, write the code in there, I would still have to switch back to Windows to compile and debug, which negates any efficiency gain that a different window manager would bring.
    I also totally dislike coding in vim. I like to avoid abbreviations in any names i choose for variables and functions, so autocomplete saves a lot of time. Even more so since I added AI based autocomplete in the form of tabnine to my VS Code. It is amazing how often I only type the first three characters and BANG there is the line exactly as I wanted to type it. No matter how fast you are at typing, this is way faster.
    And like someone else mentioned down in another comment, most time is wasted waiting for things to compile anyway. (Some of our projects take 20+ minutes for a build and another 3 minutes to load onto the target hardware. And of course it won't fail on the first c file it compiles - nope, everything will compile and then you get a linker error. )
    And while Windows is notoriously known for mouse use, there is a lot that you can do beyond your normal text editing on the keyboard, like switching between windows, documents in the windows, or even different virtual desktops without needing to lift your hands off the keyboard. I mostly just use the mouse when navigating websites or datasheets to gather information, but not while I am actually writing code.

    • @sergey1519
      @sergey1519 8 місяців тому

      Ctrl+x Tab to autocomplete a word in vim

  • @codeman99-dev
    @codeman99-dev Рік тому +2

    8:40 "vim is basically anywhere" -- this is such a weak sauce argument and I hate it.
    *nix installations are equally likely to have vim and nano. You shouldn't be doing serious editing on the server. If for some reason you need to, I pray you have the ability to install stuff anyway. If you need to do serious editing on a machine where you can't install stuff -- find a door, quickly.

  • @RGjolstad
    @RGjolstad Рік тому +20

    My dev setup has become VS Code with Vim-extension, but I'm interested in trying Neovim. The only thing holding me back is the upfront cost to set things up, and debug functionality.
    I have no idea how good (or bad) debugging things in Neovim is, and working with embedded stuff very much requires good debug tools, so I'm somewhat hesitant to fully commit to it.

    • @Anequit
      @Anequit Рік тому +2

      Honestly, if you wanna give it a try then go for it, but if you are proficient with what you have now then I'd say don't fix what's not broken.

    • @Said-jd5wv
      @Said-jd5wv Рік тому +2

      Actually, there is a plugin in Nvim called dap that uses the same debug protocol from vscode

    • @arijanj
      @arijanj Рік тому +4

      i would recommend you not switch if you don't have any problems, vscode plugins are great and neovim is always going to be hard to customize and especially debug, i tried doom emacs a while ago but that wasn't right for me either, only thing i like about neovim over vscode now is how fast it is, to edit a basic text or config file and change some stuff instead of opening vscode

    • @arijanj
      @arijanj Рік тому

      @@JThompson_VI It's still way too much to get used to, nvim-basic-ide by the lunar team is a much better starting point imo

    • @nathanfranck5822
      @nathanfranck5822 Рік тому +1

      I committed to it for a couple months and fell off of it. Back to vscode, no vim extension, lots of mousing. I read a craptonne of code so keyboard-only UIs are actively counterproductive

  • @asdgreersf
    @asdgreersf Рік тому +1

    "How to write the most amount of code while doing the least amount of work"
    Python?!

  • @garrettbluma257
    @garrettbluma257 Рік тому +17

    You can avoid the need for multiple terminal windows with the following in Vim. :map ,t :w\|:!cargo build When outside editing mode, I just type comma-T and it both saves the current file and runs whichever command I specify, without losing the editing history or having to suspend vim.

    • @PamellaCardoso-pp5tr
      @PamellaCardoso-pp5tr 8 місяців тому

      You can also use Lua to run custom functions everytime you save on vim. You can enable that as a setting even, so It only Works in projects you want this kind of auto-reload per save.
      But using Tmux also helps with that a Lot

  • @lis6502
    @lis6502 Рік тому +2

    i3 wierdo here of course, however my weapon of choice for text editing is Geany.
    and i don't get this all zsh-hype, bash does its job just fine while i guess.

  • @crifox16
    @crifox16 Рік тому +12

    running on vscode pretty much stock both on the win10 i use at work and the macbook pro i have at home, i've gotten crazy fast with it and love the versatility and extensibility. i'm on the same page as you regarding custom shortcuts and such, i love the fact that i can code just as fast on my machines as on any other i sit down at that has vscode installed

    • @crifox16
      @crifox16 Рік тому +2

      also yeah i do know vscode has settings sync and that's one more reason to appreciate it, but i haven't found myself needing to customize it that much yet

    • @vortexstudios_echo
      @vortexstudios_echo Місяць тому

      @@crifox16 yeah, i used to use vscode aswell, the only reason i dont now is because i use the intellij IDEs and neovim (but with lazyvim because i am not spending months setting it up), if you complain about someone using vscode, and take the time to complain to them instead of coding, technically isnt that less efficient

  • @wizardnotknown
    @wizardnotknown Рік тому +2

    Step one: Get another keyboard.
    Step two: Setup macros for that keyboard.
    Step three: Don't use vim.
    Step four: Install notepadqq
    Step five: Become god.

  • @Parker8752
    @Parker8752 Рік тому +11

    I personally use a tiling window manager (typically i3, but I have a soft spot for xmonad), alacritty for my terminal, tmux, and neovim as my main editor. Neovim within one tmux pane and a regular terminal next to it is just nicer than having two separate terminal windows open imo.

  • @sutfuf6756
    @sutfuf6756 Рік тому +2

    I use ratpoison on smaller screens; It's _similar_ to screen; everything is fullscreen, use modifiers to switch windows. As for editors, it depends, I have a hatred for vim as it's not vi. I learned vi on old solaris machines back in the day; "vi" mode in vim is nothing like it; I usually have to spend half a day unfscking vim to make it work properly. :-( For small things, vi/vim is fine, but, for larger projects sublime is king (for me). About to try i3, thanks for that one! :-D

  • @azizs4319
    @azizs4319 Рік тому +11

    My current config is tmux+Neovim, using Lunarvim to have a VSCode-like experience, as I switched recently (the included plugins are awesome). The fact that everything is on one terminal in full screen helps me focus more (and not think about tiling windows, commands outputs are on full-screen,...). Everything can be accessed on the same screen and the switching is super fast and whenever I need to read documentation I use my second screen.

    • @bengamedev1872
      @bengamedev1872 8 місяців тому

      Is this still your setup? Any chance you can point me to a vid that covers this?

  • @razorstone3088
    @razorstone3088 Рік тому +5

    never been so early

  • @adriankal
    @adriankal Рік тому +3

    I just reminded me why I switched to mac. Thousands of hour of configuring things to be just 5% faster every day is not good investment of my time.

    • @42ott90
      @42ott90 6 місяців тому

      Understandable. I only configured 1 day my gnu/linux as I wanted (was my first time using linux) and for me it's much faster with all the keybinds and I had fun configuring :D . In hours I would say 6/7 hours . I'm interested hoe long did it take for you that u say it? I want a Mac too for adobe stuff and fl studio

  • @igorthelight
    @igorthelight Рік тому +1

    But noone asks "why should I code faster?". I think it's a thing that corporations want you to do - increase you productivity! How many lines of code could you write in a minute? In the hour? Would you like to write +25% more lines of code and be 25% more efficient?
    Will that make your happier tho? ;-)

  • @nachosncheez2492
    @nachosncheez2492 Рік тому +4

    i use emacs for my environment. tried vim before but, elisp hits the spot for writing custom functions and plugins. Only down side is i almost do everything in emacs, and sometime always trying to improving my config file / workflow but i make me pretty productive since a manly use my keyboard but the mouse is there if i need it. 🛩

    • @KenJackson_US
      @KenJackson_US Рік тому +1

      Years ago I used "Gnus" and then "vm" as my email client. But it finally got to the point that most email was HTML, which was a boor but unstoppable so I switched to something else. But for a while emacs was almost my whole desktop.

    • @nachosncheez2492
      @nachosncheez2492 Рік тому +1

      @@KenJackson_US I just use emacs for org node and programming. But some people use it as an all in one tool

  • @FreshSmog
    @FreshSmog Рік тому +4

    It might sound kinda weird but I've setup my laptop with GNOME as a hybrid between tiling WMs and DE. Sometimes I want to keep my hands on the keyboard, sometimes I don't, so I've settled on setting up some of my old i3 bindings to GNOME's keyboard shortcuts. I know people dislike GNOME already, much less a chimera of a tiling WM.
    It's definitely not perfect, like I can't tile windows to the corners, just on two sides. That said there are extension that can fix it.

    • @erdanxiloscient3666
      @erdanxiloscient3666 Рік тому +1

      I recommend looking at the Pop_OS! gnome shell. It’s focused around allowing you to use gnome with tiling and allowing you to use keyboard navigation for almost everything. Plus, you don’t need Pop_OS! and can just install the shell on your distro, or you can just take inspiration from a few things you like about it and apply to your own config

  • @shivanshuraj7175
    @shivanshuraj7175 Місяць тому +1

    Laptops are just removing home,del,pageup and page dwn keys.They are acclerators while writing code...and those are being removed.Keyboard design for laptop this year is useless

  • @mag.legrand
    @mag.legrand 9 місяців тому +3

    For any beginner watching this video...
    Coding is not mostly about typing. It's mostly about solving problems. Actually, programmers spend most of their time coming up with the right algorithm and architecture of their program before writing even a single line of code. If you spend over 50% of your time typing instead of thinking your program through, I suggest you learn more about algorithm and data structures and system architecture. That's how you will save significant amount of time.

  • @Mamika_AFK
    @Mamika_AFK 8 місяців тому +2

    NOOO! The mouse in the Thumbnail is exactly the one I have! 😫😭😭😭😢

  • @damouze
    @damouze Рік тому +2

    I've had a love-hate relationship with vi(m) my entire carreer. At first it was just lack of experience, but later on it was just plain dislike of some of its features. Nowadays I think it is extremely useful for some things, like easy string search-and-replace, but completely useless (for me at least) as a daily driver. For coding and scripting I use joe. Call me heretic or an infidel, but I'll stick to my guns (and preferences).
    That said, I really enjoyed your video, so don't take this personally. In fact, I am intrigued by I3. I didnt't think tiling window managers were still a thing. They sound so old-fashioned ;-)! Doing more with the keyboard and less with the mouse would definitely be a blessing.

  • @m1geo
    @m1geo Рік тому +2

    I need to learn Vim. I know nano/pico like the back of my hand (probably better), but Vim does seem a bit more powerful. Need to have a play with it.
    Although all the cool kids these days are on VSCode.

  • @victotronics
    @victotronics 4 місяці тому +1

    "A mouse is a device to point to what xterm you are going to type in next". Old joke.

  • @bzuidgeest
    @bzuidgeest Рік тому +2

    I work in many languages, many os, many editors. Whatever the job requires. You think I really want to learn keyboard commands for all of them?
    Mouse might be slower, but it's convenient. This advise only makes sense if you are a single task coder.
    Also 100% keyboard is a great way to get carpal tunnel. Don't be fast, be healthy. Get your hands of the keyboard. Fast is useless if it also breaks you fast.

  • @ikefir
    @ikefir Рік тому +4

    Switched to i3 some weeks before the NY. Now I riced it and don't want to go back to gnome.
    Vim is awesome, however debugging embedded systems in it is kind of a mess as well as everything that has to do with intellisense/autocompletion.
    Maybe you can make a video on how to properly configure it for that task.
    Otherwise I just accept having to touch the mouse when working with vscode.

    • @kirianguiller5130
      @kirianguiller5130 6 місяців тому

      You found how to do intellisense/autocompletion with your setup ?

    • @MePatrick73
      @MePatrick73 5 місяців тому

      ​@@kirianguiller5130 for regular vim you can use coc as a lsp client. Neovim has a built in lsp client, which you can use to interact with any language servers you want.

  • @mrx6555
    @mrx6555 9 місяців тому +1

    I mean programming ist mostly not a speed challenge. Quality code is that what matters!

  • @kierandansey7293
    @kierandansey7293 Рік тому +1

    I personally do not feel tiling window managers offer any benefits these days. Tmux will split a terminal for you and some terminals have this built in e.g. Konsole. Most linux DEs also have workspaces/virtual desktops that can be navigated between using key bindings. One window/app per desktop, split terminals and all the benefits of a full DE as well. With a tiling WM you will spend a lot of time configuring it to achieve something that is mostly achievable in a full DE (certainly KDE can do all of this).

  • @minhajsixbyte
    @minhajsixbyte Рік тому +1

    your i3wm setup has screen tearing issues. 5:44

  • @vedi0boy
    @vedi0boy 8 місяців тому +1

    I feel like a lot of this could be fixed by simply adopting ALT-TAB

  • @paimonbutter
    @paimonbutter Рік тому +1

    Him: recommends i3
    Me: hmm not what I would choose but okay
    Him: recommends oh my zsh
    Me: does this guy know what he's talking about

  • @peterjansen4826
    @peterjansen4826 Рік тому +13

    I recommend to use dwm instead of i3wm, i3wm is fine but dwm has one killer feature which i3wm misses: the tag as they call it. Basically they use an xor-operation which makes it possible for the user to show any combination of workspaces and open a program (the same instance) on more than one workspace. This gives an even more flexible workflow. Example, you want to use a browser, PDF-reader and some tool to type texts but most of the time you only look at two of those, for example either the typing tool and the browser or the typing tool and the PDF-reader. Open the typing tool on two workspaces and the PDF-reader and browser on another workspace and you can easily switch all the time with which programs are visible. You could compare it a bit to the swallow-feature of i3wm but it is more flexible.

    • @wh7988
      @wh7988 9 місяців тому

      that feature sounds like it kinda sucks, not worth switching over

  • @jsaenzMusic
    @jsaenzMusic Рік тому +2

    mouse-less work-flow is the best! I use keyboard short cuts to move apps to different workspaces and switch between them in gnome. Emacs is my text editor of choice though like that vi/vim is installed by default on almost all systems. Just don't want to re-train my muscle memory! :P

  • @InsaneFirebat
    @InsaneFirebat 8 місяців тому +1

    Here's some free engagement.
    9:42 Seeing hexadecimal numbers in lowercase is triggering. Seeing it used inconsistently is maddening.

  • @alandto3996
    @alandto3996 Рік тому +2

    No tmux?i create a new tmux window for each project and with tmux resurrect the multiple terminals that i created gets persistent between reboots

  • @slendi9623
    @slendi9623 Рік тому +1

    Oh my zsh is pretty good but OH MY GOD IS IT SLOW TO START UP! I personally make my zshrc myself and manually install extensions. Besides this, my setup consists of a bspwm with some pretty weird keybind choises. For my editor, I use nvim.

  • @torarinvik4920
    @torarinvik4920 Рік тому +2

    The primary benefit imo of using keyboard based navigation is that you dont have to switch back and forth between the mouse and the keyboard. However as I use small laptops the mousepad if often easier to use, all depending on what operation you are doing of course. And yes I have used vim bindings.What is being said "with the least amount of energy", least amount of energy when you're good, lot of energy when you are bad. And it can take a very long time for the keybindings to become so automatic that you dont have to even think about using them. So it is a long term investment where you hopefully get good at it. Btw Vim keybindings are available in many, if not most editors which is nice :)

  • @emilepapillon2275
    @emilepapillon2275 9 місяців тому +2

    I think it's not just lazyness, it's the micro-distractions. Like looking for the mouse cursor, that can be on another screen, then moving it to click somewhere... when you could have just flickered fingers and boom!

    • @kevinrineer5356
      @kevinrineer5356 5 місяців тому

      For me, I'm just really inaccurate with a mouse. I've closed so many tabs while trying to open them with a mouse that I finally decided to learn another way to do it. Then I went down the emacs rabbit role and I don't know where the exit is.

  • @bims_sh
    @bims_sh Рік тому +1

    Actually on wayland with hyprland rn, it's looking awesome 🔥

  • @evgena_
    @evgena_ Рік тому +2

    Great video, however for productivity and speed I would add:
    - Tmux
    - NeoVim with:
    - Telescope: fuzzy finder for neovim
    - NerdTrees
    - LSPsaga: for quick function documentation checks
    - Zahtura or sioyek for minimal pdf viewing with vim commands
    - QuteBrowser for minimalistic browser with vim commands

    • @KenJackson_US
      @KenJackson_US Рік тому

      Is QuteBrowser stable? Does it handle all sites, including your bank account?

    • @evgena_
      @evgena_ Рік тому +1

      @@KenJackson_US I am using it for 1 year now as my only browser and I haven't experienced any unstable behaviour. It does lack some functions like autocomplete of passwords and such. But if you know a little python you can make it do whatever you want. I would consider it stable.

  • @rafaeldeconde8148
    @rafaeldeconde8148 5 місяців тому +1

    I was today years old when I learned that vim had a default tabs, that's awesome and likely a game changer for me in the future as tabs are one of the favorite features I like in a text editor

  • @333juniorb
    @333juniorb Рік тому +1

    my ecosystem
    DWM
    TMUX + VIM

  • @serenity1626
    @serenity1626 9 місяців тому +3

    I didn't know coding was a race

  • @Bo15307
    @Bo15307 Рік тому +3

    I find not using intellisense to be rather inefficient

  • @bazoo513
    @bazoo513 Рік тому +2

    Pretty sane selection of tools.
    One warning for newbies about vim: it is _the_ most productive programmer's editor bar none (it was written in the days of 2400 baud serial lines, and that's why it has 6 or 7 ways to, say, change one word like a variable name; each of them is more efficient (by a keystroke, perhaps two) in different situations), but only if you learn _all of it._ Just dabbling in it is _not_ the way to go - you can dabble in mouse-oriented ones without being bitten, but not in vim.

    • @meeponinthbit3466
      @meeponinthbit3466 Рік тому +3

      You can totally dabble in vi/vim. Just save often, because you'll be going "esc esc esc :q!" whenever you hit the wrong key and get lost as all hell. :)
      But it has a HUGE plus.... I've never had a system that didn't have vi available. No, it didn't have the full feature set of vim, but good ol daddy vi is ALWAYS there for you, but the basic cursor pathing is what we're after anyways and it's there.

    • @bazoo513
      @bazoo513 Рік тому

      @@meeponinthbit3466 Yes, I hardly ever use any vim-specific features, except for syntax highlighting. Even bracket matching is a basic vi feature.

  • @TVDaJa
    @TVDaJa 9 місяців тому +1

    What about people that are extremely fast and precise with the mouse like e-sportler? I feel like the skill I learned with the mouse over the years, together with the mutiple cursors feature on most editors is faster then most normal vim users sorry to say

  • @vivaneret1249
    @vivaneret1249 Рік тому +3

    My setup is almost the same except I use emacs instead of vim 😁

    • @masterlight7058
      @masterlight7058 Рік тому +1

      my setup is the same except i use sway instead of i3

  • @laniusdev
    @laniusdev Рік тому +2

    I actually use stripped down Xfce4 desktop with i3 in place of default window manager and quite customized Neovim, but it's mainly because I just need an IDE-like editor for my work. Honestly my setup is pretty complicated and maybe it could use some simplification here and there.

  • @traywor
    @traywor Рік тому +9

    Great stuff, I like the idea of a tiling window manager. One funny thing about efficency though. It allows you also to do the wrong things faster.

    • @houstonbova3136
      @houstonbova3136 9 місяців тому +4

      Doing the wrong things faster lets you figure out it was wrong faster too though, no?

  • @yapdog
    @yapdog 10 місяців тому +2

    Been using a mouse while coding for over 30 years, currently dealing with a project that has nearly 1000 files. No fvckin' way am I giving up my mouse just to look "cool."

  • @zrodger2296
    @zrodger2296 Рік тому +4

    I use emacs. It's been around so long that by default, Ctrl+n and Ctrl+p are mapped to the next and previous line functions (since some old terminals didn't have cursor keys). Forget about not wanting to use the mouse! I knew someone who was such a good typist that he didn't want his hands to leave the main keyboard; he used C+n and C+p instead of the cursor keys!

  • @gnagyusa
    @gnagyusa 4 місяці тому

    The mouse is not the problem. Click to focus is the problem. Linux supports "focus follows mouse". It makes a huge difference in coding speed.
    Keyboard-only coding is ok for small projects, but I work on large codebases (~1M lines of code), so I have about a 100 source files open in my editor at a time. It would be impossible to efficiently switch and look at multiple code windows just using the keyboard.

  • @GoWithAndy-cp8tz
    @GoWithAndy-cp8tz 5 місяців тому

    Hi ! I mainly code in Go. Can someone share a tip on how to switch from VSCode to Vim? I need, for example, the capability to quickly look up function parameters or instantly determine the type of a variable, which is easy to do in VSCode, but I have no idea how to achieve that in Vim. Additionally, I need to automatically format sources before saving them and to auto-complete methods after typing a dot following the type name. At the moment, I'm not very fast, and I haven't made any enhancements yet. So, any opinions are very welcome. Cheers!

  • @РоманСмородов-л2в
    @РоманСмородов-л2в 4 місяці тому

    The only real reason why people still use vim is cargocult from 80-90s. They believing that moving hand to mouse is too slow, but actually it is milliseconds. Instead they 5 seconds trying to switch tons of modes in vim, psessing 100 times some buttons just to get to particular letter in text, when with mouse you just need to move your hand directly to it.
    Have you seen any CS pro player, that use keyboard to aim?

  • @OffBrandChicken
    @OffBrandChicken 9 місяців тому

    Still going to use the mouse. Dont care would rather using the mouse for 2 seconds to click something, over trying to remember 50 different combos. I feel like its only the hobbyist that are actually like "dOnT uSe ThE mOuSe"
    Its not like the mouse was invented to get rid of the constant key presses and combos or anything.

  • @edgeeffect
    @edgeeffect Рік тому

    Nice chunky font size, speaking as someone on a phone with bad eyesight.... can I just say "thanks a lot".

  • @apmcd47
    @apmcd47 5 місяців тому

    Funnily enough MY laziness is in learning all those keyboard shortcuts. I often find it so much easier to just use the mouse than remember weird key combinations. And yes, I do use common shortcuts like ^S to save and ^Z to undo. But honestly, Alt-F4 to quit the current window? It's unnatural to do with just the left hand, so the right hand has to move all the way from the right side of the keyboard to the left, by which time it's as fast to hit that X button with the mouse.

  • @SatyajitRoy2048
    @SatyajitRoy2048 Місяць тому

    When you're managing hundreds of files, using tabs in Vim can make things even more cumbersome. These days, I'm more of a VSCode user, and it works well for me. With plenty of shortcut keys and my triple monitor setup, I can keep datasheets and other references open without constantly switching back and forth. However, the frequent switching between keyboard and mouse can be tedious. Maybe it's time to invent new hardware that better aligns with the needs of coders. I haven't given this much thought yet, but there's definitely a huge market for something that could streamline mouse operations in a faster, more efficient way.

  • @rodutus
    @rodutus 4 місяці тому +1

    Really don't think it's the mouse that's holding me back, but my brains

  • @gzoechi
    @gzoechi 9 місяців тому

    Usually it's quite irrelevant. Most of the time the best performance just means not doing dumb stuff.
    Think properly about what problem you are actually supposed to solve and then concentrate on doing it properly. Most time is wasted on doing stuff twice, not on slow typing.

  • @notlegit69
    @notlegit69 5 місяців тому

    Just buy a Copilot X subscription, as a full stack web dev, I don't really use vim for more than simple editing, or in SSH for DevOps setup. But this i3 thing is actually interesting, thanks for the video.

  • @Learnbynet
    @Learnbynet 9 місяців тому

    you need use both, macro keyboard and macro mouse, my custom mx master 3 is setup for vscode and very productive

  • @sdstorm
    @sdstorm 4 місяці тому

    It's difficult for me to imagine that someone would prefer to deal with something so obtuse as i3. Just remember a million shortcuts and you'll be good to go? Any future microsavings are severely overshadowed by the training and configuration time, IMO.

  • @jwbowen
    @jwbowen Рік тому +1

    Bash, vim, tmux, and i3.

  • @ZackXa
    @ZackXa 9 місяців тому

    Idk man I've never been fast at typing, but I'm surprisingly fast and accurate with the mouse, probably the video games...
    Use what works 🤷

  • @johnathanrhoades7751
    @johnathanrhoades7751 4 місяці тому

    I love vim. It’s so fun. I even use the vim plugin for vscode. I need to brush up again. I had a whole great setup with file explorer, etc., when I was self learning.
    So yeah, mostly currently use vscode with the vim plugin.

  • @alexe3332
    @alexe3332 Рік тому +1

    Keyboard shortcuts sums up this entire video. Short cuts using different applications and the shell.

  • @AndrewTaylorPhD
    @AndrewTaylorPhD Місяць тому

    I guess I've always been a bit sceptical of this stuff, like, the thing that takes me time while programming isn't moving the mouse around or switching windows, it's sitting thinking about what the right code to write is. I think we spend too much effort optimising how few keystrokes we can use to write code when really I worry that if people are spending enough time actually writing code that this stuff adds up to real money then maybe what they really need to do is slow down?

  • @dadudeme
    @dadudeme 3 дні тому

    Everything oh my zsh does can be manually done to keep the shell much faster. Oh my zsh adds significant startup overhead, and makes searching for solutions to shell issues much more difficult.
    Themes and other extensions are just shell scripts, copying them and manually adding them keeps the shell more responsive and gives you a much better understanding of how zsh and shell customization works.

  • @harry-smith404
    @harry-smith404 8 місяців тому

    I would add to other comments here that just you should just try what other people suggest you to learn (vim usage, blind typing, other shit) and see if it is worth it and makes you any difference.

  • @mehdizeynalov1062
    @mehdizeynalov1062 6 місяців тому

    hi thanks for the video - IMHO one comment - would be good to have a follow up video on how to use keyboard only for coding - how to navigate thru code editor, copy move code etc. thanks very much for super content.

  • @maervo4179
    @maervo4179 5 місяців тому

    Am i the only one thinking it does not matter if you use your mouse or keyboard? Most of my time i spend on meetings or figuring things out, solving problems. The actual coding part is idk 10% maybe

  • @katnax3059
    @katnax3059 10 місяців тому +1

    For now i SSH to my programming server and i use Tmux with NeoVim

  • @nilfux
    @nilfux 8 місяців тому

    This is dumb. Do what you know and are good at and can produce quality over quantity. Everyone establishes their own workflow that works for them.

  • @lerdev
    @lerdev 6 місяців тому

    checked what is my bottleneck during coding - revealed it was my head - sometimes Im just thinking instead of typing or moving mouse around. Is there any alternative to head?

  • @shapelessed
    @shapelessed Місяць тому

    Great. Except for when you can't remember all the f***ing shortcuts.
    I prefer the mouse, I really do not care if I'm 0.000% slower...

  • @KCKingcollin
    @KCKingcollin 4 місяці тому

    I3 is cool, but I personally like hyprland more, feels more modern, and is easier to configure

  • @ninjingninja
    @ninjingninja 5 місяців тому

    Yes yes.. let's waste time figuring out the key commands and. Inputting the wrong commands, going back to them. And then switch back to mouse..

  • @dwaynewadethree
    @dwaynewadethree 18 днів тому

    I had been already a long time user of oh-my-zsh, but you made me switch to i3 today and OMG that is just such a pleasent experience! Thank you!

  • @schrottiyhd6776
    @schrottiyhd6776 5 місяців тому

    I'm using my mouse for because my keyboard doesn't have those :) especially fun in template programming in c++

  • @rosux5540
    @rosux5540 Рік тому +1

    noone writes 200 lines without stopping so no real speed advantage. its all just preference

  • @gammyhorse
    @gammyhorse 11 днів тому

    Spends all his time configuring his "work flow" 😂😂 Serious developers care about debugging more than anything else. But geeks gonna geek anyways 😂😂