My favourite ctrl-w mapping is ctrl-w r which "rotates" windows. I'll often have a vertical split with two files, or two places in the same file. Usually the left is for active editing and the right is just for reference. If I want to edit on the right side for more than a second or two I can swap them with ctrl-w r.
Woo, I like this very much. I keep code on left and tests on right, and I rather enjoy the idea of moving my activity to KEEP my active window as the left side and KEEP the right side as reference. Thanks from random internet guy for the tip! :)
- Since most of the window commands start with Ctrl+w, I map w to Ctrl+w and everything becomes a lot more ergonomic. Like most people I use as the leader. - Ctrl+w followed by just w does the same thing as Ctrl+w followed by Ctrl+w. With the above in mind, switching between two windows becomes just ww. - A pretty important one to mention is Ctrl+w followed by c, which closes the current *window*, but not necessarily the buffer (if it's open in another window). This should work in most any situation where :fc would work (and :bd should also work in those scenarios).
Using which-key also really helps here! I know that window-keybinds use ctrl-w, but don't necessarily know the next key to press. However, when I press ctrl-w, which-key will show the available next keys with a short description.
I use :bwipeout It even sends "textDocument/didClose" to the language server, which gives me some confidence that it was intended as a main way to drop buffers. PS: sometimes you need to force it, though - for example, for terminal buffers. But you can just write a function that adds '!' to the command if you're inside one of those, if you want.
Does anyone have the Graphite keyboard layout and use Vim? If so, what is your experience? I just got the Advantage2 Pro and am thinking of learning a new layout.
I know he is using tokyonight, but mine looks different from his. I did not config anything, and I check the previous videos, he did not either. Anyone know what may be the issue? I actually like this more since it is not too contrasty.
I think it might depend on which terminal you're using and what mode it's in. Try running `echo $TERM`. I think one you'd prefer to have is TERM set to xterm-256color. But it also depends on your system, and as mentioned, your terminal application.
I've been playing around with tmux and I cant understand why you would use both vim tabs and tmux at the same time since they dot the same things and you crowd your keybinds by having both.
I guess if you are using some plugins or background processes that benefit from having everything inside the same neovim process, it might be useful. Also, it might save resources to have 1 lsp server running instead of many.
Depends on personal strategy. In my case I love using tmux sessions to manage projects. Each project I open is a tmux session and I find it very useful because each session also means a different cwd that I can interact with.
for each project i work on, i have a tmux session with windows that are configured specifically for the project. for a lot of simple projects, it's just a window for vim and a window for my terminal, but for my job my configuration defaults to: win 1: vim win 2: terminal win 3: database (currently a vim session using dadbod ui, but could be any terminal based DB editor) win 4: REST scripts that i essentially use to replace postman win 5: live terminals, like running the dev server so while i could just have vim with an editing tab and a vim terminal tab, using tmux this way gives me a lot more flexibility and tbh i generally don't like using the nvim terminal. ymmv but to me this is a great distinction between why tmux windows vs vim tabs can be nice.
I personally wish a Tab page was a collection of buffers and a window was a collecton of tab pages. It would make things much more intuitively navigable imo.
@@tommasobonvicini7114 Yes there is a philosophy, a vim way of doing things, you should read more. Yes, we can look through a tab, but that tab is essentially a single window inside a tab.
unfortunately hjkl is the only thing that is not ideal about vim: when you change the layout to the better one (like colemak) hjkl just stops working, but everything else work just fine because it is a mnemonical rule, not a positional like wasd or hjkl. But this is minor stuff, good video!
Two days 😅 please upload two videos now
stop being mean to working dads challenge
It's good to procrastinate for him to let newbies catch up learning with his upload speed! 😂
Bro released one a couple mins ago, checkmate
Already on it hahaha
Based
My favourite ctrl-w mapping is ctrl-w r which "rotates" windows. I'll often have a vertical split with two files, or two places in the same file. Usually the left is for active editing and the right is just for reference. If I want to edit on the right side for more than a second or two I can swap them with ctrl-w r.
Woo, I like this very much. I keep code on left and tests on right, and I rather enjoy the idea of moving my activity to KEEP my active window as the left side and KEEP the right side as reference. Thanks from random internet guy for the tip! :)
- Since most of the window commands start with Ctrl+w, I map w to Ctrl+w and everything becomes a lot more ergonomic. Like most people I use as the leader.
- Ctrl+w followed by just w does the same thing as Ctrl+w followed by Ctrl+w. With the above in mind, switching between two windows becomes just ww.
- A pretty important one to mention is Ctrl+w followed by c, which closes the current *window*, but not necessarily the buffer (if it's open in another window). This should work in most any situation where :fc would work (and :bd should also work in those scenarios).
I remapped hjkl to for easier navigation. I think I saw it in an old video of yours and it feels much better
I want to do that too! How did you do that? Please at least tell me what video taught you how to do that!
LazyVim also does that
@@asdfasdfuhf`vim.keymap.set("", "j")` (and the same with the other 3) should work just fine I think?
@@asdfasdfuhf vim-tmux-navigator plugin does that automatically
Using which-key also really helps here!
I know that window-keybinds use ctrl-w, but don't necessarily know the next key to press.
However, when I press ctrl-w, which-key will show the available next keys with a short description.
Missed ya and glad to have you back!
Thanks TJ for making these videos
Im remapping gt to tj
I recommend mapping T to :tab split as a replacement for o
Thanks Teej for continues posting videos during holiday season
Best video explanation 👌 👏 🎉
really enjoying the short form content! much more digestible.
Thansk a lot teej, you're the best
Omg thank you so much
Come ooonnnnn, make another video on code completions
I would really love if you ever gave a little more insight into how to create & manage floating windows using Lua!
4:30 This reminded me of Donald for some reason
Thanks for the amazing video, I have just been using tmux to split windows before lol
really helps me to get neovimming haha
Return of the king
The Return of the King
This video comes at the right time for me. My neovim are messed up because tons of things on the screen 😂
Please make a video about floating windows or whatever floating on the screen. Sometimes navigating between those things is a nightmare for me 😅
What headphones do you use?
I'm just now setting up nvim but I'm a little concerned about using plugins and if they will call random api with my code.
plugins can run whatever code they want - just like any other package you install on your computer!
@teej_dv that coupled with the auto updating package managers scare the hell out of me.
do you think there's a chance vimscript becomes a legacy deprecated language in neovim, once everyone starts using lua APIs
new tj video lessgoooo
One thing that I still struggle with neovim is closing a buffer without exiting the editor. I didn't found a good solution yet.
I use :bwipeout
It even sends "textDocument/didClose" to the language server, which gives me some confidence that it was intended as a main way to drop buffers.
PS: sometimes you need to force it, though - for example, for terminal buffers. But you can just write a function that adds '!' to the command if you're inside one of those, if you want.
You can use the command ":bd" to delete a buffer
I think astronvim closes buffer with space-c. I’ve been meaning to look up their implementation to replicate it in my current config
:bw
@@cacup7 I'll try :bd or :bw using bc to [B]uffer [C]lose. I'll see if I get used to it.
even though you are sometimes a tab enjoyer, this video was okay
i use neovim
in vscode 😭
Does any one know which font is TJ using in this video?
berkeley mono
2:30 why shouod i, as a proud linux cult member, help Windows?
/j
Does anyone have the Graphite keyboard layout and use Vim? If so, what is your experience? I just got the Advantage2 Pro and am thinking of learning a new layout.
I know he is using tokyonight, but mine looks different from his. I did not config anything, and I check the previous videos, he did not either. Anyone know what may be the issue? I actually like this more since it is not too contrasty.
I think it might depend on which terminal you're using and what mode it's in. Try running `echo $TERM`. I think one you'd prefer to have is TERM set to xterm-256color. But it also depends on your system, and as mentioned, your terminal application.
Maybe it's your terminal emulator?
@@seffradev I use wezterm on a mac. And it is by default xterm-256.
I've been playing around with tmux and I cant understand why you would use both vim tabs and tmux at the same time since they dot the same things and you crowd your keybinds by having both.
I guess if you are using some plugins or background processes that benefit from having everything inside the same neovim process, it might be useful. Also, it might save resources to have 1 lsp server running instead of many.
Depends on personal strategy.
In my case I love using tmux sessions to manage projects. Each project I open is a tmux session and I find it very useful because each session also means a different cwd that I can interact with.
for each project i work on, i have a tmux session with windows that are configured specifically for the project. for a lot of simple projects, it's just a window for vim and a window for my terminal, but for my job my configuration defaults to:
win 1: vim
win 2: terminal
win 3: database (currently a vim session using dadbod ui, but could be any terminal based DB editor)
win 4: REST scripts that i essentially use to replace postman
win 5: live terminals, like running the dev server
so while i could just have vim with an editing tab and a vim terminal tab, using tmux this way gives me a lot more flexibility and tbh i generally don't like using the nvim terminal. ymmv but to me this is a great distinction between why tmux windows vs vim tabs can be nice.
I have a plugin to use the same keybinds to move between both nvim and tmux panes
@@picklypt christoomey/vim-tmux-navigator?
Leaving a comment for the algo.
thanks man
I personally wish a Tab page was a collection of buffers and a window was a collecton of tab pages. It would make things much more intuitively navigable imo.
The sad decision of naming a pane "window".
Its the philosophy that matters, here a window means something through which you look, here which is a buffer.
There is no philosophy behind that, it's just naming, bad naming.
BTW you look through a tab and a buffer as well: it just doesn't make sense.
@@tommasobonvicini7114 Yes there is a philosophy, a vim way of doing things, you should read more.
Yes, we can look through a tab, but that tab is essentially a single window inside a tab.
"Inside of Windows, we have a bunch of options." Such a Microsoft shill! Unsubbed.
2nd
1st
unfortunately hjkl is the only thing that is not ideal about vim: when you change the layout to the better one (like colemak) hjkl just stops working, but everything else work just fine because it is a mnemonical rule, not a positional like wasd or hjkl. But this is minor stuff, good video!