タグ付けされた質問 「autocompletion」

入力されたキーワードまたは行の一部を完成させるためのいくつかのコマンドについての質問。

5
vimを使用してプログラムを作成するときに、vimが関数名、変数などを自動補完することは可能ですか?
多くのIDEは、ユーザーが入力すると関数名、変数、メソッド名などを自動的に補完します。最良のものは、言語の組み込みライブラリと、同じプログラムの他のファイルですでに定義されているものの両方に基づいて名前を完成させます。 たとえば、次のPythonプログラムを入力しているとき: hungy = True def eatFood(food): pass if hungry: eatF 行eatFはeatFood()使用可能なオートコンプリートオプションとして自動的に表示されます。 Vimにはこの機能がありますか?もしそうなら、どうすればそれを有効にできますか?

3
インテリジェントなC ++自動補完を取得する方法
一部のエディター(Windows上のVisual Studioなど)は、C ++を理解するC ++自動補完を行います。たとえば、次の場合: #include <vector> int main(void) { std::vector<int> v; v.i Visual Studioでは、オートコンプリートstd::vector<int>はiで始まる唯一のメソッドを知っていますinsert。 vimでこの種のオートコンプリートを取得することは可能ですか?

6
Python 3のVimコード補完
Debian Jessieを実行しており、現在のvim-noxを使用しています(+ python -python3を使用)。Python 3のコード補完に苦労しているため、Python 3でプログラミングしようとすると苦労しています。 YouCompleteMeはPython3をまったくサポートしていません。jedi-vimはPython 3補完をサポートしますが、+ python3オプションを正しく理解している場合に限ります。Debian開発者からのいくつかの投稿から、Vimを+ python3フラグでコンパイルすることは実際には機能していないようです。そのため、python-modeプラグインが残っています。 python-modeがメンテナンスされていないように見えること(open pull-requestsとlast commitsを参照)と、現在masterブランチのロープに関する大きなバグがあるという事実に加えて、YouCompleteMeに干渉します。YouCompleteMeを完全に無効にした場合にのみ、Python 3のコード補完を機能させることができます。PythonファイルタイプのYCMをブラックリストに登録したり、PythonファイルのYCM補完を無効にしたりしても、vimを開くたびにYCM警告が表示されます。 だから私の質問は: YouCompleteMeを非アクティブ化せずに、現在のDebianディストリビューションでPython 3オートコンプリートを動作させるにはどうすればよいですか(他のプログラミング言語で使用したいのですが)。メンテナンスされていないプラグインが、このような重要なプログラミング言語のコード補完のために現時点で唯一の選択肢であるのはなぜですか(Python 3は新しいものとは見なされなくなりました)。


5
Gitブランチを切り替える最も簡単な方法
現在、私は逃亡者を使ってgitに関連するほとんどすべてを管理していますが、利用可能なブランチをすばやく視覚化し、切り替える良いワークフローを見つけることができません。 私ができることは:Git checkout <branch-name>、問題はファイル名とブランチの両方をオートコンプリートすることであり、ブランチリストを好むことです。

6
VimでC / C ++関数のドキュメントを表示するにはどうすればよいですか?
ほとんどのエディターには、関数の上にキャレットを置いていくつかのキーを押すと、関数が受け取る引数の数と型とともにその関数のドキュメントをポップする機能があります。 Vimがそのようなサポートを提供しているかどうか疑問に思っていました。たとえば、Cでコーディングするとき、組み込み関数を使用しますqsort()。私はそれが取る引数のタイプと数がわからないので、Vimをエスケープせずにそれを知りたいです。出来ますか?

1
リモートファイルのファイル名補完
私の友人は、数日前にEmacsでクールなトリックを見せてくれました。リモートサーバーでファイルを開くだけで、すぐに「vimでもそれを行う方法があるはずだ」と思いました。 私はそれ:e scp://user@server//filepathを行うために使用するだけで問題ありません;)。ただし、サーバー名を入力するだけで、ファイルのパスと名前(タブ付き)の補完を取得できます。これは私にはできませんでした。誰かがこれがvimでできるかどうか知っていますか?

1
Vimのファイル名のbashのような部分的なタブ補完
Bashでは、同じプレフィックスを持つ複数のファイルがあり、プレフィックスの一部をTab入力してを押すと、共通のプレフィックスが完成し、入力を続けて、可能な結果を​​区別できます。 Vimでは、同じプレフィックスを持つ複数のファイルがあり、プレフィックスの一部を入力しTabてを押すと、最初の一致全体が完了し、すべての一致から選択できます。セットを減らすには、共通部分の最後に到達するまでバックスペースし、さらに入力してもう一度ヒットTabする必要があります。 多くの場合、長い共通プレフィックスがあるファイルがたくさんありますが、必要なファイルは最初のものではありません(たとえば、名前がすべてのさまざまなメイクファイルを含むプロジェクトファイルのディレクトリなどMakefile.{whatever})。 多くのキーストロークを節約するために、VimをBashのように完全にできますか? これが他の補完にも適用できる場合のボーナス(たとえば、すべて同じプレフィックスを持つ列挙値)

