Vim内からディレクトリ内のすべてのファイルを開く方法はありますか?つまり、:command
実際には「下/some/path
にあるすべてのファイルをバッファに開く」ということです。
理想的には、dirの下にあるすべてのファイルを再帰的に開くとよいでしょう。
回答:
あなたが探しているコマンドはargsです:
例えば:
:args /path_to_dir/*
ディレクトリ内のすべてのファイルを開きます
:tab all
それを使用して個々のタブに配置します。
"/path_to_dir/subdir/" Illegal file name
)。簡単な解決策は、2番目のコマンドを実行argd */
して、リストからそれらを再度削除することです
:argdo source my_commands_batch.vim
試しましたか
:n /some/path/*
/ some / path内のすべてのファイルを開きます
ただし、ファイルを再帰的に開くことはないと思います。
編集
たぶん**を使用すると、dafが言及したように再帰的に開きます
いじりを必要としない方法args
は、ファイルのリストをテキストファイルに入れて:so
から、コマンドを使用してそのファイル内のコマンドを実行することです。
たとえば.php
、特定のディレクトリで終わるすべてのファイルを開きたい場合は、最初files.txt
にファイルのリストを含むファイルを作成し、それらを開くために使用するコマンドを前に付けます。
sp alpha.php
sp bravo.php
sp charlie.php
次に、vim内で:
:so files.txt
ファイルのリストが大きい場合はfiles.txt
、の出力をファイルにリダイレクトls
し、vimマクロを使用してsp
各ファイル名の前に追加することで、ファイルをすばやく生成するのは比較的簡単です。
これは明らかにargs
andargdo
コマンドを使用するほどエレガントではありませんが、これらのコマンドもはるかに複雑です。
コマンドラインで1つのコマンドを使用してこれを行う方法もあるかもしれませんが、16年経っても、vimプログラミングは奇妙で難解です。
ファイルを再帰的に開く別の方法
find . -type f -exec vi {} \;
kate **/*(^/)
破棄する場合は、(zshグロブ構文を使用して)必要なことを実行すると言うこともできます。指定されたディレクトリからファイルを再帰的に開きます。それは「内部から」ではなく、vimをまったく使用していませんが、「必要なことはまだ実行しています」。またはkate ~/.vimrc ~/.bashrc
。「withingから」、「指定されたディレクトリから」、「再帰的に」を完全に省略しますが、「必要なことはまだ実行します」:ファイルを開きます。
**
ファイルを再帰的に照合するために使用します。例:args /path_to_dir/**