web-dev-qa-db-ja.com

Vimでファイルを開くためのショートカット

Eclipseを使用してVimでファイルを開きたい Ctrl + Shift + R、または Ctrl + N 自動入力のオプション。キーボードショートカットを呼び出し、ファイル名/パターンを入力し、一致するすべてのファイル名から選択します。

私は通常のようにそれを開くことを知っています:

:tabe <filepath>
:new <filepath>
:edit <filepath>

ここでの問題は、これらの場合にファイルパス全体を指定する必要があることです。

122
Techmaddy

私は最近 fuzzy finder.vim ... :-)に恋をしました

:ファジー検索ファイルは、名前の一部またはパターンを入力してファイルを開くことができます。

59
f3lix

私が普段やっていることは、e .(e-space-dot)で、閲覧可能な現在のディレクトリを提供します。テキストファイルでWordを見つけるように、/-名前の断片を検索できます。私はそれが一般的に十分で、シンプルで迅速だと思います。

140
dkretz

:findは別のオプションです。

プロジェクトのルートからvimを開き、pathをそこに設定します。

次に、以下を使用してツリー内の任意の場所にあるファイルを開くことができます。

:find **/filena< tab >

Tabは、さまざまな一致を通じて自動補完されます。 (**は、パスを再帰的に検索するように指示します)。

33
mattwarren

**を使用して、現在のパスでファイルを検索できます。

:tabe **/header.h

複数の一致がある場合、タブを押してさまざまな補完を表示します。

25
strager

CtrlP プラグインの使用を検討してください。

Janus Distributive に含まれています。

「ファジーマッチング」または正規表現を使用して、現在のディレクトリ内のファイル、オープンバッファ、または最近使用したファイルを見つけることができます。

15
Alexey

私が何かを見逃していない限り、:eファイル名は私が見つけた最も速い方法です。

タブを使用してファイル名を自動補完することもできます。

12
Ian P

:FuzzyFinderTextMate(または Ctrl + F)私のセットアップで。 http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim を参照してください

10
alex2k8

.vimrcファイルでいくつかのショートカットを使用します(以下の正確な構文)。

これらは、ケースの90%で、現在編集中のファイルと同じディレクトリ、または編集されたファイルに階層で非常に近いディレクトリにある別のファイルを開きたいという事実に基づいています。

コマンドの機能は次のとおりです

,cd:現在の作業ディレクトリを、編集中の現在のファイルがあるディレクトリに変更します。

,e:現在の作業ディレクトリがすでに入力されているファイルを開くため、onlyを指定する必要があります。

これらを.vimrcに追加:

map ,e :e <C-R>=expand("%:p:h") . "/" <CR>

map ,cd :cd %:p:h <CR>

ここに一連のイベントがあります:


  1. 「/ home/prog」にあるtest.Javaというファイルを編集している
  2. ,cd->現在の作業ディレクトリは「/ home/prog」になります
  3. ,e-> ":e/home/prog"に展開して、test.hなどのファイル名を入力するだけです。

  1. ,e->「:e/home」に展開します
  2. tab->/homeのサブディレクトリを循環する
  3. enter-> cdは、/ home/progと言うディレクトリに移動します
  4. ,e->「:e/home/prog」に展開します
9

また、最高のコマンドであることがわかっているcommand-tもあります(すべて試してみました)。インストールするのは簡単なことではありませんが、一度インストールすると、使用するのが夢です。

https://wincent.com/products/command-t/

8
bronson

タブを使用してください。vimエスケープモードでファイルパスを入力するときに機能します。

6
dirkgently

タグがある場合は(そうするべきです)、コマンドラインからクラスまたはメソッドまたはc関数の名前だけで、「vim -t DBPlaylist」を使用し、vim内で「:tag ShowList」を使用してファイルを開くことができます「。

4
Paul Tomblin

これはexactly探しているものではありませんが、多くの場合(すべてではありませんが)良い方法です。

