Neovim has it's own terminal?!

Поділитися
Вставка
  • Опубліковано 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.

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

    Amazing series, thanks TJ!

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

      thanks :) glad you're enjoying it!

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

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

  • @FocusAccount-iv5xe
    @FocusAccount-iv5xe Місяць тому +1

    These videos are so great. Thank you!

  • @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!

  • @Dioxo19
    @Dioxo19 Місяць тому +6

    I really like these videos.
    Quality content

  • @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 😂

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

    Thank you. Please more! 😄

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

    Another video I never knew I needed 🙌

  • @Hooksie1
    @Hooksie1 Місяць тому +13

    I might have to switch from toggle term

  • @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.

  • @dingus4138
    @dingus4138 Місяць тому +6

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

  • @LuisFernando-wm5rg
    @LuisFernando-wm5rg Місяць тому +2

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

  • @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

  • @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!

  • @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!

  • @itsmenewbie03
    @itsmenewbie03 Місяць тому +6

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

  • @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

  • @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!

  • @Felipe-53
    @Felipe-53 3 дні тому

    pretty cool man, thank you

  • @snowman1185-v
    @snowman1185-v Місяць тому

    Thank you my dude :)

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

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

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

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

  • @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

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

    Bro has mastered the entire vim API, I envy

  • @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

  • @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.

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

    I am enjoying this

  • @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

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

    TJ doesn't miss

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

    floating window +1

  • @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

  • @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

  • @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.

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

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

  • @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

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

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

  • @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]

  • @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?

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

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

  • @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 :(

  • @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…

  • @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.

  • @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?

  • @orsted4670
    @orsted4670 26 днів тому

    yes to the video on floating windows

  • @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.

  • @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

  • @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.

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

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

  • @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.

  • @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

  • @DestinLee-m3u
    @DestinLee-m3u Місяць тому

    yes. floating window please!! Thank you!

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

    Woah i didn't know that 👍 thanks

  • @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.

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

    Yes please for floating window stuff.

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

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

  • @Michaeljamieson10
    @Michaeljamieson10 23 дні тому

    floating window floating window floating window

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

    I want the toggely floating terminal window thing

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

    OK that's so cool

  • @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.

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

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

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

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

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

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

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

    Please make the float window video.

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

    remember to update your notes TJ!

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

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

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

    What were you searching to find the documentation for all of the m
    Vim methods like vim.api.

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

    What is the undefined global?

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

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

  • @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

  • @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)

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

    I would like to see the toggling of floating windows

  • @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...

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

    Thank you now I dont have to run zellij anymore

  • @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?

  • @SBcode-s3n
    @SBcode-s3n Місяць тому

    Why nvim take to long to open file

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

    Floating windows is coo coo cool 🙊

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

    We want everything you know about nvim!

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

    Floating windows is a great idea!

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

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

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

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

  • @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

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

    swwwweet

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

    I'm constantly using :!command

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

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

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

    Why don't you upload into Odysee anymore?

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

    i want a floating terminal 🚀

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

    I would love to see floating windows.

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

    The github repository hasn' been updated...

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

    Floating windows next!

  • @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....

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

    Yeah. Make a video about floating window.

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

    Floating win please