10 protips I wish I knew sooner as a software dev (beginner) anthony explains

Ғылым және технология

here's ten quick things you can learn to level up your bash / terminal skills.
- github.com/asottile/scratch/w...
- more powerful than control-C: • more powerful than con...
- fc / fix command: • bash protip: fc "fix c...
playlist: • anthony explains
==========
twitch: / anthonywritescode
dicsord: / discord
twitter: / codewithanthony
github: github.com/asottile
stream github: github.com/anthonywritescode
I won't ask for subscriptions / likes / comments in videos but it really helps the channel. If you have any suggestions or things you'd like to see please comment below!

Пікірлер: 53

  • @mCoding
    @mCoding2 жыл бұрын

    Wow I didn't realize !! is treated like an escape sequence, so it will expand even inside quotes (double quotes, but not single quotes). I can imagine someone going echo "hello world!!" and being very confused.

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    heh and this is why I almost always use hard-quotes (single quotes)

  • @TheKittko

    @TheKittko

    2 жыл бұрын

    hah, quite the gotcha indeed

  • @blumer4029

    @blumer4029

    2 жыл бұрын

    Or trying to do a commit with the inline message "Done!!"

  • @andrewf8366

    @andrewf8366

    2 жыл бұрын

    I actually had this happen to me early on when using bash.

  • @TheKittko
    @TheKittko2 жыл бұрын

    one pro tip i use all the time is jobs. Ctrl+Z to suspend/pause the current shell command and then fg to get back to it. jobs to list all currently suspended commands.

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    yep -- I go over that in kzread.info/dash/bejne/np-FsbN6k5mbiqQ.html

  • @StanislavSchmidt1
    @StanislavSchmidt12 жыл бұрын

    Nice, some really good-to-knows there :) I also like Ctrl+p+q for detaching from an interactive docker container.

  • @_baco
    @_baco2 жыл бұрын

    I think `Ctrl+Shift+u` for unicode is not Bash, but rather a GTK+ feature; which is where the shell session is running (inside a gnome-terminal, which happens to be GTK+). It also works in many other shells inside a GTK-based terminal, and further-more even in the web-browser. For instance, it doesn't work on Bash running inside Alacritty, and it works different on Kitty Terminal

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    indeed! a few have shown me this before as well

  • @john_critchley
    @john_critchley2 жыл бұрын

    Should have mentioned this (coppied from bash(1)): operate-and-get-next (C-o) Accept the current line for execution and fetch the next line relative to the current line from the history for editing. A numeric argument, if supplied, specifies the history entry to use instead of the current line. Basically in bash, after doing a reverse search (C-r) you can run that command and get the next ready to run, and the next and the next... (possibly changing them before running) This is very useful.

  • @joshsnyder5882
    @joshsnyder58822 жыл бұрын

    afaik ctrl-shift-u is a Gnome-specific unicode entry mode. It works everywhere in Gnome, but not outside of Gnome.

  • @_baco

    @_baco

    2 жыл бұрын

    Actually, it's GTK+ specific. It doesn't work, even inside GNOME, if the application is not GTK-based. For instance Alacritty or XTerm

  • @davehouser1
    @davehouser12 жыл бұрын

    Wow, very cool stuff :) didn't know about reverse-search. I always just grep on my history command, then use `!` for the entry I want to run. If I want to edit it I use `!:p`. Re: fc, I usually run `set -o vi` so I can run vi motions from the terminal, from there I can use `v` to edit commands. Nice post!

  • @jinhopark3671
    @jinhopark36712 жыл бұрын

    Absolutely love these kind of videos! Thanks :)

  • @essamgouda1609
    @essamgouda16092 жыл бұрын

    As always brilliant content !

  • @lukajeliciclux3074
    @lukajeliciclux30742 жыл бұрын

    Great video. Can I fork the wiki for the references?

  • @TheMaxCacao
    @TheMaxCacao2 жыл бұрын

    I use mcfly as a ctrl-r extension. It’s recommendation algo and easy viewing of previous commands is really usefull

  • @souravdhar47
    @souravdhar472 жыл бұрын

    how to get out of the editor after the fc command?

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    just quit the editor like normal -- (so if it's vim, you'd `:wq`, if it's babi you'd `^X`)

  • @jamesmunroe6558
    @jamesmunroe6558 Жыл бұрын

    You're a total boss, dude! Your videos are gold!

  • @tcarreira
    @tcarreira2 жыл бұрын

    I find it easier to memorize the ESC+ instead. Eg: ESC+. will write the paste the last argument. ESC+backspace will delete the last word. etc...

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    I assume you map capslock to control, otherwise those are quite the stretch!

  • @CollinJS

    @CollinJS

    2 жыл бұрын

    Alt+. will also produce the same effect, though the escape method allows you to fully press and release escape before tapping dot, etc.

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    you can also do control-[ + . as well

  • @Granteparton
    @Granteparton2 жыл бұрын

    Cool keyboard, what is it?

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    it's the kinesis freestyle pro! here's my thoughts on it: kzread.info/dash/bejne/do6bpbeQlpyqirA.html

  • @voytechj
    @voytechj2 жыл бұрын

    Reverse search (Crtl-r) is pretty universal. It works in python REPL, bash, zsh, PowerShell and many more. You can import prompt_toolkit and replace "input" with "prompt" and have your own reverse search. Its very easy: from prompt_toolkit import PromptSession session = PromptSession() while True: answer = session.prompt("Give me some input: ") print(f"You said: {answer}") if answer == "exit": break

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    ^R is a readline feature -- all those things use readline when available (python on windows for example does not support it, and very frequently pyenv-compiled python doesn't either)

  • @voytechj

    @voytechj

    2 жыл бұрын

    @@anthonywritescode Just checked both cmd and new Microsoft Terminal on windows and reverse search works in python with no problem.

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    you must've installed readline -- the official distributions do not come with functioning readline

  • @voytechj

    @voytechj

    2 жыл бұрын

    @@anthonywritescode You are right, I installed pyreadline. Forgot about this module

  • @leyuskc
    @leyuskc Жыл бұрын

    ctrl+. for emoji chart or tabel , unlike ctrl+shift+u youdont have to remember the unicode value 😉

  • @anthonywritescode

    @anthonywritescode

    Жыл бұрын

    doesn't work on linux or windows -- must be a mac specific thing

  • @sillybuttons925
    @sillybuttons9252 жыл бұрын

    `y` does work on gitlab. Unfortunately know this from experience.

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    you poor soul, gl with your choo choos

  • @sillybuttons925

    @sillybuttons925

    2 жыл бұрын

    @@anthonywritescode "run train is against our coc"

  • @TheMicho1234
    @TheMicho12342 жыл бұрын

    Hi anthony, FYI, you typed your password while recording your keyboard ...

  • @dddsa5951

    @dddsa5951

    2 жыл бұрын

    I think he uses a virtual machine to make videos so it doesn't actually matter : }

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    yep -- my password is literally "bad password"

  • @tandavme
    @tandavme2 жыл бұрын

    you can use ctrl - D instead of ~. to close ssh connection. Or get out of the attached docker container terminal

  • @dddsa5951

    @dddsa5951

    2 жыл бұрын

    Ctrl+D doesn't work if the connection is stuck. For example if your wifi got disconnected while you were ssh'd into a server, neither ctrl+C or ctrl+D will do anything, you will have to close the terminal. But ~. worked to my surprise and it's a nice trick to know

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    nope! ~. is specifically needed when the session is stuck and you want to forcibly detach

  • @guitarfumar
    @guitarfumar2 жыл бұрын

    Timestamps would be very much appreciated. 🤙

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    if you compile them I'll put them into the description!

  • @con-f-use
    @con-f-use2 жыл бұрын

    Ctrl + x then Ctrl + e opens the current terminal line in an editor, so similar to fc, but is better, because it works across multiple shells and together with history navigation is slightly more powerful.

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    you didn't watch the video

  • @con-f-use

    @con-f-use

    2 жыл бұрын

    ​@@anthonywritescode I did, but missed the mention of it also missed the Alt + . (dot) the first time. Just spaced out. At least the info that it works in shells other than bash was not in the vid ;D

  • @JohnSmith-xf6nb

    @JohnSmith-xf6nb

    Жыл бұрын

    @@con-f-use Doesn't work in zsh apparently

  • @a_maxed_out_handle_of_30_chars
    @a_maxed_out_handle_of_30_chars2 жыл бұрын

    Title should have been useful bash tricks I wish I knew

  • @anthonywritescode

    @anthonywritescode

    2 жыл бұрын

    not all of them are bash

  • @cerioscha
    @cerioscha10 ай бұрын

    ^r is a great one thanks ! There was me doing history | grep git all this time

Келесі