ここでいくつかのルールとして 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に慣れればプラ
プログラミングをAIが支援してくれる「GitHub Copilot」が正式サービスに、VSCodeやNeovimなどで利用可能。月額10ドルから GitHubは、コメントを書くとそれに基づいたコードを提案してくれるなど、プログラミングをAIが支援してくれる「GitHub Copilot」を正式サービスとして提供開始したことを発表しました。 GitHub Copilot helps you get better focus and build faster by instantly suggesting code—and is now available for developers everywhere.https://t.co/R6ZqAEtLJF — GitHub (@github) June 21, 2022 GitHub Copilotは、GitHub上で公開されているコード群によ
Bram Moolenaar the Creator of Vim 2023年8月5日、悲しい知らせが入ってきました。長年、多くのエンジニアに愛され今もなお使われ続けているテキストエディタVimの作者Bram Moolenaar氏が同月3日に亡くなったという知らせです。ショックでしばらく信じることができませんでした。 筆者は長年Vimを使い、Vimに多くのコントリビュートを行ったり、その都度Bram氏と対話したり議論したりしてきました。そのBram氏が突然、この世界からいなくなってしまったことをしばらく受け入れられなかったからです。 本記事では追悼の意味を込め、Bram氏がどのようにVimの開発を始め、Vimがどのように広まっていったのか、また長年Vimを追い続けてきた筆者から見たBram氏の人物像を筆者の思いを交えて解説していきます。 Vimの歴史 Bram氏についてお話しする前に、まず
はじめに VSCode などのテキストエディタには、マルチカーソルという機能があります。 これは、エディタ上に複数のカーソルを出現させ、一度に複数の場所に同じ操作を行うことができる機能です。 VSCode上でのマルチカーソル 自分はVSCodeをメインとしていた時にはこの機能を多用していたのですが、Neovimに移行してから一切使っていません。 一応Vim/Neovimにもマルチカーソルを実現するプラグインがいくつか存在します。 ですが、一度は入れてみるものの結局使わないままアンインストールしてしまいました。 ではなぜ、マルチカーソルが必要なくなったのか。 それはVim/Neovimの操作体系/機能が十分に強力であるので、マルチカーソルを使わなくても同じことができるからです。 この記事では、自分がVSCodeのマルチカーソルで行っていた操作をVim/Neovimの操作体系/機能でどのように
追記 初出では記事のタイトルを「とあるコーディングチョットワカル勢のエディタ遍歴」としていました。 「チョットワカル」の意味を全く理解せずにタイトルに用いてしまい、不快に思われた方にお詫び申し上げます。 「チョットワカル」とはすなわち、Linus Torvalds レベルの超上級者のことをさす言葉ということを先ほど知りました。 もちろん自分は到底上級者とは程遠い存在であると自負をしております(記事を読んでいただければわかると思います)。 今年でコードを本格的に書き始めて 8 年目になる。 これまでに メインのエディタを 3 回変えているので遍歴を書いてみる。 (本記事では IDE は除く) Atom (2015 ~ 2017) 2015 年に大学に入学して、初めて自分のコンピュータ(MacBook Pro 13)を手に入れることができた。 小学生の頃からコードを書くことには興味があった
はじめに 皆さんNeovim使っていますか!! Vimキーバインドに慣れるとブラウザのテキストエリアにカーソルを入れて、iボタンを押したとき世の中の非情さに涙を流します。なので仕方なく、「Terminalに戻りVimを起動して文章書いてコピー」→「ブラウザのテキストエリアにペースト」という生産的なのかよく分からない行動をとることになります。 Firenvimを使うと、ブラウザに自環境のNeovimを起動することが出来ます。ちょっと何言ってるかわかりませんね?試してみましょう! 本プラグインは、2019年11月3日に開催されたVimConf 2019のJustin M. Keyes様のセッションにて紹介されたものとなります。Neovimがどういうプロジェクトなのかも含め大変勉強になりました。 インストール 公式の手順の参照を推奨します。 プラグインのインストール 私はdein.vimのtom
【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast Merpay Architect / Mercari Microservices Platform チームの伊藤です。この記事は Merpay Tech Openness Month の3日目の投稿となります。本稿では、先日開催した開発ライブ実況のイベントで紹介した筆者の開発環境(Vim / Go)について、言語に依存しない「全般的な設定」と「Goの設定」の2つに大別して解説します。Vim に関する話題が多いですが、Go のために自作したツールについての解説はエディタに依存しないので、他のエディタを利用している方々もぜひご一読ください。 開発ライブ実況とは 「他人の開発風景を覗いてみよう!」というコンセプトのもとに弊社が開催して
始めに ddc.vim, ddu.vim の開発が一通り終了し、次に作成するプラグインについて考えていました。 バイナリ編集プラグイン ddx.vim の開発を進めることも考えていたのですが、dein.vim の開発から長い時間がたっており新たなプラグインマネージャーも出てきているので、そろそろ作り直すべきではないかと考えました。 プラグインマネージャーの機能がどんどん複雑化する昨今、プラグインマネージャーに必要な機能とは何か考えたときに、「拡張可能なプラグインマネージャーが求められている」と思ったのです。 そして今回作成したプラグインマネージャーは dpp.vim です。 dpp.vim は作成したばかりで完成度はまだ低く、dein.vim ユーザーが乗り換える機能のレベルや安定性にはなっていません。 しかし、その設計思想とインタフェースは十分固まったといえるので今回記事を書くことにしま
freee Developers Advent Calendar 2022 1日目の記事です! ついに今年も始まりました freee Developers Advent Calendar、一日目は会計チームの hachi (@hachiblog) からお送りします。 エディタはソフトウェアエンジニアにとって毎日使う道具です。あなたはどんなエディタを使っていますか?そのエディタに満足していますか? 自分は3年ぐらい VSCode を使っていて大方満足はしていたのですが、細かいところで不満が出てきていました。 そのため思い切って Neovim にエディタを移行しました。 移行して、超快適!という状態ではまだないのですが、VSCode と同等ぐらいまでには使いこなせるようになりました。 自分は今まで何度か VSCode から Vim/Neovim に移行しようとして何度か挫折していて今回始めて成
はじめに Vimは、そのパワフルなカスタマイズ性と柔軟性で知られており、世界中のプログラマーやテキストエディタ愛好家たちから絶大な支持を受けています。このエディタの真価を引き出す鍵の一つが、autocmd(自動コマンド)機能です。autocmdを用いることで、ファイルの読み込みや保存、さらにはウィンドウのフォーカスが変更されるといった特定のイベントが発生した際に、自動でスクリプトやコマンドを実行することが可能になります。 このガイドでは、autocmdの基本概念から始め、その豊富な応用方法を段階的に解説していきます。初心者でも容易に理解できるように、具体的な使用例を通じて、Vimの作業効率を大幅に向上させる方法をご紹介します。Vimをカスタマイズし、より快適なテキスト編集環境を実現するための第一歩として、このガイドをお役立てください。 autocmdを活用することで、あなたのVim使用経験
元記事(英語): My Neovim setup for React, TypeScript, Tailwind CSS, etc こんにちは、個人アプリ作家のTakuyaです。 Vim歴はかれこれ10年以上です。 僕はInkdropというMarkdownノートアプリを独りで開発しています。 このアプリはElectronやReact Nativeで組まれており、マルチプラットフォームで動作します。 それらはいつもNeovimを使って開発しています。 約2年前に自分のNeovimで使用しているプラグインについて紹介しました。 あれから結構アップデートしたので改めてまた書きます。 主な違いは設定がLuaで書かれている点です。 また、vim-plugからPackerに移行しました。 ちなみにYouTubeでM2 MacBook AirにNeovimをセットアップする動画を投稿しましたので、併せて
筆者はこれまで、定期的に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リ
まだ汚れを知らない若者だったころに「プログラムはね、これを使って書くんだよ」と言われて以来Vimは友達だと思ってずっと(15年くらい)使ってきたが、最近は、とくに新しく何かを書くときにはVSCodeを使うようになってきた。コードを書く間隔が広がってきたせいか、新しい技術や言語に対応することができておらず、なんか最初からいい感じになってるエディタを重宝する。歳を取ってきたからなんだろうな、と素直に思うけれど、自分向けになにかをカスタマイズすることにあまり熱を感じなくなっていて、すでにあるよいと分かっているものに自分を調整していくことを選ぶようになってきた。 とはいえ身体はVimに慣れきってるのでVSCodeを使い始めたときはVSCodeVimを使っている……いた、というのが今回の話。よくできてるとは思うが、とにかくu(アンドゥ)の挙動が本家と違うのがどうも身体に合わない。逆にストレスが高まっ
昔はこういうの結構やられてた気がするけど最近あんまり見なくなったのでやってみました。 タイトルは から借用しました。 注意点 プラグイン自体の説明はあまりするつもりはないので、GitHub の README を読むなり使ってみるなりしてみてください。 私は結構頻繁にプラグイン乗り換えるので 2022 春バージョンと思ってください。 私が言うのもあれですが、プラグインはいっぱい入れればいいというものではありません。ひとつひとつを使いこなすのが大事です。多ければそれだけ管理も大変です。 競合があるプラグインは比較して選定しているつもりですが、あくまでも私の趣味の範囲での選定となります。絶対的な指標があってこっちの方が優れているといった判断をしているわけではありません。 私の Neovim の使い方 使い方が違うと参考にならないことが多いため前提としてどういうふうに Neovim を使っているか
投稿が予定より大幅に遅れてしまい申し訳ありません。 忙しかったのと記事のボリュームが想定より大きくなってしまい執筆に時間がかかってしまいました。 はじめに フロントエンドエンジニア(主にReact)をしているYano (@yuki_ycino) といいます。 去年のAdvent Calendarでは Neovimでのフロントエンド開発環境 2021 という記事を書きました。 この1年でかなり情勢が変わったので現在の状況について解説する記事となります。 去年に引き続きこの記事では主にLSPによる開発サポート及び現代の開発における必須プラグインの紹介をメインに進めています。 具体的には coc.nvim とNeovim built-inのLSP実装であるnvim-lspでの設定の2つについて解説と具体的な設定の紹介をしようと思います。 自分はcoc.nvimを普段使っており、nvim-lspを
概要 Vim を使いはじめてから 5年ぐらいになりますが、それ以来まとまった量の文章はほとんど全て Vim で書いてきました。その中には日本語の文章も多く含まれているわけですが、Vim で日本語を編集する際には英語やソースコードを書くときとには生じにくい問題がいくつか出てきます。 代表的な問題としては、IME がオンになったまま normal モードに戻ってしまうと normal モードのコマンドが打てなくなることや、f<char> や / による検索で IME 切り替えのコストが生じてしまうことがあります。 最近このあたりの環境改善についていくつか行ってみて、以前より日本語ファイルの編集を行いやすくなっていると感じるので、その方法を紹介したいと思います。 環境 CUI 環境の vim を前提とします。gvim の IME 連携についてはこの記事では対象としません。 課題 Normal モ
Multiple selections Multiple cursors as a core editing primitive, inspired by Kakoune. Commands manipulate selections which allows concurrent code editing. Tree-sitter integration Tree-sitter produces error tolerant and robust syntax trees, which enables better syntax highlighting, indent calculation and code navigation. Powerful code manipulation Navigate and select functions, classes, comments,
AIとペアプロする「GitHub Copilot」がneovimとIntelliJ IDEAでも利用可能に、テクニカルプレビューとして GitHubは10月27日と28日の2日間(太平洋時間)、オンラインイベント「GitHub Universe 2021」を開催」し、現在テクニカルプレビュー中のGitHub CopilotがnervimとIntelliJ IDEAでも利用可能になったことを発表しました。 GitHub Copilot Technical Preview is available now for developers on the @jetbrains IntelliJ platform of editors including @intellijidea and @pycharm https://t.co/1FZjsv4NoJ pic.twitter.com/z4AV9TY
各プラグイン詳細 1. Netrw 間違って :e . とかしたときに起動する Vim に標準で付属しているファイラーです。 実は今回比較するファイラーの中で最も機能的に充実しています。 ツリー表示や簡単なファイル操作もでき、リモートファイルの閲覧編集なども単体で可能です。 「じゃぁ、これでいいじゃん?」となるかというと、以下のような点から常用は難しいと個人的には感じています。 内部コードが難解で第三者によるメンテが難しい 上記のため解決する目処がない不具合が多い(パフォーマンス問題含む) ただ、リモート接続先などで素の Vim を使う際などに利用できると便利なので、ある程度は使い方を知っておくと便利です。 2. Dirvish 今回紹介する中で最も機能が無いファイラーです。 何もしないので動作がとても軽快。 端的に言えばディレクトリの内容をバッファに出力するだけのプラグインです。 バッフ
ファジーファインダー系プラグインとは fuzzy finder、 あいまいに検索することができるツールです。 完全一致検索のように絞り込むまでにタイプ数が必要だったり、正規表現検索のように小難しいこともなく、高速に絞り込みできることがメリットです。 コマンドラインツールとして有名なのはfzfで、ディレクトリを移動したり、ファイルを選択したり、パイプとしてつなげてフィルターしたりといった用途で使われています。 Vimにおけるファジーファインダー系プラグイン Vim,Neovimではファジーファインダー機能はデフォルトで入っておらず、なんらかのプラグインをインストールする必要があります。(機能としてはないですが、vimにはmatchfuzzyという関数は最近追加されました) ファジーファインダーはプログラミングをするときにかなり強力なので、ほとんどのVimmerがなんらかのプラグインをインスト
今週ちまちまと git-messenger.vim や clever-f.vim の CI を GitHub Actions に移行していました.毎回 Vim プラグインの CI のために Vim や Neovim のセットアップを書くのが面倒なのと,Windows 上で Vim や Neovim を入れるのが(Powershell に不慣れなこともあり)大変だったので,GitHub Action として切り出すことにしました. github.com 1ステップで Vim や Neovim を簡単にインストールできます. Vim と Neovim 両対応 Linux, macOS, Windows すべてで動作 'stable' と 'nightly' の両方に対応 追記: 特定バージョンにも対応(v1.1.0) 使い方 下記のようにステップを書けば Vim または Neovim をインス
2020年のエディタ・IDE界 2020年のエディタ・IDE界は、Vim vs Emacsとか言われていた時代も過去になり、昨今はVSCode1強になりつつあります[1]。VSCodeはデフォルトの機能も必要十分ありますし、拡張機能のエコシステムが発達してますし、リリースサイクルも早くてすばらしいの一言ですね(あとやっぱりMSがバックにいるのが何気に強い)。2015年にリリースされてからまさに飛ぶ鳥を落とす勢いです。 他に有料だとJetBrainsのIDEとかはやっぱり出来がいいですね。あとVSCodeの拡張がそのまま使えるEclipse Cheなんかも新興勢力として期待しています。 私について 世の中はいろいろ動いてますが、私はVimをかれこれ15年以上使ってます。2016年くらいにVimからNeovimに乗り換えましたが、今でもほぼ毎日使っています。 特に世界平均と比較した際に、Vim
はじめに 私はエンジニアのキャリアをスタートしたときから、当時の上司の影響もあり、Neovim を使用して開発してきました。 当時は dotfiles を GitHub で管理していて、そのリポジトリをローカル環境に git clone して Neovim を使用していました。 その運用をしていたため、新しく PC を購入した時にすぐに環境を整えることができませんでした。なぜなら、dotfiles を機能させるためにどういったライブラリ(例: npm, node, ...)をダウンロードしていたか覚えていなかったからです。 そういった背景があり、転職や故障などを理由に PC が変わったとしても、すぐに開発環境を整えられるように Docker を利用した運用方法に変えました。 具体的にどういった運用をしているのか? 私は以下のような方法で開発環境を整えています。実際にプライベートの PC と
100万ファイルあるホームディレクトリでファイル一覧を出すのに私の環境で2秒、vimのバッファ[1]に書き込んだり開いたりするのに10秒以上かかります。これはwebの文脈でさえ遅い[2]といえる数値です。こうした状況下で速さを求めたことについて書きます。 この記事を読まずともREADMEのコピペでプラグインを試すことができます。 導入 人間は横着なので頭を使いタイピングするより限られた選択肢から選ぶことを望みます。多くの人が使うwebページはそのように最適化されています。テキスト入力を目的とするテキストエディタにおいても、多くの人にはこのことが当てはまるでしょう。テキスト入力における入力補完もセレクタの一種ですが、今回は[3]プログラミング中におけるファイルを選択して開いたりといった操作に焦点をあてます。 こうした動作を行うファインダは数多くあり戦国時代呼ばれるほど選択肢があります[4]。
Neovimで愛用しているプラグインの解説 普段使いしてるNeovimのスクリーンショットなど こんにちは!食パン🍞と申します🏜 普段はフロントエンドを中心にパソコンをカタカタしている者です💻 私は普段のコーディングのメインエディタとして、Neovimを用いています。 (Neo)Vimは、その独特な操作体系ゆえ慣れるまでが大変ですが、一度習熟すると非常に効率よくテキスト操作を行えるため、日々愛用しています。 ところで(Neo)Vimは、非常にカスタマイズ性が高く、自分好みの様々な設定を書いたり、OSSの多様なプラグインを利用することができます。一方で、その高いカスタマイズ性ゆえに設定の難しい側面も多々あり、最初はどのようにNeovimをカスタマイズしていけば悩むことも珍しくありません…。 そこで今回の記事では、私が現在使用しているNeovimのセッティングのうち、特に愛用しているプラ
AstroNvim comes with a great out-of-box experience without compromising on speed or customization. Community Plugin Ecosystem Access to AstroCommunity, an extensive community-maintained plugin marketplace that makes it easier than ever to add plugins or language support. Automatic Tool Setup No code necessary to get up and running with language server, linters, and formatters. Simply install them
この記事は Vim 駅伝 2023/06/09(金) の記事です。 前回は sontixyou さんの Neovimで今開いているファイルのパスをコピーするスクリプトを作った話 です。 次回は 2023/06/12(月) に公開される予定です。 はじめに Vim / Neovim にはエディタの設定を行うスクリプト言語として、 Vim script というものがあります。 また、最近だと Vim では Vim9 script 、 Neovim では Lua を使用して設定ファイルを書くこともできます。 ですが、 Vim9 script は Vim でしか使用できず、 Lua は Neovim でしか使用できません。(一部は Vim でも使用できます。) この Vim と Neovim の差は徐々に大きくなってきている気がしています。 そんな中、 Deno を使用して Vim / Neovi
はじめに こんにちは、あろーです。 Neovim をメインのエディタとして使いはじめてから、ちょうど 1 年くらい が経っていました。 ひとつの区切りとして、なんだかちょうど良い感じがしたので現在のわたしの環境についてまとめてみたいと思います。 こんな感じ 設定の方針 厳密に守っているわけではありませんが、以下の方針で設定しています。 設定は基本 Lua で書きます プラグインの実装に使われている言語は問いません(Vim script で実装されているから使わないなどはしない) 常に表示される情報は最小限に留め、できるだけシンプルな画面を維持します 起動速度にはあまりこだわりません。気にならない程度の速度であればよしとしています(沼すぎるので…) わたしの使い方 OS は macOS、または Linux を使います ターミナルは Wezterm です コーディングからドキュメント作成、Gi
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く