 Thank you, Rakuten and Trinidad Fsg for giving me a chance to talk here regarding my passion about WIM. I will go first and then Lippin will come after me and then we will conclude and then maybe if time allows then we can do some demo if you want to see it. May I know how many people are using WIM or started to use WIM? Wow, okay, I mean like it's a friend currently using I assume so okay but still I would say 30% of our attendance. Okay, I tried to consolidate my thought because I think we have so many things to share about WIM when we talk about our passion so I tried to follow my own slide if I'm possible too. Okay, let's see. Okay, I will go for the second one. Okay, who am I first of all? I say I actually entered myself. Hey, wait. Okay, my name is Ken, I'm from Gulf Tech as you can see. Yeah, that's my email and then my profile. It doesn't matter actually. Of course there's this disclaimer that actually anything that above below that I'm talking actually is my own personal view, not representing any organization or any parties. Okay, although what is the game? Okay, WIM is an editor. Okay, we kind of know it, but for me it's literally really is an editor just like your notepad++, just like your visual studio but without all the plugins and all these things, just like nano if you are using. So, even though it's just an editor, but why people like still obsessed about it, then I will show you a bit why I am one of the person that was also obsessed with then after I have been encountered with this. Okay, so why B? Because I believe everyone mostly is our deaf, right? So as a deaf inside our heart, there's like a gig inside it. We want to learn something cool. We learn it and then we want to show it, right? That's mainly for, what is it? It's mainly for showing off. So, but my showing off is not the bad way of showing off what I mean is like we just want to show what we know, what we knew, what we learned and how I was set up just like you are tuning a car. So you slowly tune it and then up to a point that you want to say, okay, this is my car is on the best shape. I want to show to other people, right? You want to run on the street and then boom, boom and you cut all your apps over and they make it louder. So that's the same kind of feeling. So why B again? Okay, for me, it gives me the zone of kind of feeling like when you do a coding without distraction. Because when we see maybe, okay, just example, we just studio, you have a lot of the ding dong dong around the area, you have a lot of minimap, you have a lot of icons everywhere. So sometimes I think that is too much for me. So, and more importantly, it's also not about all the icons and things. Except for the distracting. I'm actually buying the beam philosophy. But I don't know if anyone actually knew or heard about the unknown. The example of what beam philosophy is. It's like, it's like an artist, when you are drawing a painting kind of things. It's like, you mostly know that beam is like a moda, moda, how to say moda system. I mean, like you, you are switching from normal mode into an instant mode into a X mode, common mode, visual mode, whatever mode you have. It's like a different state of when you are crafting. So the philosophy is about, oh, I'm drawing a painting. Most of the time, I'm not editing. Most of the time, you are not, you're not drawing. Most of the time, you think you are thinking you think, okay, what should I do? I should move the code from here to here. And I'm going to delete two words, add three words kind of thing. I'm not like always in the instant mode, and then automatically will be sweet sweet. It will not like that. So the idea is like, I think of it, I want to insert, I put one step, I draw, I come out and think again. I want to do something, I go in, I draw again. So there's an idea of how we relate. They make an example for me. So, yeah, little did I know that actually after I jumped into the journey to foreconverting, there's no turning back. Because you would not let go what you set up. You will not let go. Actually, most of the time that they have this funny meme set, say that the learning curve of beam is like a wall. But actually, if you climb over the wall, you mostly cannot come back as well. That's why, right? So you will not let go. Okay, my journey to beam is like, I started using beam 2018 around that. This might be the six years. Actually, I'm still young. But in beam world, you never grow old. You always learn. You always follow that in the reddit of beam, everything you have something new. It's like every new journey, I would say. It's just like, not like the journey that's very bad journey. It's like when you're going to a Nirvana like that, you are like journey to the West, like monkey king like that. It's good one. It's fun, I would say. I was, I was an avid. WebStorm, Westbomber by JetBrains one. I believe their products are really good. I also using IntelliJ for Jawa. Not everything beam out there. So I think they really put a lot of thought in their products. So actually, I'm really productive using WebStorm six years ago. So I would not let go easily for what I already built up my muscle memory. So in order for me to give up and try something new, they are, I need to figure out first what my plan, my daily workflow could actually be providing me. So there are some cornerstone that I need to make sure that is set before I really jump into the hole. So I will finding one by one. First of all, I need to be able to type in. There's have to be ease when you are typing. Second one is, oh shoot, never mind. Second one is found navigation. I am a visual guy a bit on my file structure. Especially for, I would say a new code base that you never hit before. I want to see the structure. How was it? So actually I need the drawer. So somewhat a navigation of files also is what I need. Because sometimes you will be jumping three, four files on and off each other. So in WebStorm, I will use a tab. So actually it is quite easy to like a command or control one, control two, control three. I can swap it. But I need that thing. The third one is of course search and replace. There's a string there. Search and replace is for my usage. I mostly need to maybe reflect, reflect arguments. They are in the scope. They are not like, I don't need to like replace the whole code base with a certain word. There are no such a use case for me. But there might be for some other, everyone's knowledge might be different. So that's what I might search and replace. Okay. And then of course, the third one is a source control. If you can give you some, some basic pro push and if that would be good enough. That's my cornerstone. I need these four things. Okay. First thing, type thing, coding it is. Actually, I think I should just have all the way. If not, then we don't know where am I? Okay. Okay. Never mind. Never mind. Okay. First thing about being is that you heard, they will say that you don't need a mouse anymore. Yeah, that's what actually touted to me. You don't need a mouse. Oh, okay. I saved $10 for my mouse. It's good, right? I mean, I don't know. Actually, the mouse is very unhealthy for your kappa tunnel hand. Okay. Actually, I do have a friend that really get a switch to win because they really don't want to use a mouse for kappa tunnel. Okay. But I need to know that I need to run all the strokes, right? I'll show you later. I didn't make a living later. We show you a bit of what are the strokes, basically the paintings. And then of course, there are some things that we need to do for typing ease of typing. So you will have basics. You will have more advanced mapping. But along the way is a journey, right? It won't end. So actually today you learn some mapping that is very basic. But tomorrow you have a specific usage for your particular macro. Then you to map those things. Then you develop your own customized development environment. So everyone is different. There's a good and bad for this. Which means when you're done pairing, your friend cannot use your machine. So there are a few things that I am using currently. Ignore all these things because if you come back to this slide, if you are still keen, then you will know what am I talking about. Else you don't need to. Because I just mentioned here because they are my daily driver. I have some auto-complete. I believe that is built out of the box from all the current new modern editors like auto-complete or this thing. But for we, it's not. So actually you need to extend it. And then for some syntaxing, syntax highlighting is not very useful for me. But I could understand why they are benefits for some developers. But I still do some of them. And then some spell check for because I'm a type 4 master. So I hope type 4 one. So I need some spell check for myself just to not annoy my fellow deaf. Okay. There are other things for ease of typing. So okay. Next one. Project file navigation. Okay. Let me go through. Okay. They are also quite straightforward. I have to be able to jump from current file to the previous file back to the current file. At least in order I can perform my daily work efficiently. And then of course need the drawer. And a quick file name searching. Like a fuzzy file that I can just anyhow type anything then it will appear and then let me select. Okay. I need this thing. And then okay. If we know that there are a lot of bad names about the tree, they are bloated kind of thing. But I cannot get rid of it. I still using it. It's a project drawer that we show a list of files, nothing fancy just files. And then some fuzzifying for the control P. Just like your control P. Your control P you can just type anything and then you in. And then of course the T-Max. T-Max is not a bin thing if anyone already kind of thought of it. T-Max is a multiplexer. It's like you just like item you can open up a terminal of it. So they are all in one. So actually I use the T-Max for basically combined these two things. And then I have the navigator of the T-Max. Between between the bin and T-Max. That's a that's a basic. Search and replace is what I mentioned. I don't need a lot of whole code base search and place. Most I didn't know it. But it must be fast enough. So maybe later we can show a bit of the searching kind of thing. But I am kind of happy with the speed. So recently I changed from age silver searcher to red grab. Because also I'm just by and two weeks ago I switched from BIM to NBIM. So it's kind of like because I think it's a bit slow. In BIM recently I don't know why. So I switched to NBIM. NBIM is kind of like a rewritten BIM. But in Loa. So the... Okay. Go back. Oh, that's all. Yeah, okay. Hopefully it will not result in too much rubbish if I do search. Because sometimes if you search, if it's too powerful, you search all your node module. So you also don't want that happen. Yeah. So next one. What's the last one? Source control of course. I believe in everyone's heart. I don't think anyone still using SVN. Using SVN go out. Anyhow they never mind. It's okay. I was using SVN okay. Some years ago. But I think yeah, they're able to... Okay. Able to push through. Stash. Sector. Thief is mainly enough surprise for my daily work. So I don't need those like a complicated kind of a mechanism. If I need it, I will mostly use an UI. So yeah. Git. Correct and form. What else? Okay. There are a few things that I can... I can introduce if you're still coming back for the plugins and all these things. They are like say normally you will be... Visual Studio you will see that when you highlight the line, they will have this who is the last guy that will actually edit this line. Kind of like extra thing. But I would not set them up. I will only look them up if I want to. So it's... Yeah. Okay. Of course. It's all very good. But of course it has a limitation now. So there are a few limitations that I find it quite annoying. Most of the time. But that's why I've said I already... Know an impact already. So I have to eat the limitation also. Okay. Wait. What is it? Okay. Okay. I didn't set the animation for this. Yeah. Okay. Search and replace for weird characters is a bit hard in Dream. Because I think that natively they will search using regular expression. I don't know how are you going to search a weird character. We've mentioned you need a bunch of escape keys and all these things. Recently I tried to modify and set up a little bit. If I could actually use the rep to search fixed strings, which is without regular expression, try to search the literal string. Yeah. I think it's kind of working. So I'm quite happy. And copy and paste is true for... If you know that it's very hard for copy and paste from BIM terminal into somewhere else. I'm in your host machine. And it's a bit... Especially using Windows subsystem. So yeah. Now actually if I'm using MIM because it's easier already. So actually, yeah. You can just use clip ESC to run. Oh fuck. Sorry. Shit. Sorry. Sorry. Oh yeah. Sorry. I believe you can edit it. Yeah. Limitation is visually compared if you want to take this tongue. And then you want to put into your mesh conflicts. Especially if you have a long form that you are doing a lot of these things. Then you mostly want to use UI for that. Okay. I think I will put it after the next living performance. Okay. I'm done. Basically after demo I think... I will show you a bit of happiness. Happiness of what why would I show it. So I will just show our daily work space and what I'm doing. How am I navigating in and out of this thing. Yeah. Kind of. Thank you. Okay. Hi guys. Thanks for copying. I'm going to do some introduction to VIM and how does the VIM work. And I'm going to start my VIM. It's very easy to install VIM. I think it's about for all the platforms. But the easiest to install I probably use brew. If you are on Linux, probably you use ad image because sometimes I work in remote. And in remote environments it's better to use ad image for Linux. And it's pretty straightforward. Let me put up the VIM editor. Okay. This is my environment. Usually I use terminal only. Yeah. Let me put up the VIM verse. It's pretty easy to start with VIM. We just type VIM. Right. And let me load up some files so that I can go through all the motions. Yeah. Let's go through. Okay. It's very difficult to use mic with mouse. Oh, you hope for me. Thanks. Thanks. Okay. So this is how you put up VIM. You just write VIM. And most of the time a lot of people start with VIM and they don't know how to do it. They don't know how to close VIM. They can't exit. And that's a huge problem for the developers. And how you create by just typing a column here and Q. Or you can create all the files by QA. Or if you want to save, you type W. So that's how you do it. So let me create for you and then just put up again. And then load some files. Okay. So let me go through the motions here. Which I, let's start with the basic motions. VIM use, you can still use up, down, left, right keyboards. Yep. Right. So you still can use the NaviStream keys. Up, down, left, right. But once you start with your right hand holding on HJKL. And if you, most of the time, your hand don't want to leave the main keys too far away from it. Because it strain your hand, you know, moving around. Especially when you hold a mouse and so on. So the basic keys are HJKL, which is, let me show you. So you always want to hold on here, which is JK, which is up and down. You can see up and down here. Right. So you can dial fast and up very fast. Left, right with H and L. It's, I'll say it's difficult to get stuck. But once you get used to it with the muscle memory and then slowly you will be, you will never leave this key away. Right. And yeah, so this is pretty straightforward. H for left and L for right, J for down, K for up. The most important things that you want to do is that when you look at VIM, there's two modes that is pretty important. There's a normal mode and then there's an insert mode. And you always want to keep your keys in, I mean, your, what's that called? Your mode in normal mode. Most of the time you don't want to do insert mode. You don't want to touch any change. You don't want to change anything. And most of the mode is where you move around, navigate around the VIM. And it's actually pretty important. Like I can see my screen here on the bottom left, which is normal mode. That allow you to navigate around. And if it's insert mode, you can see that now it's insert mode, which I press a key, I, and you can escape by pressing escape key. So I have a cat log key, which is an escape and you, you go back to normal mode. So use I for insert or use a to insert to. A is insert inside. A is insert on the right side or on the, yeah, on the right side. Of course, you want to move around the words, for example. So let's say, again, you are in the normal mode. You want to jump from a word to a word by pressing W, W, which means words. Do mind that VIM is a programmable editor, which means every keys that they use has its own meaning. So just now we talk about I, A, and I is for insert. And now we are talking about W, jumping by W, which is word. And of course, you can jump by E. E is like the end of the word. So, and now I'm pressing B to go back to the previous keys that I pressed, previous words that I actually pressed. Yeah, so later probably I will send you guys this document share view and you can have a good overview of all this. So, of course, there are many motions keys. So let's start with those concepts of jumping around keys. Just now we talk about words. Let's say we jump one word. So one key is one word, right? One time. But you can jump multiple times. So the reason I say it's programmable is because it works like a function. So you tell the VIM to jump around. Let's say I want to jump around five words. So I just type 5W and you just jump five times. Right? So, and that's how you never use the same as going up and down. So if you want to go down for five times, let's say now you go down for five times. So you just start five and down. So that's the meaning of motions. So it's programmable because you can instruct it to do whatever you want to do. You can even say five words go inside. So five I, right? So, of course, there are some keys that you can take note with, which is that you want to go back to the top, which is called GG. GG. Go back. And then G, capital G goes down to the bottom last line. Yeah, that's okay. So, and there are some additional keys that allow you to jump quickly or navigate around very fast. You can press H is at top and then M for meter. And then you have low bottom L, which is L key. So all these keys are pretty straightforward. It has all meaning just that once you get used to the motion, I mean the memories of your muscle, then you will get used to it and so on. There are some key maps that is pretty, I would say pretty useful. For example, let's say if I have an error in my language here, let's say if I typed. So you can see on the left, there's an error message showing that on the line around my child and the thing. So sometimes you forget about it. You can jump quickly by pressing bracket and go. So it will jump back to the error location and then you can just edit quickly. Yeah, this I guess that's the motion. I'll send you guys this document that I asked to write one. Okay, sorry, I have not introduced myself. I'm a front end developer at HREF. It's been there for about nine years. So most of the time we are writing a language called OKMO and result ML is front end. So I started with those traditional tools like Peterm and then WebStorm, IntelliJ basically, and then move to VS code and then to NeoVim. By the way, NeoVim is the same as Vim just that NeoVim pre-set some settings for you once you install so that you can get stuck quickly. And NeoVim is written in raw, which is much, much faster than the traditional Vim. And it is more easy for you to program, which means you can write plugins, you can map whatever keys you want with your raw language, which is probably easier than the Vim script itself. So at first I was hesitant to switch to, you know, if the Vim navigation without using the mouse and then all is terrible, right? Because we are used to the, you know, VS code style, you know, copy, this copy paste. But AI is difficult to learn Vim at the beginning. And Kang was actually the one that forced me to get on force, but it kind of like pushed me forward to Vim. And yeah, so that's how I got it. So I started with Vim in VS code, you know, install Vim in VS code, but then you start to realize that it's very slow, it's slow, it's complicated with all the missing keys and mouse, and then my hand becomes, you know, there's a bone that bounces because you use too much. I press too hard on the key, yes. I don't know, maybe. Because recently I read a article like, you're supposed to be floating on the keys, you know, your hands, what's that called? Waste shouldn't be holding on the table. You should be floating. I don't know how you guys type. So I press too much on the table. And yeah, it's not very nice. And then, and every day I was like hearing voices from Kang. Vim, Vim, Vim. So, okay, so let's just go to Vim and leave all the VS code away because VS code is pretty slow and Vim, and there's a missing of, for example, if you want to copy some words, right? In Vim, I mean, in VS code, usually just drag your mouse, highlight the keys, highlight the words, and then control C, right? Command C, Super C or whatever to copy and paste. But then it's too complicated because like I said, you don't want to move too far away from these few keys, right? Because it's painful. It's strange your hand. Yeah, so there are a few plugins that I can't live without it. Git, well, how do I pronounce this? Fugitive, right? It's one of the most important Git plugins. And just now, Ken mentioned that he has a problem with what's emerging with Git, but Git Fugitive actually has a function called Git split, tree-based splitting. So it is actually very, very powerful and it's very lightweight, I think. And other tools like COC, which probably I'll do a demo later, and COC Explorer, which is the file structures, like your VS code, you have the files on the left screen and so on. Telescope is where I search for files. Telescope is actually, the good thing is that, let's say if you have an environment that has Git in all and it reads the in all file and then it knows all the redundant files and you just search for whatever that's supposed to be searched, but you can still include it if you want to. So recently, I replaced with some LSP to Mason. Mason is pretty cool. It helps you install any LSP and updates pretty straightforward and fast. Most of the time, I'm doing remote editing which means my environment is in the remote. Let's take AWS server, for example. Most of the time, I don't use my own PC or my own laptop to do all the work because it's very slow. The remote server has a better built system than your PC. And of course, things like TMAX has been used like forever and TMAX work very well on the remote because you don't need to leave away from the environment, the session. If you close your community, you will still be there. So you just go back to your remote environment and then TMAX back to whatever you have left over. Maybe Ken can do a demo first and I'll probably follow up with my environment on all the things that I've been using and all this. Yep. I did my best. I need the laptop that I got. Yeah, you can use it. Because I don't think it has a specific way of doing it. Okay. I need to share my screen. I will just share everything. I don't know if I could... There you go. Make it huge, hopefully. Okay, huge enough. Yeah, that's my Macs already. Hello, hello, hello. Okay. This is me. Yeah, this is my boring coming home. It's TMAX. It's inside TMAX. Actually, I might not need this. It's one of the workspace that I'm currently working. You can see that it's for Meetup. So on the right hand side, it's Meetup. So actually, normally, I will be opening up all the projects that I have on the below. So I will just switch between them. So let's say I'm working on a JIRA issue. I will be... I will be slow, sorry. Let's say I'm working on my color scheme. Then I have my tool tab here. Then I have... Let's say I'm working on my feature. Then under mom, I'm from mom. So let's say... I should look at here. Yeah, let's say I'm working on the feature. 8, 6, 5, 8, then I have a few things. So actually, I group my space like a whole. Then I don't need to jump. Because of one repo, actually under multiple edits. Okay, okay. Yeah, I'll try my best. Yeah, maybe I'll quickly show you my normal way of working. Let's say I go to the... I just downloaded this view create app. No review work, but I try my best. So actually, whenever... Every time I go into repo, I will see all the previous using files that I have. This is good one for one of the part that I'm using. So actually, I will go back to what previously I opened. So actually, let's say I go to this spec. I saw that... I go to the spec called the test file. Then I can see it directly. So actually, that's why I mentioned that. Let's say I go... This is drawer. I need it. I don't know why, but yeah. Okay, and then I will see some other file. And then I want to go back to my previous file. So I can just jump... Go back to my previous file. And then I can go in, go forward, like that. So actually, Vim gives you a very intuitive way to toggle between both files. They call it files as a buffer. So actually, you are like... You are going control O is to go out. Control I is to go in. So actually, you go in, go in. You can keep going in. And then you can go out. Basically, like a recursive stack. You go in, go in there. Then you can reel it back. So you can keep jumping inside a reference. Go into the function. Then go into other place. Then you can go back to where you begin with. So that's one of the ways. The second one is I try this Vim... Here, literally the Vim source code. I pull out from the GitHub one. So actually, I try this file. And then normally my search would be like that. I have an underlying quick link to search. Let's say in the Vim repo, mostly if I search Vim, they won't have it a lot. I'll assume that a lot. Okay, that's right. I enter and then I see the result. The result actually is 50K of Vim found. The word found. Actually, I believe that it's faster now for me. So actually, I think it's good because except I don't need to replace them, but mostly I want to look for them. So actually, if I search through a code base that has a lot of similar words, I want them together in one place. So I can sort through this kind of thing. So normally, after I search, I most likely want to filter. Because I have 50K, I don't want to see 15K result. So normally, I will use the underpin to say, oh, I just want to keep all the found with a TFC. Then it will reduce it back to 20K. Then I solely filter. Then I know that what's up until a filter pointed. I want to then I can just go into a file and do my editing. That's my normal way to do this thing. So yes, and then because our current structure is like, I have a project folder. Inside a project folder, we are running a lot of mono repo. So far, I think around 130 repo inside. So actually, if I want to search a whole entire thing, I could and it's fast. So actually, that's one of the good things I'm using. And then I already show you the team up thing. And then the other one is version control. I believe I have a version control. Okay. Let's say I go back to the one that I have. This one. This guy is a test file. Normally, I just tell me mention regarding testing. We do a lot of unit testing. So actually, we also want it to be fast to test. So actually, when I write a test inside here, I normally open a test and then on that particular test itself. So actually, I know that at least that test won't fail. So when I'm working with it, I just want to focus on the test test. So yeah, I could write normally for JavaScript, but you can just focus this guy and then you can just focus in. Also can just a different workflow. So and then other thing is auto complete, right? Auto complete. I have it. I also have to complete. So normally, I will use auto complete for special console because we type console like day in and day out. So like console, I have my own console. So actually this is a pudding from, okay, what's the file that you currently, and then you just need to give it a variable that you want to create. So that's kind of like a quick way to do all the snippets and auto complete them. And that's for testing and navigation. And then yeah, and then the other one is, okay, just give me one moment and then I try to add something. Okay, let's say I add this one. Then normally if I add it in, I will have... Oh, she's not a good report. I put it, I just created it. I think I could try... Oh yeah, I'm in here. Then let's say I change something. I don't know what I change. I save it. Then I look at it. Oh, then I see there's a file change, right? So actually I can look at it. There's a leaf between left and right. So I just want to mention the... Max mentioned that actually they are... They are a three-way split. It's when I try to resolve, then we open up a three-way split. But that one, I think it's hard to... I just want to try it all out because I need to change something and then pull something and then it will create them. Okay, but roughly you know the idea. It's like, okay, I see the left-hand side, I see the right-hand side. Then actually if I don't want... Actually they are grouped by hung. So actually you know that this hung currently is has a... from nothing to have something. So if I don't want it, right? I just say to take it from the other side. So I take it on my side. So I just reverse back to the thing. It's just like that. Then I can save it and then I can stage it. So if it is that individual hung, I still can do manipulation. So you see there are... Okay, this one actually can open up. What is the changes that I... Or I add in this thing, I can add a line and then I stage it. I only stage that bit. You will see... Okay, let me try. Let me try to edit two places. Would most edit far enough. Then I will look into it. Then just now the one that I stage is under the stage. The not stage is still not stage. Then I can only commit the one that I want to. So actually you can look at which one is. I believe that far, source tree, all these things, you can do this kind of thing. You can even click on it or which one you want to select. It's still the same, basically. It's just a different work form. And then the other one is... Yeah, editing. Editing for real, actually, I would say that because they are so many ways to achieve certain things. For a block of changes, normally I would use... I still use the visual because I found that this visual has helped me a lot because when I'm doing pairing, at least I know that if I'm learning remote, they can see what am I doing. Instead of... Because we can let you do a certain block of things without you even seeing the cursor moving. So I might not know because I want to say that I want to change in the block. I just see IP, then I can change the block, but people will not know. So I need to literally highlight it. I change the block, then I see, then I can change it. So they would actually at least have a visual cue that okay, you are changing the block. Instead of you... They don't know what are you doing. So yeah, that's it. And then I have some key mapping. I'll say... Okay, it's a default one. Actually, you can jump down a certain page quickly or jump up on the page quickly. So I don't... I seldom use the motion. Because every time you want to... you want to count, it's very taxing for me. Let's say I want to jump five words. Then I do five W. It's a bit too much. So I will just use... left one. I still press, because it's not arrow key. It's still a HIG name. I mean H-J-K after. But I make the repeat faster on my system. So I would just basically achieve the same thing instead of a W-W-W and bang, bang, bang, bang. Of course. But that's not my thing. I'm not believing in super purists. So as soon as you find your balance, then I think it's good, not worrying. I think roughly that's it. Anything that you want to see see or you want to check how I do. Huh? Is it? Actually, okay, let's see. Okay, I mostly cannot show the code. But if you have any, I will try. Let me try, let me try. Let's say you have this mouse. You know that the mouse is from B-test, mostly. I don't know. Actually, you can go into the library of course. But mostly, you don't know what they say. So I will not touch the library at this point. I only would like create a new repo for just for that purpose. And then you can just jump out back. You can jump over and jump out back. Default, there are already some omnifunction that you can also complete. But there are always extension that you want to tune. So actually, because you might need to control X, control C in order to complete. But it's a bit hard, I would say. It's just like, what Max you are mentioning. Actually, before this, I was using T-Max to just connect to a remote. Yes, I used T-Max. So the session actually is quite good because you close your laptop, you don't need to care about the thing being closed down. When you open up, you join it back to the session. You attach it back to the session, then you can continue working. So I think that's a... Yes. Because they beam and nail beam, actually the requirement is actually quite low, I would say. So actually, you still can run it quite efficiently. So I am that. Okay, cool. It's my time to show off my system beam. So same as Max, I mean, same as can, I have T-Max put it up as you can see that this is T-Max with the environment. I can create multiple environments. Let's say if I create a new one, which is type command B, C. So you can create a new T-Max session, which is on, you see that which is tree. So now you can change the name. Change the name to this. Right. So of course, T-Max is pretty pretty cool. I can say once it's attached to a session, if you work on remote or some environments that never close your computer or never shut down your computer and you can just go back to your previous session. So I usually split them into top and bottom. So I can just do command B and dash, which is split horizontally. Of course, you can do vertically by command B and shift dash. I can exit this environment that I need to boot up the view in this project called PR token, which is my own project. So I use telescope. So this telescope, the different thing that I, the way that I search for files and and from can is that telescope allows you to do search in text or you can also load of files. So and of course, there are many other things like you can just check out the telegram, I mean the telescope thing, like telescope. So they provide quite a lot of this, like even like key maps. So it allows you to check which key that you have by to, for example, I have by cn in in a CoC function. So so it's technical score is really, really useful and it's much readable than the traditional way of searching and you can install it and play around. So let me know how you found and then we can see how I use in my in my work environment to test model. So as you can see, I'm writing in a language called rescript. This is very similar to JavaScript and React of rescript. So there are some types. So I have some file structure that is I press space E I bring up my folder which is in this VIN that I open whichever environment, whichever folder that you open up VIN with it will be stored in this buffer. And you can see that on top, I have a buffer file name it's called taskmodel.res I can open up another file let's say read me. Right. And then you can navigate around by using J or K. Do my thing that this is not the tab in VS code all the files that you open is just a tab but in Vimis it's called buffer. So of course you can check out all the buffers by using by reading buffers there's a buffers here one and 39 I can exit a buffer by doing really a buffer and yeah so that's my environment but just now I mentioned that there are a few modes to note that in Vim we have normal mode but we also have visual mode visual mode is where you want to highlight things so let's say you want to highlight the first one which is not sure if you can see the highlight you can see the highlight so this is visual mode and there's another one called block visual mode is like selecting a line or multiple lines or whatever so you have block modes which allow you to do block selecting can you see that that I'm selecting a block from up to down to this block and then I can select this block the good thing about the block editing is that you can edit multiple blocks of text that you want to edit I can straight away go into insert mode by typing first character hello and then when I escape it will it will repeat the rest of the highlighted blocks so this is block mode which is very very useful so there are a few plugins that I use which is just how I mentioned buffer buffer line buffer line I'll show you some plugins that I use regularly let me go to the plugins and one of the git stuff that I use is called lazy git I used to use a lot of sauce tree and it's actually very very cool I mean very nice it's great you can use a mouse straight around stash or whatever you want to test but you don't have this kind of great in terminal so that's a it's not it's not just a vimplug it's also terminal what's it called terminal tools so you can let me open up the lazy git which is very intuitive you can see that on the status you have all the changes that you did on the first screen and go to the next screen which is your branch and so on and then call me of course you can you can go back to go to the go insert into the changes that you did on this file and jump inside and so if you are not familiar you can just type question mark it will bring up all the keys that you can use and it's quite useful for me as you can see that I have buffer like install so I can jump from previous buffer to the next buffer quickly by navigating in command j and command k so it's pretty fast for me to go around of course you can if you want to open a new tab just tab new but this is different from buffer tab and buffer is very different and buffer is like let's say if you jump out of your vim as it when you go back to your go back to your vim file again the buffer is still there so you can still do undo redo again or whatever things that you have done before so this is very useful the few things that I use as pretty similar to can we have COC which let's say if I type something let and then you can see that there's a auto complete showing up which is here and of course the same as if you have LXP installed it will show you the reference the types and all this for you so so yeah this is it's quite nice yeah yeah I guess that's that's about my environment that if you if you are interested we can explore more together so yeah okay cool okay okay thanks