Fork me on GitHub
#vim
<
2019-11-06
>
Aleksander09:11:24

Vim embedded into running Clojure program. "By running inside your project, it has complete access to the running state of your program. The ambition is to create something that follows the Lisp and Smalltalk tradition, blurring the line between your tools and your code to provide unprecedented interactivity." Learned about this project from browsing ClojuristTogether applicants. Pretty cool! https://sekao.net/paravim/

zyxmn10:11:34

Looks like I am starting to need a tree view for projects now due to working on multiple repos at the same time . Any recommendations fellas? Looking for something very minimalist and easy to use. I am using Vim 8

dharrigan11:11:29

nerdtree ftw!

dave11:11:14

I've tried a few different things and landed on vimfiler

zyxmn11:11:37

Will look at both thanks guys šŸ˜„

walterl11:11:20

@zyxmndaleyjes When I go cross-repo, I normally have a terminal window (and desktop) per repo. But if you want to go minimal in a single vim instance, how about setting upper case marks (`{A-Z}`) in some common file in each project, jumping there with ', and fuzzy finding for specific files from there?

zyxmn11:11:45

Woo, will try that out . I need a single instance because I might move code between repos and haven't configured yank to clipboard yet .

walterl12:11:30

Yeah, I made sure I solved the copy/paste problem šŸ˜œ https://github.com/walterl/dotfiles/blob/master/nvim/init.vim#L311

šŸ‘Œ 4
walterl11:11:02

Upper case marks are way too underutilized. By myself included šŸ˜

dave12:11:17

I only just recently learned about uppercase marks. My perception of marks is changed forever!

āž• 4
herald12:11:43

When I have multiple repos in one vim instance, I keep each repo in its own tab and use :lcd %:h to change the cd for that tab. Then I can open nerdtree, other files in the repo, etc. and each tab will practically have its own cd.

Aleksander12:11:40

that is very nice indeed!

walterl12:11:00

I wasn't aware of just how usable the Lua engine in Neovim is/was

walterl12:11:00

@regen's tab-per-repo somehow reminded me of another mini-workflow that I wanted to share, specifically for navigating code: when exploring/reading through code, I like to be able to jump back and forth between a symbol and its definition (e.g. a function's use and it's definition), and that usually goes multiple levels deep, jumping from definition to another, to another. I know I can <C-o>/`<C-i>` to navigate the jump list, but that quickly changes as I navigate around to surrounding code. What I've started doing is... ā€¢ create a new vertical split (`<C-w>v`) ā€¢ gd (for me mapped to <Plug>(coc-definition)) in the new split ā€¢ repeat for every new symbol This ends up creating a vertical "list" of windows which represents the jump path I took to get here. I can navigate through them with <C-w>h/`<C-w>l`k, and see the code symbol and its definition side-by-side. With set winwidth=80 I also make sure that my current window always gets enough space to work in. It's not a perfect workflow, but it appeals to my brain's preference for visual/spacial thinking.

herald12:11:57

that sounds useful! I didn't know about increasing winwidth. The default of 20 has always been the reason why I don't make many vertical splits (the window becomes too narrow to work with). Never thought about finding the option and increasing it [[=

herald12:11:12

damn, with winwidth and winheight set I feel I can have as many splits as I've ever wanted!

šŸ’Æ 4
schmee13:11:41

also, ctrl+w = makes all your splits equal size

šŸ¤Æ 4
schmee13:11:44

best command ever

Olical13:11:37

I wrote up a short-ish guide on getting into Clojure / Neovim / Conjure, assuming you have a blank Neovim to start with šŸ˜„ Getting started with Clojure, Neovim and Conjure in minutes https://oli.me.uk/getting-started-with-clojure-neovim-and-conjure-in-minutes/

šŸ‘ 20
heefoo16:11:15

@olical shadow-cljs is still quirky with conjure

heefoo16:11:36

Now i cannot connect

heefoo16:11:07

just letting you know

mruzekw16:11:53

@U05224H0W Might be able to help here

Olical17:11:00

Yeah, its internal shadow stuff I think, I wrote this to help nail down the prepl spec for others: https://oli.me.uk/clojure-prepl-for-tool-authors/

heefoo13:11:43

nice article !