この記事は Vim 駅伝の 9 本目の記事です。 9 本目ということで、Vim9 script について書きます。 Vim では Vim script を使ってエディタの挙動を拡張できますが、Vim 9.0 では新たに Vim9 script が追加されました。本記事ではそのさわりとして、Vim9 script の実行方法について簡単に紹介します。 Vim9 script について 従来の Vim script にはいくらか問題がありました。特に実行するたびにパースを行う関係上、動作が非常に遅く、また互換性の観点からわかりづらい文法があったりします。 Vim9 script は Vim script との互換性を捨て、処理速度の向上とよりわかりやすい文法を提供する目的で導入されました。 と言っても、ベースとなる文法を大きく変えることはせず、いくつかのとっつきづらい文法の見直しが行われていま
追記(2021-10-31): pum.vim関連の情報を追加しました。 追記(2021-12-15): スニペットについて追記 追記(2022-01-15): ddc-nvim-lsp-docはdenops-popup-preview.vimとdenops-signature_helpによって置き換え はじめに ddc.vimのLSPまわりの設定が良い感じになってきたので共有します。 前提として、補完ソースに関してはこちらを入れてください。 最終的にはこんな感じで使えるようになります。 補完候補のプレビュー & signature help 以下のgifにあるような機能で、前者は、補完候補を選択したときにその詳細情報をfloating windowに表示します。signature helpは、補完候補を選択して関数の中身を書いているときに、引数などの情報を表示する機能です。 vim-ls
フォントの設定 NerdFontを使うようにする。 ファイラーなどにアイコンを付けるため。 今回使うのはHack Nerd Font。これも 端末設定の見直し で設定したものと合わせる。 ファイラー Nerdtree -> Fernに移行。 https://github.com/lambdalisue/fern.vim さらに、Nerdfontに対応し、カラーリングするため下記のpluginも入れる。 https://github.com/lambdalisue/nerdfont.vim https://github.com/lambdalisue/fern-renderer-nerdfont.vim https://github.com/lambdalisue/glyph-palette.vim 体感でもNerdtreeより高速に動作する。 Nerdfontによるアイコンとカラーリングの
Vim 駅伝とは Vimmerを中心に技術的なコンテンツを持ち寄り、リレー形式で記事をリンクする営みです。 GitHub のアカウントさえあれば誰でも投稿できます。 小さなノウハウ、ちょっとした気づき、作ったプラグイン、開発の苦労話など、 Vim またはテクノロジーに関連していればどんな些細な内容でもかまいません。 皆さんの手で、Vim 駅伝を盛り上げていきましょう! 参加方法 本ページの下のスケジュールのうち、「募集中」となっている日付が登録可能です。好きな日を選んで「参加登録」をクリックしてください。 すると GitHub の issue 作成ページに遷移しますので、タイトル等を埋め issue を作成すれば登録完了です。 詳しくはVim 駅伝初日の記事を参照してください。 注意事項 個人攻撃や差別的な内容を含む記事、公序良俗に反する不適切な記事の投稿を禁止します。 明らかに不適切と判
ddc.vim の開発が一通り終了し、ようやく ddu.vim (dark deno-powered ui framework)の開発にとりかかることができました。 ここにきて一通りの機能がそろいましたので、広くユーザーに使ってもらうフェーズに進めたいと考えています。 ddc.vim のときと同様に、ユーザーからの要望やバグ報告に対応が終わってから正式版の 1.0 をリリースしようと考えています。 私が以前に作成したファジーファインダープラグインである denite.nvim は既に開発を終了しました。 私自身は既に denite.nvim から ddu.vim に移行しています。ddu.vim に denite.nvim の一部機能はまだ実装されていませんが、自分が使うぶんには十分です。 ファジーファインダーフレームワーク開発の歴史 私はこれまでいくつかのファジーファインダーを開発してき
どうも。CX事業本部Delivery部のえーたん(@eetann092)です。 愛用中のSmoothCursor.nvimの紹介です。カーソル移動時、signcolumnに副カーソルが表示され、移動方向や地点が視覚化されます。 以下は、デフォルトの設定で動かした例です。 3行よりも多く移動したら副カーソルが描画されます。この閾値はthresholdオプションで変更できます。 一部オプションの紹介 Fancy modeを有効にすると、副カーソルに割り当てる文字や色を変えることができます。 たとえばREADMEに載っている通り、ゲーミングカラーにできます。 筆者の設定は以下です。シンタックスハイライト付きで見たい方はdotfilesをどうぞ。 副カーソルの色を全部オレンジにしています。 require("smoothcursor").setup({ priority = 10, fancy =
作ったもの 左の signcolumn に副カーソルを追加します。 作った理由 vimを使用している時、gg や G、<C-u>、<C-d> でよくカーソルを見失なってしまい、またページのスクロール方向もはっきりとしません。 もちろん、この問題を解決するように作られたプラグインは存在し、 cursorline を有効にしたり smooth scroll などと言ったプラグインも存在します。 しかし、私にはどちらもあまり好みの動き方ではありませんでした。 そこで、視覚的にわかりやすい副カーソルを作りカーソルを追従させるように描画させるプラグインを作成しました。 Code このプラグインのコードの全文です。このプラグインは、全て lua で書いています。 local uv = vim.loop local cursor_timer = uv.new_timer() vim.cmd.sign("
はじめに プラグインの不具合報告をするために、最小構成の .vimrc が必要になりました。 私は何をもって「最小構成」なのかわからず、そもそも作り方がわかりませんでした。 vim-jpでいろいろ教えていただいたので、最小構成の .vimrc の作り方を紹介します。 環境 OS:macOS Monterey 12.4 Neovim:v0.6.1 「最小構成の.vimrc」とは? 「あるプラグインが動作する最小構成の .vimrc 」のことです。 英語では「Minimal vimrc」といいます。 例えば ddc.vim の不具合報告をしたい場合、以下が「最小構成の .vimrc 」となります。 ddc.vimのインストール 不具合の再現に必要なプラグインのインストール 不具合の再現に必要な設定 最小構成の.vimrcを作る目的 ある不具合が発生したとき、その原因を切り分けるために最小構成の
投稿が予定より大幅に遅れてしまい申し訳ありません。 忙しかったのと記事のボリュームが想定より大きくなってしまい執筆に時間がかかってしまいました。 はじめに フロントエンドエンジニア(主にReact)をしているYano (@yuki_ycino) といいます。 去年のAdvent Calendarでは Neovimでのフロントエンド開発環境 2021 という記事を書きました。 この1年でかなり情勢が変わったので現在の状況について解説する記事となります。 去年に引き続きこの記事では主にLSPによる開発サポート及び現代の開発における必須プラグインの紹介をメインに進めています。 具体的には coc.nvim とNeovim built-inのLSP実装であるnvim-lspでの設定の2つについて解説と具体的な設定の紹介をしようと思います。 自分はcoc.nvimを普段使っており、nvim-lspを
はじめに Command-line window とはなんでしょう? 普段これを使っていない方や、そもそもこんな機能知らなかったよ!という人向けには、ウインドウを閉じようと :q をタイプしようとして間違って q: とタイプしたときに出てくるウインドウ、となりますかね。cmdwin とも呼ばれたりすることもあるウインドウで、普通のバッファ上でコマンドなどを編集・実行できるウインドウです。 cmdwin のもうちょっと踏み込んだ導入については、ちょうど今年の Vim Advent Calender 2022 に Command-line window についての記事があるので、そちらに譲りたいと思います。: で常に Command-line window を開くようにする設定なども紹介されているので是非どうぞ。またあるいは、「help だ、Vim の help を寄越せ!」という方は :h
この記事は Vim Advent Calendar 2022 の12月09日分に向けた記事です。 TL;DR Denops で Parinfer による Lisp コーディングをサポートするプラグイン作った Parinfer とは Parinfer は Lisp のコーディングを支援してくれるツールです。 Lisp と言えば大量の括弧からその見た目だけで敬遠されることで有名(?)ですが、 同時に Lisper には閉じ括弧が見えない/閉じ括弧は意識する必要がないという意見がでることでも有名(?)です。 その秘密は Paredit や Parinfer などを使った Structural Editing です。 Structural Editing では括弧の対応は自動的に(強制的に)保たれるため、括弧の数などを意識する必要はなくなり Lisp のコードを安全に素早く書くことが可能となります
この記事は Vim advent calendar 2022 その1 の12日目の記事です。 昨日は@isobe_mochiさんの記事「tataku.vim というプラグインを作っている話」でした。 明日は @hanlio さんの記事が公開される予定です。 はじめに 2022年ももうすぐ終わりそうですね。今年は Vim に関するお仕事がいただけたり、設定ファイルを Vim script から Lua に移行したりと、Vimmer としては非常に充実した一年となりました。これも Vim/Neovim コントリビュータの方々と、数多のプラグイン開発者のおかげです。本当にありがとうございます。 そこで本記事では、私が普段使っている Vim (Neovim) プラグインを主観強めで紹介します。私が普段メインで使っている Neovim には 2022/12/11 現在 91 個のプラグインが入ってい
先に断っておくと、私としてはこれは邪道だと思っている。 GitHub - machakann/vim-multitarget-gn: Yet another gn command taking a count as a number of operation これ何 Vim の組み込みテキストオブジェクト gn の亜種である。 gn って何 :help gn を参照のこと。 gn は最後に検索したパターンにマッチする文字列のうち、カーソル前方最寄りのものを対象とするテキストオブジェクトである。 cgn などとして文字列を置換した後、. を連打するとどんどん文字列が置換されるので、数が少なければ :s コマンドよりも手軽で使い勝手が良い。 現在では組み込みのテキストオブジェクトとなっているが、歴史的にはkana氏のプラグインvim-textobj-lastpatが本体に逆輸入されたものである
はじめに これは、ストックマーク Advent Calendar 2022 11日目の記事です。こんにちは、ストックマークでAstrategyというビジネス向けSaaSについて、主にフロントエンドの開発を担当している@tsukkeeです。 昨年のAdvent Calendarの私の記事では、Vimを中心とした開発環境の記事を書いたのですが、今年はその環境をなんとか維持した話を書きたいと思います。 ちなみに、弊社はVimのほか、Emacs、IntelliJ IDEA、Cloud9、Visual Studio Codeを使うメンバーも在籍しており多様性があるのですが、最近デザイナーの方の中にNova使いの方がいることが発覚し、さらに混迷を極めています。そんな中最近入社された方の中にNeoVimユーザーの方がいて、Vim派が倍増(1人→2人)したという朗報もありました。 VimでVueを使ったフ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く