The Vim project has changed a bit within the last year for various reasons. The talk will describe what changed within the Vim project, how it is currently managed, what we have achieved so far, how Vim is now developed and what might be ahead in the future.
Christian Brabandt has been working in the IT industry for more than 20 years, mostly as consultant in various roles. He is currently employed with Ataccama and working as platform consultant in which role he has been using Vi(m) on several different platforms to support customers with their software stack.
He got involved with Vim in the early 2000s and has been slowly becoming more and more active in the wider vim community from participating in various forums and mailing lists, Vim plugin development, bug reporting and later contributing patches regularly as well as helping with the infrastructure in the Vim project. Since 2023 he has become one of the main maintainers of the Vim project after the passing of long time leader and benevolent dictator for life Bram Moolenaar. In this role he has been helping steering the project and continuing the development of Vim trying to make sure the project remains active and healthy.
When you mention “vim” and “speed”, people immediately think of editing text quickly, navigating efficiently or the raw performance of the editor. Instead, I want to talk about how exploring, customizing, and iterating within Vim itself changed my career.
TJ DeVries is a long time Neovim contributor and the author of telescope.nvim. He is currently a programming content creator who also happens to sell coffee beans over SSH. When he’s not exploring new programming languages or creating ways to configure Neovim with CSS, he enjoys spending time with his wife, three kids and goofy German Shepherd.
Dive deep into one of Vim’s most powerful yet often underutilized features: quickfix. This talk will guide you through the journey from basic usage to advanced techniques, showing how quickfix can dramatically enhance your editing efficiency.
Server-side software engineer specializing in Go, based in Tokyo with over 15 years of Vim experience. Currently working on a massive codebase exceeding 1 million lines, where Vim is an indispensable tool for daily development. Has also contributed to Vim-related publications in the past. Co-organizer of gorilla.vim, a community event for Vim users focused on sharing knowledge, fostering connections, and practical learning.
By understanding the internal implementation of Vim script, we aim to explore more effective ways to write Vim script. As of 2024, there are two main implementations of Vim script: one by Vim and a derivative implementation by Neovim. Additionally, with the introduction of Vim9 script into Vim, the processing of built-in functions has become more complex due to the intertwined handling required for both scripts. In this presentation, we will delve into the internal workings of Vim script and Vim9 script, with the goal of empowering you to hack Vim script more effectively.
Let’s say you’re writing code in an application project, and are suddenly alerted to an issue that requires you to fix a configuration file that resides in another infrastructure project. In such situations, you want to switch to the infrastructure project as soon as possible, and after fixing the issue, you want to return to what you were doing in the application project. In this talk, I will show my tricks and tips for switching between projects quickly and smoothly in Vim. I will also demystify the “Session” feature in Vim/Neovim, that is the key for switching between projects.
Are you editing text at the speed of thought? I’m editing text at the speed of thought, but my thoughts often come to a standstill. By having an LLM write text for me during these pauses in thought, I can edit text faster than the speed of thought. In this presentation, I will share how to create a code generation plugin using a local LLM and the challenges involved. Let’s actively develop similar plugins together and improve our productivity in Vim.
Vim is great. Containers are great too. But combining them is not as easy as VSCode. We have created a few tools to make it easier to combine them for development. I will talk about why I made the tool, its overview, how it works, and the challenges I faced.
In the world of frontend development, VSCode currently reigns as the mainstream editor. However, Neovim, with its high customizability and lightweight nature, has the potential to provide a development experience that rivals or even surpasses that of VSCode.
This presentation will explore how to achieve a development experience superior to VSCode using Neovim. We’ll cover LSP setup, AI-powered tools, and efficient workflows using macros, snippets, and terminal integration. Practical techniques and browser integration will be demonstrated in a live coding session, showcasing how Neovim can significantly boost productivity in modern frontend development.
Neovim’s extensibility makes it a powerful platform for building custom plugins tailored to your unique needs.
In this talk, I’ll guide you through the process of developing Neovim plugins, from setting up your development environment to creating feature-rich extensions that enhance your editing experience and tips on how best to publish and maintain them.
Whether you’re looking to contribute to an existing plugin, automate your repetitive tasks, integrate neovim with other tools you use, or customize your editor’s behavior, this session will equip you with the knowledge and tools to build your own Neovim plugins like a pro.
All while having fun along the way!
Hi VimConf, I’m Abhishek Keshri, working with Incubyte as a Tech Lead. I have been using Vim and Neovim for over 6 years and have published a few plugins. I find joy in the command line and strive to develop efficient systems and workflows that help developers.
I’m very excited to share my knowledge and learn from all of you.
“Yet another”
We programmers often encounter the phrase “Yet another.” For example, a search for “Yet another” on GitHub will return around 37,000 repositories. Why do programmers love using this phrase so much? Personally, I often use it as a light-hearted excuse, as if to say, “Yes, I know I’m reinventing the wheel.”
Which brings me to what I’ll be discussing at VimConf 2024: a new “Yet another” fuzzy finder called Fall. Fully aware that I’m reinventing the wheel, I even started Fall’s README with “Yet another.”
Wise men say not to reinvent the wheel, but I can’t help doing exactly that. In my presentation, I’ll explore the world of existing fuzzy finders, share what I look for in one, and discuss the design philosophy behind Fall.
I have created the dark deno powered plugins. What is the dark deno powered?
It is:
Complex
Hard
You need to configure all
Extensible
Created by denops.vim with Deno
Real minimal
I introduce the plugins and my philosophy’s.
I have been contributing to the Vim community for many years and have extensive knowledge of both the core application and plugins. As a regular presenter at VimConf in the past, I haven’t had the opportunity to present for a long time due to the cancellation of VimConf. This time, to commemorate the revival of VimConf, I would like to introduce the plugins I have created and my plugin philosophy (real minimal) for the first time in a while.
In Japan (vim-jp), plugins that “you have to configure everything yourself” have gained a place as the de facto standard, but they are a pain because you have to configure everything yourself. I’d like to introduce rocks.nvim, which was created based on the concept that “you don’t have to configure everything yourself, rather the plugin author should do it.”
“あなたのvimrcの信念は何ですか”
筆者は数年vimを使い続けており、その間に学生から社会人へとライフステージが変化しました。
学生の間は現在と比較して無限とも思える時間があったため、様々な試行錯誤ができましたが、今となっては限られた時間でvimrcをメンテナンスする必要が出てきました。
その中で、変えざるを得なかった信念も幾つかありますが、変わらなかった信念もあります。
本発表ではこれまでのvim生の中で変化した信念、変化しなかった信念とその信念を実現するための手段としてのプラグイン作成についてお話しします。
LSPクライアントやnvim-treesitter、denops.vimやskkeletonなど外部に依存するプログラムやデータが必要なプラグインは通常のVimプラグインと比べ管理が困難です。Nixというこの課題をユニークなアプローチで解決する手段について紹介します。
みなさんはVim/Neovimでどのようなプログラミング言語を使い、何のシステムを開発しているでしょうか?
おそらくほとんどの方がサーバーサイドやCLIツールを開発しているでしょう。
しかし私はiOSアプリ開発をメインで行っているエンジニアです。 何とかしてNeovimを活かせないかと模索した結果、複数のプラグインやプロトコルを用いることで、ある程度は開発できるようになりました。
本LTではそのために必要な技術を紹介します。 LSPはほとんどの方が知っていそうなので、DAPを中心に説明するつもりです。
既存のコードに新機能を追加したり、バグを修正したりする際に、意図せず他の機能に影響を与えてしまうことは避けなければなりません。 この課題を克服するために、自動テストの導入が欠かせません。
本発表では、Vim プラグイン開発における自動テストの重要性を確認し、テスティングフレームワークの選定方法や具体的なテストケースの作成方法、 さらにはメンテナンスを容易にするための効率的なフローについて詳しく解説します。 既存のコードの品質を向上させ、新機能の追加やバグ修正をより安全に行える方法をお伝えします。
Vim’s help is a wealth of information, but navigating it can sometimes feel overwhelming. What if using it could be not only easier but enjoyable? In this session, I’ll share practical tips to make the help system more approachable, along with hidden gems that reveal the more intriguing aspects of Vim. From surprising design insights to historical tidbits, you’ll leave with the confidence and curiosity to explore Vim’s help like never before. Ready to turn Vim’s help into your favorite tool?