VIMを開いて、バッファにファイルの名前がある場合、そのファイル名にカーソルを置いて入力できます gf。これにより、同じバッファ内のカーソルの下に名前があるファイルが開きます。それは同じです

:e CTRL+rCTRL+w

4
Nathan Fellman

共通ディレクトリ内のファイルを編集している場合、そのディレクトリに:cdし、ファイル名だけで:eを使用できます。

たとえば、次のように:

:e /big/long/path/that/takes/a/while/to/type/or/tab/complete/thingy.rb
:sp /big/long/path/that/takes/a/while/to/type/or/tab/complete/other_thingy.c
:vs /big/long/path/that/takes/a/while/to/type/or/tab/complete/one_more_thingy.Java

できるよ:

:cd /big/long/path/that/takes/a/while/to/type/or/tab/complete/
:e thingy.rb
:sp other_thingy.c
:vs one_more_thingy.Java

または、目的のディレクトリに既にファイルを開いている場合は、現在のファイル名に%の短縮形を使用し、:h修飾子(:help :_%: ):

:e /big/long/path/that/takes/a/while/to/type/or/tab/complete/thingy.rb
:cd %:h
:sp other_thingy.c
:vs one_more_thingy.Java

そして、他の人が言ったように、ex-lineでファイル名をタブ補完することができます(詳細は:help cmdline-completionをご覧ください)。

4
rampion

ファイルを開くことを許可し、自動補完をサポートし、開くためにファイルのフルパス名を入力する必要がない3つのプラグインを知っています(ファイルが&path vimオプション):

最近、似たような機能を持つ別のプラグインを見てきましたが、その名前は覚えていません。

すぐに、:findは自動補完をサポートする可能性があります。このトピックに関するパッチは、最近vim_devメーリングリストで配布されています。

3
Luc Hermitte
  • 使用できます(ワイルドメニューを設定)
  • タブを使用してファイル名をオートコンプリートできます
  • マッチングを使用することもできます。たとえば、:e p*.datまたはそのようなもの(古いもののように)
  • また、:browse confirm e(グラフィカルウィンドウの場合)

  • ただし、使用しているvimバージョンと、emacsでのその動作方法も指定する必要があります。たぶん私たちはあなたにぴったりのvimの代替品を見つけることができます.

1
Rook

FuzzyFinderについても触れましたが、すべてのサブディレクトリを含むように動作を拡張する FuzzyFinderTextmate プラグインの動作のようなテキストメイトが大好きです。

Fuzzyfinder.vimのバージョン2.16を使用していることを確認してください-上位バージョンはプラグインを破壊します。

1
Naseer

Exuberant ctagsを使用すると、ファイル情報を含むタグファイルを作成できます。

ctags --extra=+f -R *

次に、VIMからファイルを開きます

:tag filename

<tab>を使用して、ファイル名をオートコンプリートすることもできます。

0
Wonil

FuzzyFinderをインストールしました。ただし、現在のディレクトリ内のファイルのみが検索されるという制限があります。その回避策の1つは、FuzzyFinderTextmateを追加することです。しかし、ドキュメントと解説に基づいて、それは確実に機能しません。適切なバージョンのFuzzyFinderが必要であり、VimのコピーをRubyサポート付きでコンパイルする必要があります。

現在試している別の回避策は、編集セッションの開始時に必要になる可能性があるすべてのファイルを開くことです。たとえば、主要なディレクトリ内のすべてのファイルを開きます...

:args app/**
:args config/**
:args test/**
etc...

(これは、おそらく多数のファイルを開いていることを意味しますが、これまでのところまだ問題なく動作しているようです。)

その後、バッファモードでFuzzyFinderを使用できます。TextMateのcommand-oショートカットのように機能します...

:FuzzyFinderBuffer
0
Ethan

GVIMでは、ファイルを開く/読み取り/書き込みダイアログを使用して閲覧できます。

:browse {command}

{コマンド}-オープン/読み取り/書き込み

open-ファイルを開くread-ファイルを追加するwrite-SaveAsダイアログ

0
Samantha