My Journey of Using Vim for Java Development

Sdílet
Vložit
  • čas přidán 28. 07. 2024

Komentáře • 69

  • @SeniorMarsTries
    @SeniorMarsTries  Před 4 lety +27

    Start: 0:00
    Warnings: 1:21
    Vim part 1: 4:20
    In order:
    :help 'complete'
    :help i_CTRL-X_CTRL-L
    :help i_CTRL-X_CTRL-N
    :help i_CTRL-N
    :help i_CTRL-R
    :help quote_=
    :help :terminal
    :help filter
    :help make
    :help makeprg
    :help quickfix
    :help copen
    :help vimgrep
    :help s_c
    :help s_g
    :help path
    :help gf
    :help 'suffixesadd'
    Vim part 2: 27:05
    Some links are in the description!
    GNU make
    jdb
    ctags
    Vim part 3: 32:50
    :help filetype-indent-on
    :help filetype-plugin-on
    :help syntax
    :help hidden
    :help backspace
    :help omnifunc
    :help i_CTRL-X_CTRL-O
    :help -u
    :help nocp
    :help map-commands
    :help 'laststatus'
    :help showcmd
    :help autocmd
    :help errorformat
    :help errorformat-javac
    :help augroup
    :help runtime
    :help runtimepath
    :help compiler
    :help write-compiler-plugin
    :help after-directory
    :help ftplugin
    :help cwindow
    :help expand
    :help :map-arguments
    :help cd
    :help CTRL-W
    :help resize
    :help grep
    :help 'grepformat'
    Part 3
    Neovim (introduction): 1:11:29
    :help vim-differences
    :help 'inccomand'
    :help packages
    Neovim plugins (coc): 1:14:21
    coc-java: 1:22:01
    snippets: 1:24:52
    coc-settings: 1:32:02
    vimspector: 1:33:22
    Part 4 - my workflow: 1:43:04
    :help undofile
    :help undodir
    mksession: 1:52:18
    :help mksession
    Part 5 - afterthoughts: 1:53:54

    • @potatolord2858
      @potatolord2858 Před 3 lety

      put these in the description, great vid btw ;3

  • @sebastiansoto3595
    @sebastiansoto3595 Před 3 lety +8

    I liked the content, and appreciate the time stamps. Great work! Thank you for your time and effort put into making this video

  • @SamSam-df4xp
    @SamSam-df4xp Před 3 lety

    Absolutely fantastic!!!! Thank you so much.

  • @sebascm7278
    @sebascm7278 Před 4 lety

    Awesome! thank you so much. I was looking for a video on this topic

  • @lelandkwong
    @lelandkwong Před 3 lety +10

    Glad you're sticking with vim! I used to be a die hard vs code user. Then someone showed me the light on vim and I haven't looked back since. Once you learn how to write your own plugins for vim, the skies the limit and it fits you like a glove. I've pretty much ditched all the different GUI tools that I relied on because I can accomplish everything in vim + terminal. It does take some time to setup, but once you get the hang of it, it is an absolute joy to work with.

    • @kqvanity
      @kqvanity Před 2 lety

      how about the robust support for languages , different libraries and frameworks that can be feasibly enabled by default with big IDEs like vscode ?

    • @aleaallee
      @aleaallee Před rokem

      Why did you choose Vim over VSCode?

    • @vikingthedude
      @vikingthedude Před 10 měsíci

      @@kqvanity Libs and frameworks have nothing to do with the editor. If you're referring to intellisense/autocomplete/etc, vim (neovim specifically) has LSP integration, treesitter for smart editing, nvim-cmp for autocompletion. So it's all there

    • @kqvanity
      @kqvanity Před 10 měsíci

      I generally find that some enterprise IDEs offer way more than what vanilla LSP server offers. I for example work with JVM languages, and nearly none but IntelliJ can undertake project of a scale. I mean intricate details like Indexing, error formatting, GUI debugging, etc.

  • @LeBossuMauve
    @LeBossuMauve Před 4 lety

    How do you refactor a type in Java and vim?

  • @danielhvs70
    @danielhvs70 Před 2 lety

    Awesome content! Thank you

  • @joaorodrigues4336
    @joaorodrigues4336 Před 8 měsíci

    thanks man!
    Great work!

  • @martinsauer4854
    @martinsauer4854 Před 3 lety +3

    I actually use micro text editor for Java development which I really like.
    For compiling and doing stuff with files I usually write my own bash scripts, so I just have to enter one keyword and everything gets compiled, moved into right directories and at the end the program also gets executed.
    For debugging I usually use the jdb (Java Debugger) command line tool.
    For looking up definitions or code examples I always have the Java documentation opened.
    Also micro has built in search functions to jump around in my code.
    For me it works really great and I feel like this is the best way to learn everything about the programming language and managing your files etc. instead of just clicking a green arrow without ever questioning what’s happening there.
    You also will get better in Java because this way you have to memorize Syntax and common used methods etc.
    Also it’s way faster in everything than IntelliJ for example.
    I literally can create a new Java project, the directories inside the project folder, a sample Main Class, the scripts for compiling etc and launching the editor with the Main class loaded in less than a second thanks to aliases, bash scripts etc..
    I also find the programs run smoother than with IntelliJ. For example when I have some GUI application where I click a button that outputs Text at the CLI, there’s always some delay in IntelliJ while it’s instant in the terminal.

    • @SbF6H
      @SbF6H Před rokem

      Bro, you're supposed to use a build system to compile Java not a fucking Bash script. You sound like a cringe elitist Linux user.

  • @jessedarko
    @jessedarko Před 4 lety +1

    Fantastic video. Thanks. (Also, change your batteries in your smoke alarm 😉)

    • @SeniorMarsTries
      @SeniorMarsTries  Před 4 lety

      Honestly, I agree. I guess I have gotten used to the noise I am no longer able to hear it.

  • @victorespiritusantiago8664

    Fantastic video.....!

  • @vonelfensenf8151
    @vonelfensenf8151 Před 4 lety +2

    Just a quick "correction" you can change inside curly parens with capital B like 'ciB' but targets.vim or welle.vim are still pretty great!

  • @arleydavidvelasco5761
    @arleydavidvelasco5761 Před 3 lety

    Can i generate serialversionUID in java with vim?

  • @gowancephus1872
    @gowancephus1872 Před 3 lety +3

    Ey bro, this is a very informative walk-through, thank you.
    I'm also in love with your window manager.
    What's its name?

    • @SeniorMarsTries
      @SeniorMarsTries  Před 3 lety +1

      I use bspwm now, but at the time of the video it was i3-wm-gaps.

  • @user-jo5yn3nk2h
    @user-jo5yn3nk2h Před 3 lety

    Thank you for sharing your great video. I’m Beginner, is is possible using your settings on windows 10?

  • @javaprodigy9734
    @javaprodigy9734 Před měsícem

    THANK YOU SIRE...🙂

  • @juansalazar5983
    @juansalazar5983 Před 2 lety

    3:20 best advise for me, thanks!

  • @shawnali4742
    @shawnali4742 Před 4 lety

    Also idk if I missed it but I’d their a way to press one button and compile save and run a file

    • @SeniorMarsTries
      @SeniorMarsTries  Před 4 lety

      I guess you would make a custom keybind. However, in case of erros when you compile, I would suggest keeping the keybinds separate.

  • @I_Lemaire
    @I_Lemaire Před rokem

    VSCodeVim and IdeaVim for Intelij. Yes, sir.

  • @celestialadministration

    What window tiling manager are you using?

  • @yetanothercoder
    @yetanothercoder Před 3 lety

    Awesome.

  • @lupanama1960
    @lupanama1960 Před 3 lety

    do you share your dotfiles somewhere? your theme looks great

  • @ivans3806
    @ivans3806 Před 4 lety +2

    I'm not sure you mention somewhere in the video, but your setup looks very /r/unixporn worthy. Care to elaborate what WM/bar/shell you're using?

    • @SeniorMarsTries
      @SeniorMarsTries  Před 4 lety +1

      I am using i3 (with gaps) and my bar is a custom polybar I made. Finally for my terminal, I am using alacritty.

    • @ivans3806
      @ivans3806 Před 4 lety

      @@SeniorMarsTries Thanks!

  • @markpi2350
    @markpi2350 Před 3 lety

    great!

  • @shawnali4742
    @shawnali4742 Před 4 lety

    What color scheme is that?

    • @SeniorMarsTries
      @SeniorMarsTries  Před 4 lety

      It's just my terminal (alacritty)'s color scheme. Just search up alacritty and then gruvbox color scheme. I modified it a bit.

  • @bananablitzcoding1696
    @bananablitzcoding1696 Před 2 lety

    How are you able to fold lines like that? Is there a plugin you use?

    • @SeniorMarsTries
      @SeniorMarsTries  Před 2 lety

      I did not use any plugins that modify folds in this video, but I currently use tree-sitter to apply folds to my code.

    • @javaprodigy9734
      @javaprodigy9734 Před měsícem

      @@SeniorMarsTries I was searching through the comments for the same thing - TITLE and contents nested and folded. What plugin is that, can you please put us to the right direction. Your VDO is awesome, and "HELLO WORLD" laugh was great. :O

  • @ravananasuran
    @ravananasuran Před 2 lety

    bro how you place the ---insert-- line in bottom of the vim i tried alot but i cant solution

  • @juligomez2493
    @juligomez2493 Před 2 lety

    Bar?

  • @RTolstosheyev
    @RTolstosheyev Před 3 lety

    Thank you for this excellent guide!

  • @_XY_
    @_XY_ Před 2 lety

    Nice

  • @zeocamo
    @zeocamo Před 3 lety

    also there is plugins that give you org-mode in vim, and there is also more light wight pulgin that give you the org-mode with markdown, if you only use a small subset of org as must org-mode user do.
    also neovim can do all the unicode chars. that emacs can do, this is false

  • @thelamarcke
    @thelamarcke Před rokem

    You sure don't sound like a high schooler lol
    Nice video by the way, really good to see your insights in the warning bit.

  • @mastercode7851
    @mastercode7851 Před 2 lety

    What OS u using ?

  • @gowancephus1872
    @gowancephus1872 Před 3 lety

    Can you please do a video on Android development using vim!
    We'd very much appreciate it.
    I've been struggling for days on it now.

  • @dadmda123
    @dadmda123 Před 2 lety

    Yeah I doubt I could use this, my code base is too big for vim and finding errors and debugging would be a pain in the ass

  • @zeocamo
    @zeocamo Před 3 lety

    Neovim can do all what a IDE can, it got buildin LSP and DAP, it got a plugin for each of the things you need, i use nvim for c,c++,php,pyhton,css,html,js,ts,rust,c# and java, and it just works, but that sayed you don't need or use 80% of the features of a IDE, diff. people use diff. features and never it all, so why use that kind of thing.
    you can setup neovim for java within 10/15 mins and then you got all the things like goto def. find ref. rename symbol, auto import etc. from LSP
    the point with neovim is that you start with a empty config and all the stuff you need and use so you get a IDE without all the stuff you dont need from the other IDE

    • @SeniorMarsTries
      @SeniorMarsTries  Před 3 lety +2

      You know, I really like the fact that we modernized some vim methods to compete with "modern" text editors, but most of the times I find that using ctags is faster in helping me navigate my code then "go to definition". I feel like there are some vim features that should be highlighted and learned first before people make the move to a totally "modern" setup as you suggest. In either case, these accomplishments are worth celebrating.

    • @zeocamo
      @zeocamo Před 3 lety

      @@SeniorMarsTries and if you like ctags use them, the best thing about vim is that it can fit anyone .. and be just want you need

  • @dwnthk
    @dwnthk Před 3 lety

    I love Vi in Linux. But in Windows, Vi is not really good to use.

    • @SeniorMarsTries
      @SeniorMarsTries  Před 3 lety

      I love a unix environment on windows, so I have installed WSL to make sure I have one. Now I can use vim on windows it's natural.

  • @k46926472
    @k46926472 Před 2 lety

    You means that we should not use vim for java so why I'm here ?