Repolode
SirVer

SirVer/ultisnips

VimとNeovim向けのスニペットエンジン。トリガーを、タブストップやプレースホルダー、Pythonで記述した処理を含むテンプレートに展開します。

スター
7,697
フォーク
675
未解決の Issue
0
最終コミット
2 か月前

これは何?

UltiSnipsはVimとNeovim向けのスニペットエンジンです。短いトリガー語を入力してキーを押すと、クラスのひな形やデバッグ用のprint文など、より大きなテキストに展開されます。複数のタブストップを定義して順に移動したり、別のプレースホルダーが変わると値が自動で更新されるプレースホルダーを使ったりできます。

スニペットは専用のファイル形式で記述し、展開時に動的なテキストを生成するPythonコードを埋め込むこともできます。エンジンとスニペット集は別々なので、スニペットライブラリと一緒にインストールするか、自分で作成します。YouCompleteMeやdeopleteなどの補完プラグインと連携でき、トリガーキーはVimの変数で設定できます。

主な機能

  • 01VimとNeovimで、トリガー語を複数行のスニペットに展開します。
  • 02複数のタブストップと、連動して更新されるプレースホルダーに対応しています。
  • 03展開時にスニペット内のPythonコードを実行できます。
  • 04YouCompleteMeやdeopleteなどの補完プラグインと連携します。
  • 05トリガーキーとジャンプキーを設定できます。

ユースケース

  • Vimでコードを編集しながら、クラスや関数のひな形、ライセンスヘッダーなどの定型文を挿入する。
  • 繰り返し使うコーディングパターンをまとめた、自分用のスニペット集を作る。
  • スニペット内のPython処理を使い、先に入力した内容に応じて変わるコードを生成する。

クイックスタート

  1. 1

    プラグインマネージャーを使って、UltiSnipsのプラグイン行を.vimrcに追加します(READMEではVundleを使用しています)

  2. 2

    必要に応じて、すぐに使えるスニペットを追加するhonza/vim-snippetsプラグインを追加します

  3. 3

    .vimrcで展開とジャンプのトリガーキーを設定します。YouCompleteMeまたはcompletion-nvimを使っている場合は、<tab>を別のキーに変更してください

使う前に知っておきたいこと

  • GPL-3.0ライセンスで提供されています。コピーレフトライセンスのため、派生物も同じ条件でオープンソースにする必要があります。
  • VimとNeovim内でのみ動作するため、単体のツールとしては使えません。

トピック

よくある質問

ultisnips とは?
VimとNeovim向けのスニペットエンジン。トリガーを、タブストップやプレースホルダー、Pythonで記述した処理を含むテンプレートに展開します。 UltiSnipsはVimとNeovim向けのスニペットエンジンです。短いトリガー語を入力してキーを押すと、クラスのひな形やデバッグ用のprint文など、より大きなテキストに展開されます。複数のタブストップを定義して順に移動したり、別のプレースホルダーが変わると値が自動で更新されるプレースホルダーを使ったりできます。
ultisnips は無料で使えますか?ライセンスは?
ultisnips は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ultisnips は今もメンテナンスされていますか?
半年以内に更新あり。ultisnips の最終コミットは 2026年9月6日 です。
ultisnips は何に使えますか?
Vimでコードを編集しながら、クラスや関数のひな形、ライセンスヘッダーなどの定型文を挿入する。 繰り返し使うコーディングパターンをまとめた、自分用のスニペット集を作る。 スニペット内のPython処理を使い、先に入力した内容に応じて変わるコードを生成する。
ultisnips のインストール方法は?
プラグインマネージャーを使って、UltiSnipsのプラグイン行を.vimrcに追加します(READMEではVundleを使用しています) 必要に応じて、すぐに使えるスニペットを追加するhonza/vim-snippetsプラグインを追加します .vimrcで展開とジャンプのトリガーキーを設定します。YouCompleteMeまたはcompletion-nvimを使っている場合は、<tab>を別のキーに変更してください
ultisnips はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/SirVer/ultisnips

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

Neovimは拡張性を高めるために再設計されたVimベースのテキストエディターで、プラグインや外部UIから操作できるLuaおよびRPC APIを備えています。

開発ツール#text-editor#vim#lua
10.3万+140 今週7368Vim ScriptOther更新 14 時間前