Neovim has it's own terminal?!

Поделиться
HTML-код
  • Опубликовано: 27 янв 2025

Комментарии • 168

  • @ManiacalMobius
    @ManiacalMobius Месяц назад +198

    Yes, video on floating windows please 🥺

  • @moussaadem7933
    @moussaadem7933 Месяц назад +160

    you won't convince me to run a shell in a terminal emulator in a text editor within a terminal emulator !

    • @ky3ow
      @ky3ow Месяц назад +41

      And if you git commit it will open new editor, that is in shell of a terminal emulator in editor itself in a terminal emulator

    • @epotnwarlock
      @epotnwarlock Месяц назад +20

      In a docker container being ran with poweshell in a windows terminal

    • @DavidPressley
      @DavidPressley Месяц назад +10

      Did I catch a WSL-2-niner in there?

    • @thebirdhasbeencharged
      @thebirdhasbeencharged Месяц назад

      ​@@epotnwarlockover vnc on my android

    • @emonadeo
      @emonadeo Месяц назад +1

      exactly. imo running a terminal is not a text editor concern. heck, even tmux/zellij is the “incorrect” solution. preference of course, but i’ll have my window manager or terminal emulator handle that, thank you.

  • @georcecostanza
    @georcecostanza Месяц назад +8

    Appreciate these videos @TJ. Please keep them coming!

  • @JulianColeman03
    @JulianColeman03 Месяц назад +24

    Would love to hear more about floating windows, yeah. Especially around Telescope, but also being able to run a command, close the floaty, and be able to come back to it. I'm imagining a case where you ran a test library in watch mode.

    • @giorgos-4515
      @giorgos-4515 Месяц назад +1

      Same here, gotta see how to setup a test workflow.

    • @silicon4636
      @silicon4636 Месяц назад

      I don't know how it works but nvchad provides that with their own implementation of terminal in neovim. You can press to toggle a floating terminal and it works really well.

  • @kylebario8318
    @kylebario8318 Месяц назад +1

    Thanks for this series my dude, it has really reignited my love for neovim and I’m learning so much

  • @mathzygote
    @mathzygote Месяц назад +2

    Amazing series, thanks TJ!

    • @teej_dv
      @teej_dv  Месяц назад

      thanks :) glad you're enjoying it!

  • @FocusAccount-iv5xe
    @FocusAccount-iv5xe Месяц назад +1

    These videos are so great. Thank you!

  • @Dioxo19
    @Dioxo19 Месяц назад +6

    I really like these videos.
    Quality content

  • @nael_nocteon
    @nael_nocteon Месяц назад +20

    Yes, please a video on floating windows!
    Actually, any video of you tinkering with NVim is god-sent for my first Nvim config, I just pick what clicks with me and take note of the shortcuts you use on screen.
    Keep em coming!

    • @Teslacoil33
      @Teslacoil33 Месяц назад

      Can this Advent series just become TJ's full-time job please? I'd love a daily Neovim video every day of the year!

  • @rawpointer
    @rawpointer 21 день назад

    Thank you TJ!!!! SUPER CLEAR.

  • @fe911s
    @fe911s Месяц назад +1

    Nice videos , explanations are spot on vs trying to fill in the gaps when i listen to the prime 😂

  • @darklord2222
    @darklord2222 Месяц назад +1

    Another video I never knew I needed 🙌

  • @f1r3w4rr10r
    @f1r3w4rr10r Месяц назад +1

    Sine a few versions (I don't remember when exactly), you can also use the ":term" command prefixed with ":vert" or ":hor" to directly open the terminal in a split. I use that quite a lot to put a terminal wherever it suits me in the moment.

  • @papricasix
    @papricasix Месяц назад +2

    Thank you. Please more! 😄

  • @LuisFernando-wm5rg
    @LuisFernando-wm5rg Месяц назад +2

    Yes!! Floating windows video please, I'm learning how to use NVIM API this vacations

  • @snowman1185-v
    @snowman1185-v Месяц назад

    Thank you my dude :)

  • @aamodjoshi2281
    @aamodjoshi2281 Месяц назад

    Love the series. I'm following along and setting up my nvim for data science
    Would love to see the config on toggleable floating windows!

  • @majam1n
    @majam1n Месяц назад +11

    Terminal in a text editor is a mistake. Love these videos though! You're a super star Teej ❤️

    • @teej_dv
      @teej_dv  Месяц назад +3

      reasonable opinion :)

    • @trkishh
      @trkishh Месяц назад +2

      why?

    • @vsz-z2428
      @vsz-z2428 Месяц назад +6

      why i can use all my shortcuts to navigate around and copy stuff from the scrollback its useful as hell

    • @moussaadem7933
      @moussaadem7933 Месяц назад +2

      ​@@trkishhtoo much indirection. the request to draw something on the screen goes from the shell to the terminal running within the editor, to the outer terminal emulator. a lot of wasted CPU cycles doing unnecessary processing. just open a separate terminal window

    • @danielwood4786
      @danielwood4786 Месяц назад

      I just don't like that it doesn't re-flow when resized

  • @dingus4138
    @dingus4138 Месяц назад +6

    Damn it’s crazy to see how much you can do with neovim when you rtfm

  • @Felipe-53
    @Felipe-53 3 дня назад

    pretty cool man, thank you

  • @mrairyo
    @mrairyo Месяц назад

    Thanks for all those videos! Learning a lot. I'm in for a floating window terminal that we can toggle ... and NeoVIM will allow me to remove one more tool from my workflow!

  • @Hooksie1
    @Hooksie1 Месяц назад +13

    I might have to switch from toggle term

  • @RandomNameName
    @RandomNameName Месяц назад

    i just learned that nvim has a terminal, pretty cool to see more about this tbh

  • @samuelwanjare7193
    @samuelwanjare7193 Месяц назад

    Bro has mastered the entire vim API, I envy

  • @IvanNovitskii
    @IvanNovitskii 8 дней назад

    At work I have 9 console apps to run. I automated running them with vim terminal mode. I wrote a script that does it automatically. It's very easy figure out how to do it using docs. You can start/stop and restart, term mode also preserves history, so you can go to app, checkout it out and restart it by just pressing up.

  • @mrhoads7
    @mrhoads7 Месяц назад +1

    Would like to see a floating window tutorial! Specifically for a terminal or file tree!

  • @dennistanui7085
    @dennistanui7085 Месяц назад +2

    Awesome, could you also explain how to pass "settings" for the terminal eg passing environment variables to the term, running the term as a different user, opening a lua cmd with all the loaded variables and packages in the running nvim instance

  • @Salloom99
    @Salloom99 Месяц назад +1

    Im enjoing every second of this series ❤
    Q: what's the nvim way of doing custom plugins per project ?

  • @gmosworld
    @gmosworld Месяц назад

    TJ doesn't miss

  • @sudhirchaudhary6512
    @sudhirchaudhary6512 Месяц назад

    I am enjoying this

  • @itsmenewbie03
    @itsmenewbie03 Месяц назад +6

    from now on i will call
    as registered nurse instead of Carriage Return + Line Feed!

  • @seanxyz
    @seanxyz 22 дня назад

    7:39 you had the answer about how to hit enter right in front of you, and even read it out loud. you give it a list, and make the last item an empty string

  • @anwiseru9064
    @anwiseru9064 Месяц назад

    i made my first neovim plugin because of the terminal feature, it allows me to embed my file manager i wrote in Go to open files

  • @DestinLee-m3u
    @DestinLee-m3u Месяц назад

    yes. floating window please!! Thank you!

  • @0223314338AA
    @0223314338AA Месяц назад +3

    Could you share a video demonstrating how you use Neovim to set up a terminal multiplexing workflow, such as with tmux?

    • @mbaneshi
      @mbaneshi Месяц назад

      install wezterm, it is rust based high performance stable multiplexer, it can be configured to be like browser, I mean CRL + t, n, w or , to create new windows , tab , close or go back and forth between these tabs (in addition to pane - which can be both horizontally and vertically), then in each pane, tab or windows ,you can have nvim running

  • @orsted4670
    @orsted4670 26 дней назад

    yes to the video on floating windows

  • @ElHeloint
    @ElHeloint Месяц назад +3

    I love the builtin terminal. Been using it for years. The only thing that annoys me is when I have a long line wrapped, selected, yanked, then I paste it into a file buffer and voila the linebreak has been yanked too from the line break. That's it, everything else is cool as a freezer!

    •  Месяц назад +2

      I have the same issue 😅

    • @hackerware_sh
      @hackerware_sh Месяц назад +1

      You can probably create an autocommand that when you yank and your inside a terminal buffer, it will automatically set opts to not wrap, yank, and then set opts back to wrap. Could look janky tho, haven’t tried…

  • @lcarv20
    @lcarv20 Месяц назад +7

    You forgot to mention the nvim paradox. Opening multiple nested nvim instances

    • @davidmatos1974
      @davidmatos1974 Месяц назад +1

      Yeah I was hoping for it but he didn't mentioned it. I used `nvr` before but didn't like it a lot. How did you solve that issue?

    • @lcarv20
      @lcarv20 Месяц назад

      @ I honestly haven’t. I generally don’t use terminal inside nvim.

  • @WHYUNODYLAN
    @WHYUNODYLAN Месяц назад +1

    This is what I use to run `emacs -nw` in case I need to edit text while I'm in Neovim

  • @perotubinger
    @perotubinger Месяц назад +2

    floating window +1

  • @prashlovessamosa
    @prashlovessamosa Месяц назад

    Woah i didn't know that 👍 thanks

  • @Michaeljamieson10
    @Michaeljamieson10 23 дня назад

    floating window floating window floating window

  • @IainSimmons
    @IainSimmons Месяц назад

    The example in the help said it joins the commands in the table with a new line, and had an empty string as the last part, I wonder if that would also work. Looks strange to me though,
    kind of makes more sense I guess

  • @SoreBrain
    @SoreBrain Месяц назад

    OK that's so cool

  • @diggus88
    @diggus88 18 дней назад

    I just switched to nvim nightly because of the better lsp support, but I think to get to the terminal on latest stable neovim (0.10.3) it's :Terminal instead of :te[rminal]

  • @orsted4670
    @orsted4670 26 дней назад

    did tj discussed a better way to escape terminal mode? i thought he was going to create a mapping but i didn't saw it in the video.

  • @markmcdonnell
    @markmcdonnell Месяц назад

    Yes please for floating window stuff.

  • @ky3ow
    @ky3ow Месяц назад

    Floating windows would be cool, may replace dependency on toggle term from my config

  • @pinpox
    @pinpox Месяц назад

    I want the toggely floating terminal window thing

  • @SHARKER92
    @SHARKER92 Месяц назад

    Thanks for all your videos. I love them. Really useful to set up my neovim.
    Do you know how to set up a new line at the end of each file. I tried fixeol and an autocmd but not working :(
    Thanks for all.

  • @adriansrfr
    @adriansrfr Месяц назад

    What used to drive me crazy about the nvim terminal was that it did not source my custom functiins.

  • @sfryxell
    @sfryxell Месяц назад +7

    Any chance you can upload the output from the lessons to the github so I can study these a little slower. Thank you.

  • @darukutsu
    @darukutsu Месяц назад

    once pr/issue with native image protocol in neovim terminal is merged i will fully transition my setup

  • @avramukk
    @avramukk Месяц назад

    It seems that yesterday lazyvim replaced telescope with fzf-lua and it became my default. Could you make a video about it and compare the differences between them and whether I should go back to telescope and how to do it? Because it seems that now all my keymaps are overwritten with fzf-lua and I don't understand where to change it. It's often so annoying that some configurations are hidden and you don't understand why something works, but you don't have a configuration for it and it's not even clear where to find the source of the truth that is currently being used. This is the biggest problem for me in setting up nvim right now. I hope this will be useful feedback. Thanks for all the videos. Keep up the good work.

  • @committedcoder3352
    @committedcoder3352 Месяц назад

    floating windows will be cool.
    I'd also be interested to know what process you go through to write a plugin?

  • @joselima7655
    @joselima7655 Месяц назад

    I used to think I had to have tmux because of all this important imaginary things I was doing with it. Now I just fire it up if I have something that needs to be back there and just dump it to the back ground. I feel like everything is slightly more responsive outside of tmux. I setup my neovim terminal to behave like vscode and cmd-t opens, focus and the same toggles and hides it

    • @FedericoDanielAnastasi-b9w
      @FedericoDanielAnastasi-b9w Месяц назад

      Sounds nice, how did you do it?

    • @joselima7655
      @joselima7655 Месяц назад

      @@FedericoDanielAnastasi-b9w I dont know how to share that here, ill try to paste the code maybe you can format it ... --- vscode like terminal ---
      local terminal_buf = nil
      local terminal_win = nil
      local term_job_id = nil
      local term_size = 5
      vim.api.nvim_create_user_command("T", function()
      -- If terminal buffer doesn't exist, create it, otherwise reuse it
      if terminal_buf == nil or not vim.api.nvim_buf_is_valid(terminal_buf) then
      -- vim.cmd("bel " .. term_size .. "split")
      vim.cmd.vnew()
      vim.cmd.term()
      vim.cmd.wincmd("J")
      vim.api.nvim_win_set_height(0, term_size)
      terminal_buf = vim.api.nvim_get_current_buf()
      terminal_win = vim.api.nvim_get_current_win()
      temr_job_id = vim.bo.channel
      vim.cmd("startinsert")
      return
      end
      -- Terminal buffer exists, check if it's currently displayed
      local wins = vim.api.nvim_list_wins()
      local is_visible = false
      for _, win in ipairs(wins) do
      if vim.api.nvim_win_get_buf(win) == terminal_buf then
      -- Terminal is visible, hide it
      vim.api.nvim_win_hide(win)
      is_visible = true
      break
      end
      end
      -- If terminal wasn't visible, show it
      if not is_visible then
      -- this makes smaller termial confined to one window pane
      vim.cmd("bel " .. term_size .. "split")
      -- this gives us a full horizontal window even when two panes are opened for more term realstate
      -- vim.cmd.vnew()
      -- vim.cmd.wincmd("J")
      vim.api.nvim_win_set_height(0, term_size)
      vim.api.nvim_win_set_buf(0, terminal_buf)
      terminal_win = vim.api.nvim_get_current_win()
      vim.cmd("startinsert")
      end
      end, {})
      --- keymaps ---
      local opts = { noremap = true, silent = true }
      vim.keymap.set("t", "", [[]], opts)
      vim.keymap.set({ "n" }, "", ":T", opts)
      vim.keymap.set({ "i" }, "", ":T", opts)
      vim.keymap.set("t", "", [[:T]], opts)

  • @ya64
    @ya64 Месяц назад

    Hi @TJ, loving these videos. One of the things that is keeping me from switching to Neovim is, the lack of a Command Palette.
    Sometimes I just want to execute a command on VScode, like for example, closing other open editors, or switching to a different project/workspace.
    I don't need to define keymaps for those things, I just bring up palette, fuzzy search for the command and hit Enter.
    Is there a way to create a similar experience using Neovim?

    • @willernst
      @willernst Месяц назад

      Telescope find_command will get you most of the way there

    • @FedericoDanielAnastasi-b9w
      @FedericoDanielAnastasi-b9w Месяц назад

      Have you seen the telescope and advanced telescope videos?

  • @picklypt
    @picklypt Месяц назад +1

    It actually says in the docs, at 7:37 , that sending an empty string sends a newline

  • @zachpalmer5538
    @zachpalmer5538 Месяц назад

    Will you make a video about Debugging in go and different languages

  • @rossvold
    @rossvold Месяц назад

    remember to update your notes TJ!

  • @pennti
    @pennti Месяц назад

    Thank you now I dont have to run zellij anymore

  • @avi7278
    @avi7278 Месяц назад

    I can't use neovim terminal because when it inevitably hangs and I have to restart neovim, then there's go all my terminals.

  • @tyrox9
    @tyrox9 Месяц назад +2

    the only problem that i have with this is that it doesnt scroll to the bottom after it runs the command is there a way to do that?

    • @SoreBrain
      @SoreBrain Месяц назад

      Yea I also noticed the terminal is kinda weird how it doesn't always scroll with the output

    • @Larceny__
      @Larceny__ Месяц назад

      Add a call to vim.cmd.startinsert() to the end of the auto command and you should start right on the terminal prompt.

  • @maxrepin6491
    @maxrepin6491 Месяц назад

    Floating windows is coo coo cool 🙊

  • @YADOLBAYOB
    @YADOLBAYOB Месяц назад

    We want everything you know about nvim!

  • @karaloop9544
    @karaloop9544 Месяц назад

    Not even acknowledging that :LspRestart tripped over itself. :) Sadly those little papercuts add up.

  • @arjanbal3972
    @arjanbal3972 Месяц назад

    Earlier used to get stuck in nvim inside the terminal, now I'm stuck in the terminal inside nvim 😢

  • @casraf
    @casraf Месяц назад

    Floating windows next!

  • @adriansrfr
    @adriansrfr Месяц назад

    Floating windows is a great idea!

  • @hasim7115
    @hasim7115 Месяц назад

    How about zoom in and out a window , like if we compile something in a term window and many errors appear and we want to see the error clearly

  • @jay-cm
    @jay-cm Месяц назад

    I'm conflicted, this is cool and it resembles the other GUI code editors like VSCode, but it feels weird to have nested terminals... is there any disadvantages for using this over a native tab from my terminal emulator? like bugs, input delay, etc.

  • @zerdofish9989
    @zerdofish9989 Месяц назад

    swwwweet

  • @Andrath
    @Andrath Месяц назад

    How do you handle running nvim inside the nvim terminal? (nested nvim) For example, you're in the nvim terminal, you ssh into another box, and start nvim there to edit a file. How the hell does one exit nvim there without quiting your local session?

  • @giorgos-4515
    @giorgos-4515 Месяц назад

    is there a way to somehow set what will be run everytime i do example??? It would be great when you start your workflow to set the compile command and have it easily accessed.

  • @edw0rd21
    @edw0rd21 Месяц назад

    why do i not have vim logo beside where normal /insert is written

  • @niacinsoupbowl
    @niacinsoupbowl Месяц назад

    Please make the float window video.

  • @hyperthreaded
    @hyperthreaded Месяц назад

    If you start a vim terminal and run emacs in it, does it tear the fabric of the space-time continuum?

  • @ruslannasonov7937
    @ruslannasonov7937 Месяц назад

    Is the way to setup neovim terminal for opening nested neovim (e.g. git commit called)? When I want to run command with ’:’ it runs on outer nvim

  • @elliotalderson6609
    @elliotalderson6609 Месяц назад

    When I create those autocommand for TermOpen it removes line numbers even from file buffers

    • @elliotalderson6609
      @elliotalderson6609 Месяц назад

      I figured out that it happens only when you spawn a pane from terminal pane

  • @disguisedpigeon5465
    @disguisedpigeon5465 Месяц назад

    Maybe to get more content out of the floating windows make it be always the same term buffer? Not because I want to put that into my config and I'm too lazy to do it by myself... Not because of that at all...

  • @CrazyMineCuber
    @CrazyMineCuber Месяц назад

    When are you going to fix so that the terminal cursor behaves in the same way as I have configured it outside neovim? I do not want a block cursor for my terminal :(

  • @guitarhero69
    @guitarhero69 Месяц назад

    make one on floating window where we can keep our backend server running

  • @EssaidoSuo
    @EssaidoSuo Месяц назад

    Holy how !! you tell me that there is a terminal inside texteditor based on terminal ???

  • @dandreani
    @dandreani Месяц назад

    is there any option, once i am in a term, lets say run make. have a keybind to jump to a error line on the code itself?

  • @favillescens
    @favillescens Месяц назад

    Is it possible to open an interpreter in the terminal and send selected text to it?

  • @NiklasHohn
    @NiklasHohn Месяц назад

    i want a floating terminal 🚀

  • @samuelborn9004
    @samuelborn9004 Месяц назад

    I would like to see the toggling of floating windows

  • @gcchec
    @gcchec Месяц назад

    I would love to see floating windows.

  • @jamesamo6962
    @jamesamo6962 Месяц назад

    What is the undefined global?

  • @ArisTheInquring
    @ArisTheInquring Месяц назад

    I used to think i was really smart for making basically almost hte exact same setup on my vim when i first started....

  • @SBcode-s3n
    @SBcode-s3n Месяц назад

    Why nvim take to long to open file

  • @cacup7
    @cacup7 Месяц назад

    Yo, is it possible to get the std out/error from a terminal buffer?

    • @vsz-z2428
      @vsz-z2428 Месяц назад

      what do you mean? the compiler output?

  • @demolazer
    @demolazer Месяц назад

    I'm constantly using :!command

  • @The_Wookiee
    @The_Wookiee Месяц назад

    Or... tmux, I do like having it in a buffer though.

  • @peterszarvas94
    @peterszarvas94 Месяц назад

    so I can have live reload, by remapping :w?
    your videos are so helpful, thank you man!

  • @Alonso_Cid
    @Alonso_Cid Месяц назад

    Why don't you upload into Odysee anymore?

  • @LorenzoBettini
    @LorenzoBettini Месяц назад

    The github repository hasn' been updated...

  • @abrarshakhi
    @abrarshakhi Месяц назад

    Yeah. Make a video about floating window.

  • @NFvidoJagg2
    @NFvidoJagg2 11 дней назад

    i to get back into terminal and it's \ not /
    this is what i got caught on if someone else is looking for the comment how to get back in

  • @juanramonmarquezherrrea3904
    @juanramonmarquezherrrea3904 Месяц назад

    Floating win please