タグ付けされた質問 「plugin-system」

Vimのプラグインシステム。特定のプラグインに関する質問(適切なplugin- *タグを使用)またはプラグインを必要とする可能性のある質問は対象外です。

2
バージョン2.7がインストールされている場合、GundoプラグインにはPython 2.4が必要です
Python 2.7.9がインストールされています。そして今、Gundoプラグインには2.4が必要であるというメッセージが表示されます。回避策はありますか? これが私のvimrcファイルです: set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' Plugin 'tpope/vim-surround' Plugin …

3
vimプラグインでpythonとpython3の両方をサポートするエレガントな方法
私は最近、自分のvimプラグインを変更してpython3をサポートするようにするプルリクエストを受け取りました。しかし、これらの変更により、Pythonをリッスンしているように見える私のMac上のvimのプラグインが壊れます。 python import sys 対 python3 import sys プラグインのスクリプトに、使用するステートメントを検出させるエレガントな方法はありますか?何かのようなもの: if has('python') python import ... elseif if has('python3') python3 import ... else finish endif ありがとう。

1
通常のパッケージマネージャーの代わりにvim-addon-managerを使用する必要があるのはいつですか?
Debianベースのシステムには、という名前のパッケージがありますvim-addon-manager。 私の理解では、利用可能なプラグインのリポジトリに基づいて、いくつかのプラグインをインストールすることができます。それらをインストールできるようにするには、プラグインをパッケージ化してdebianリポジトリにプッシュする必要があります。 github、git repo、またはローカルフォルダーからプラグインをインストールできる他のプラグインマネージャーよりも柔軟性が低く、並列インストールや遅延読み込みなどが可能であるため、このパッケージのポイントがわかりません。 .. そもそも、パッケージは他のプラグインマネージャーの前に作成された古いソリューションであり、多分非推奨であると思っていましたが、そのgitリポジトリは開発がまだアクティブであることを示しているようです。 だから私の質問は: vim-addon-managerと他のプラグインマネージャー間で利用可能なプラグイン以外に違いはありますか?もしそうなら、どの違いですか? パッケージと他のマネージャーは同じ目的のためのものですか、それとも補完的なものですか 他のプラグインの代わりにパッケージを使用する方が便利なのはどのユースケースですか? 私の質問はこれに触発されていますが、ここではパッケージの使用方法を尋ねているのではなく、なぜ誰かがそれを必要とするのかを尋ねていることに注意してください。

2
不明な `_vimrc`または` vimscript`ファイルを使用するのはどのくらい安全ですか?
この質問をここで行うべきかどうかはわかりません。ほとんどすべての言語で、マルウェアが存在します。同じことが当てはまりvimscriptますか? 仮定しvim、高いシステム権限で実行されています。新しいvimユーザーがプラグインまたは見栄えのするvimrcファイル(つまり、他のスクリプト言語でのいわゆる悪意のあるスクリプト)を使用してシステムを破壊する可能性はありますか? 未知のスクリプトファイルを実行する前に、新しいユーザーが対処できる方法は何ですか?スクリプトを無効にすることは、そのための明白な解決策であることを知っています。しかし、新しい学習者にとっても非常に便利なプラグインの数は非常に多くあります。 繰り返しになりますが、この質問はここには当てはまらないかもしれませんが、セキュリティも全体像の非常に重要な部分だと思います。 これに関するいくつかのリソースまたは情報をvim指すと、私のような新しいユーザーにとって非常に役立ちます。

2
現在のファイルの関数の概要?
さまざまなソースファイル(C、Rubyなど)で作業しているときに、関数を探し回っていることがよくあります。現在のファイルの構造をリストする自動生成されたHUDを作成する方法はありますか?NERDTreeがさまざまなファイルにリンクする方法と同様に、ファイルのさまざまな部分にリンクするのは素晴らしいことです。または、ここのスクリーンショットのサイドナビゲーションに似ています:https ://stackoverflow.com/questions/16895610/gen-file-missing-incomplete-in-eclipse これがプラグインまたは何かとして存在しないと仮定すると、人々は通常どのようにこのようにファイルをナビゲートしますか?

