📒1時間でVimに惚れるチュートリアル - Minerva
筆者はこれまで、定期的にVimのプラグイン紹介の記事を定期的に投稿していたのですが、2019年のVim AdventCalenaderに投稿したNeovimでモダンなPython環境を構築するv2(LSPを添えて)以降、ほとんどプラグイン紹介記事を執筆していませんでした。 他のかたの記載されるNeovim環境構築記事を見るたびに、筆者も自分の環境を紹介したいと常々思っていました。 ワシの使っているNeovimプラグインは200個近くあるぞ vim沼: NeovimのReact、TypeScript、Tailwind CSS用セットアップ Neovimでのフロントエンド開発環境 2022 しかしNeovim v0.5のリリース以降、増え続けるluaプラグインの洪水に飲まれ、筆者のNeovim環境はプラグインを入れては消しを繰り返し、安定しない日々を過ごしていました。 Neovim v0.5リ
この記事中のコードはとりあえず bash/zsh(私の普段使いのシェル) 向けのコードになっています。他の環境の方はイイカンジに読み替えてもらえるとありがたいです。 モチベーション 私は以下のような感じで、ソフトウェアを一括アップデートできるようなコマンドを用意して、適当にこのコマンドを叩くことでソフトウェアのアップデートをしています。 function update-softwares() { local password='' sudo -k # Reset sudo credential cache echo -n 'Password:'; read -s password; while ! sudo -Svp '' &> /dev/null <<< $password; do echo echo 'Sorry, try again.' echo -n 'Password:'; re
始めに 最近、業務で自分のVimを使いながら、Vimの良さを伝えています。 そんな中で分かったことが、Vimの良さを伝えるときに相手にとって一番有益な情報は、Vimの中で生活することではないということです。(それは本当にそう、何を当り前のことを…。) そもそも普段VSCodeやIDEといったエディタを使っている方からすると、Vimは不便なエディタであり、サーバーに入ったとき止むを得ず使うエディタなのです。 普段Vimmerが何気なく使っているキーバインドでも、Vimを使い慣れない人からしたら、目から鱗の超絶便利機能だったりします。 この記事ではVimの良さを伝えたいけど、何を教えると喜んでもらえる操作なのか、それに少し気がついた気がするので、それを共有したいと思います。 対象とする読者 ある程度Vimの操作ができる人で、Vimの良さを伝えたいという思いがある人。 注意点 無理に勧めない。
Bram Moolenaar the Creator of Vim 2023年8月5日、悲しい知らせが入ってきました。長年、多くのエンジニアに愛され今もなお使われ続けているテキストエディタVimの作者Bram Moolenaar氏が同月3日に亡くなったという知らせです。ショックでしばらく信じることができませんでした。 筆者は長年Vimを使い、Vimに多くのコントリビュートを行ったり、その都度Bram氏と対話したり議論したりしてきました。そのBram氏が突然、この世界からいなくなってしまったことをしばらく受け入れられなかったからです。 本記事では追悼の意味を込め、Bram氏がどのようにVimの開発を始め、Vimがどのように広まっていったのか、また長年Vimを追い続けてきた筆者から見たBram氏の人物像を筆者の思いを交えて解説していきます。 Vimの歴史 Bram氏についてお話しする前に、まず
ここでいくつかのルールとして motion-count-multiplied 例えば10jで十行下へ移動、d2kで上2行を削除など operator-doubled 例えばyy, dd, cc, >>とか、2回繰り返すとカーサーのある行に動作する upper case operator 例えばc->C、d->D, y->Yのように、現在のカーサーから行の最後まで動作するケースと、対になっている(逆の機能を持つ)ケース、例えばp->P, o->O, n->N, a->A, i->I, f->Fなど)に大まかに分けられる exclusive inclusive 例えば、yiw vs yaw, cib vs cabの違いで、テキストオブジェクトの内部(inner)だけか、境界線も含めるか(around) があります。これらのルールは他のプラグインにもよくみられるので、Vim wayに慣れればプラ
Coc.nvim+init.vimからBuiltin LSP+init.luaへ この記事の概要 BuiltinLSP+Lspsaga.nvimでドキュメントをホバーさせているところ 2022年10月現在、NeovimにおいてモダンなIDEに近い様々なコーディング支援機能(Ex. 言語ごとの入力補完、定義ジャンプ、コード診断など)を利用するには、 Vim/NeovimをまるごとIDE化するプラグインであるCoc.nvimを導入する方法 Neovimに組み込まれたLSP(Language Server Protocol)クライアント機能を用いて、補完(Completion)、コード診断(Diagnostics)、リンター/フォーマッター(Linter/Formatter)の各要素につき、個別にプラグインを導入してカスタマイズする方法 の2通りがあります。 今回は、Neovim組み込みのBui
本日 2023-08-05、悲しいお知らせが入ってきました。Vim の作者 Bram Moolenaar 氏が亡くなりました。謹んでお悔やみを申し上げます。 以下は Bram Moolenaar 氏のご家族から vim_announce に送られたメッセージです。 https://groups.google.com/g/vim_announce/c/tWahca9zkt4t 親愛なる皆様へ Bram Moolenaar が 2023年8月3日に逝去したことを、謹んでお知らせいたします。 Bram はここ数週間で急速に進行した病状に苦しんでいました。 Bram は人生の大部分を Vim に捧げ、皆様が一員である Vim コミュニティを大変誇りに思っておりました。
これは ターミナル環境大掃除2021 の7発目です。 前回は vim-plugを導入する です。 動機 まず何を実現したいかと言うと、以下の2つである。率直に言うと「VSCodeのアレ」をやりたいのだ。1 CtrlP的な、大雑把なファイル名検索 インクリメンタルなソースコード全文検索 1 は要するにfuzzy finderで、言うなれば「今開いているディレクトリ (プロジェクト?) の中からfuzzy matchでいい感じに目的のファイルを呼び出す」機能である。最初はどばーっと全てのファイルが表示されており、一文字ずつ検索クエリを入力することによってリアルタイムに候補が絞り込まれていく。候補をひとつに絞れなくても、ファイル名で「これだ」と分かれば直接そのファイルを指定してバッファに呼び出せる。今まではDeniteを利用して実現していたのだが、このためだけに入れているのが心苦しくなったので再
Neovimで愛用しているプラグインの解説 普段使いしてるNeovimのスクリーンショットなど こんにちは!食パン🍞と申します🏜 普段はフロントエンドを中心にパソコンをカタカタしている者です💻 私は普段のコーディングのメインエディタとして、Neovimを用いています。 (Neo)Vimは、その独特な操作体系ゆえ慣れるまでが大変ですが、一度習熟すると非常に効率よくテキスト操作を行えるため、日々愛用しています。 ところで(Neo)Vimは、非常にカスタマイズ性が高く、自分好みの様々な設定を書いたり、OSSの多様なプラグインを利用することができます。一方で、その高いカスタマイズ性ゆえに設定の難しい側面も多々あり、最初はどのようにNeovimをカスタマイズしていけば悩むことも珍しくありません…。 そこで今回の記事では、私が現在使用しているNeovimのセッティングのうち、特に愛用しているプラ
最近Javaばかり書いてるもんでInteliJしか触ってなくて、neovimを放置してたのだが、やっと重い腰を上げて今風なエディタにするべく、全プラグインを見直しつつ設定を刷新した。 init.lua化 まず、普通のvimと共通の設定を作るのを諦めて、設定ファイルをinit.luaに全面的に書き直した。今となってはneovim以外を使うことは余り考えられないし、それが使えない状態だったら素のvimでええわという感じで割り切った。 設定をinit.luaに移行する時にやらなければいけないのは基本的に以下の3つ。 set number みたいな設定値をvim.opt.number = trueという形に置き換える。set nonumberみたいなのはvim.opt.number = falseになる。 keymapの設定はvim.keymap.set('n', 'L', '<cmd>tabne
1. ayamir/nvimdots の衝撃 このエントリーを書くきっかけとなったのは以下のレポジトリーを見たことでした。 ayamir/nvimdots: A well configured and structured Neovim. これは Neovim の設定ファイルを公開しているレポジトリーです。特徴的なのはその起動速度。Neovim 界の三種の神器、nvim-telescope/telescope.nvim、nvim-lualine/lualine.nvim、hrsh7th/nvim-cmp を含む、割合新し目で重たいプラグインを使いながら、10 ミリ秒台の起動速度を実現しているのです。 これに触発され、僕自身の設定も大幅に見直すことができ、ayamir/nvimdots とほとんど遜色無い速度を実現することができました。この記事ではその設定に使った様々なテクニックを紹介します
移行しようと思ってしたというより、なりゆきでそうなっただけではあるけど。 が、結論としてはもっと早く移行すりゃよかった!というくらいに、Neovimいいやん!ってなってる。 ことの経緯 `coc.nvim`やめるってよ もともとエディタはノーマルVimをターミナル内で使ってた みんなVSCodeな中、やや疎外感を感じながらも LSPまわりは`coc.nvim`を使ってて、特に不満はなかった が、ある日。 手元のNode.jsのバージョンを最新のLTSにあげたら、Svelteのエクステンションである`coc-svelte`が動かなくなった。 どうやら既知のIssueらしく、リポジトリにもPRが立ってた。 Fix coc-svelte not working with Node v18 by rudolfs · Pull Request #60 · coc-extensions/coc-sve
投稿が予定より大幅に遅れてしまい申し訳ありません。 忙しかったのと記事のボリュームが想定より大きくなってしまい執筆に時間がかかってしまいました。 はじめに フロントエンドエンジニア(主にReact)をしているYano (@yuki_ycino) といいます。 去年のAdvent Calendarでは Neovimでのフロントエンド開発環境 2021 という記事を書きました。 この1年でかなり情勢が変わったので現在の状況について解説する記事となります。 去年に引き続きこの記事では主にLSPによる開発サポート及び現代の開発における必須プラグインの紹介をメインに進めています。 具体的には coc.nvim とNeovim built-inのLSP実装であるnvim-lspでの設定の2つについて解説と具体的な設定の紹介をしようと思います。 自分はcoc.nvimを普段使っており、nvim-lspを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く