1
「インクルードファイルのスキャン」にCtrl-nの完了に時間がかかる
私はvimスキルを磨き、Ctrl-nコマンドを使用して完了をいじっています。Perlでプログラミングしています。挿入モードでCtrl-nを押すと、ターミナルの下部に「含まれるファイルをスキャンしています」というメッセージが表示され、perl配布ディレクトリのファイルをスキャンしているように見えます。これが完了するまでに数秒かかる場合があります。私がインクルードしたパッケージでコメントアウトされているように見えます: #use Moose; この機能を有効にするには、これらの行を削除する必要があります。何か不足していますか? perl-supportプラグインを使用しています。

1
特定のファイル拡張子を完了から除外するにはどうすればよいですか?
開くのに「適切」とみなされるファイルの種類に関してvimを設定する方法はありますか? 例で明確にしましょう。ラテックスドキュメントで作業していると想像してください。ファイルをビルドすると、ディレクトリに次のものが(ビルドに関連する他のファイルとともに)あります: X.aux X.log X.out X.pdf X.tex ここで別のファイル(たとえばY.tex)で作業していて:sp X.tex、を使用<Tab>したい場合、使用可能なファイルを循環するために使用できます。 :sp X<Tab> vimはすでにどのファイルが必要かを選択し、それらのファイルを最初にオートコンプリートしているようです。これは、私のvimがファイルを自動補完する順序です。 X.pdf X.tex X.aux X.log X.out 繰り返しになりますが、vimは.pdfor .texファイルを開きたいと判断し、それらを最初にアルファベット順に表示しています。次に、残りのファイルが再びアルファベット順に表示されます。まず、私の理解は正しいですか? もしそうなら、どうしてvimにそれを.pdf使ってファイルを開くことに興味がないと思わないように伝えることができますか?この方法では、最初<Tab>の.texファイルはすぐに、実際に探しているファイルとしてファイルを取得します。


1
WORDの完了
<C-p>そして<C-n>、現在のドキュメント内で見つかった単語の完了を可能にします。 私はいくつかのメモを取り、発言{0,1}^nを(E,D)何度も書いています。これらは、いくつかの単語で構成される単語です。 <C-p>and <C-n>(または他の関連ins-completionコマンド)でWORDを完了する方法はありますか?

1
動的補完
古い補完機能を強化しようとしています。新しい文字を入力すると、ポップアップメニューに表示される選択肢を更新したい 私の補完機能は function! lh#icomplete#ecm(findstart, base) abort if a:findstart let l = getline('.') let startcol = match(l[0:col('.')-1], '\v\S+$') if startcol == -1 let startcol = col('.')-1 endif " let g:debug+= ["findstart(".a:base.") -> ".(startcol)] return startcol else " let g:debug += ["matching(".a:base.")"] let words = ['un', 'deux', 'trois', 'trente-deux', 'unité'] call filter(words, …

2
VimでLaTeXシンボルを検索するにはどうすればよいですか?
何らかの形のシンボル補完をVimに統合できますか?TeXMakerのような専用のTeXエディタは、(例えば、完了のためにシンボルのリストを提供する\alのリストを示し\alpha、\la番組\lambdaと\langle)。 TeXにはかなり多数のシンボルがあるため、\altoの手動マッピングを含む提案\alphaは役に立たないことに注意してください。 私が持っている関連プラグイン: SuperTabとlet g:SuperTabDefaultCompletionType="context"し、 set omnifunc=syntaxcomplete#Complete LaTeX-Box 問題があれば、XeLaTeXを使用してコンパイルします。 関連: 記号を検索したり、数学記号や文字を識別する方法は?

1
キャンセル完了
通常、挿入モード補完(<C-n>)は、最初にを押したときに正しい単語を挿入します<C-n>が、常にそうではありません。したがって、Vimがを押したときに最適と見なされる一致を挿入<C-n>しますが、正しい一致が表示されないか、リストのかなり下にある場合は、後でこの挿入をキャンセルすることを許可します。 もちろん、この動作をコーディングすることもできますが、これを行うには標準のキー(組み合わせ)が必要だと感じています。誰かが私を正しい方向に向けることができますか? おまけの質問:(を押す前のように<C-n>)最長の一致を取得するために使用できる別のキーはありますか? それが価値があるもののために、私は使用しています completeopt=menu

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.