2
vimrcから呼び出すことができるプラグインでコマンドを設計する方法
ユーザーがカスタムオペレーターを作成できるようにするプラグインに取り組んでいます。オペレーターは、移動するモーションまたはテキストオブジェクトにVimL式を適用します。 クリーンなユーザーインターフェイスを維持する カスタムオペレーターを定義するための最もクリーンなインターフェイスは、コマンドを使用することだと思います。:MapExpress次のようなコマンドを呼び出すコマンドを定義しました。 :MapExpress cd '/* ' . v:val . ' */' これはcd、Cスタイルのコメント区切りでモーションまたは選択を囲むために、ノーマルモードオペレーターとビジュアルモードマッピングを作成します。 もちろん、ここに問題があります。プラグインで定義されているコマンドを.vimrcファイルから呼び出すことはできません。 不十分な回避策 私は完全に満足していないいくつかの回避策を考え出しました。 ユーザーautocmd VimEnter *がコマンドを呼び出すために使用する これは機能しますが、多くの「精神的オーバーヘッド」が追加されます。多くのVimユーザーはどのようにautocmd機能するかをしっかりと把握していないと思います。 ユーザーが~/.vim/after/plugin/コマンドを呼び出すファイルを作成します これも機能しますが、この構成の一部が独自のファイルでオフになり、簡単に失われて忘れられるという欠点があります。 コマンド定義をプラグインのautoload/ディレクトリに移動し、ユーザーがファイルのロードをトリガーするいくつかのメソッドを呼び出して、コマンドを定義します これは次のようになります。 call express#init() MapExpress cd '/* ' . v:val . ' */' 少し良いですがexpress#init()、プラグインが機能するためにメソッドが必要かどうかについて混乱を招きます。 コマンドを使用する代わりの方法 オペレーターを定義するコマンドを使用するいくつかの代替案も検討しましたが、それぞれに注意点があります。 ユーザーは関数を呼び出して演算子を定義します これは次のようになります。 call express#operator('cd', '"/* ".v:val." */"') これはひどいことではありませんが、引用符で囲まれた式が必要になるという欠点があります。式で引用符を使用したい場合は、煩わしいことがあります。 ユーザーが<expr>マッピングを使用 このような: nmap <expr> …

2
Pythonを使用してVIMプラグインで新しいコードを開発することの欠点
私が使用するvimプラグインの1つで、今後はpythonとvimscriptの使用を検討しています(https://github.com/python-mode/python-mode/issues/813#issuecomment-344754563)。 Pythonを使用してVIMのプラグイン(https://dzone.com/articles/how-write-vim-plugins-python)を記述できることを理解しています。vimディストリビューションに+python/ +python3があれば、プラグインは機能するはずです。 私はVIMのプラグインをまだ作成していませんが、PythonでのPython開発用のオープンソースVIMプラグインの作成は、VimLで作成するよりも優れていると思います。ソリューションを提案したが、VimLを知らず、それを学びたくないというユーザーが複数いることに気づくでしょう。彼らはすでにPythonを知っており、Pythonで作業しているからです。したがって、今後Pythonで新しいコードを書くことで、より多くのユーザーを獲得し、より多くの貢献者を獲得して、より多くの価値を生み出すことができます。 質問 PythonとVimLを使用してVimプラグインを作成する欠点は何ですか?(このプラグインを使用するすべてのユーザーがPythonを開発するために使用する予定であるため、すでに+python/を持っていると仮定しましょう+python3)

1
プラグインの永続的な設定の現在の「ベストプラクティス」は何ですか?
非常に大きなテキストファイルをフィルタリングして役立つ「目次」を生成するプラグイン(Uniteサブモジュール)があります。多くのフィルターを有効/無効にする機能をユーザーに提供したいと思います...そして、その設定が各vimの呼び出しを通じて持続することを望みます。(同時セッション全体の即時更新は必ずしも必要ではありません) これをvimに組み込むためのメカニズムはありますか?または、ユーザーの$ HOMEに「ドットファイル」を作成して管理する必要がありますか?またはこれを処理するための受け入れられた標準的な方法はありますか? 編集:オプションのリストは現在数百エントリの長さであり、現在のインターフェイスは単にリストから削除するために「dを入力してdを入力する」ので、ユーザーにvimrcでグローバル変数を設定させることはできません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.