大きなマルチファイルプロジェクトを編集するときに使用するワークフロー


7

最近、仕事の多くをIntelliJからvimにシフトしています。少数のプラグインと設定の微調整で、IDEを見逃すことはありません。

私が見落としていることの1つは、ソースファイルの大きなディレクトリツリーを簡単に移動できることです。

39のソースファイルを含む中規模のプロジェクトに取り組んでいます。少数のディレクトリに分割します。

IntelliJはこの(私の写真ではなく)のようにプロジェクトディレクトリを表示します。IDEに慣れていない場合は、ファイルの1つをクリックして、メインの編集ウィンドウまたは分割で開くことができます。

現在私はたくさんのTmuxペインを開いていますが、それはペインが小さくなりすぎる前に2つまたは3つのファイルに対してのみ有効です。

Tmuxサイドバーは機能を視覚的に複製しますが、編集するにはファイル名とパスを手動で入力する必要があります。

Vimはネイティブ:Ex:Sex動作しますが、(私が知る限り)別の分割でファイルを開くためにそれらを使用する方法はありません。私はそれを開いて、それを使用して既存のバッファ/スプリット内のファイルを開くことができるようにしたいと考えています。


3
onetrwを使用するときは、ファイルで使用してみてください(netrwが:Ex開きます)。
Tumbler41 2017

回答:


6

私は長い間を使っていました、そして「tpope way」のおかげで私にネイティブのnetrwショートカットを教えてくれました(ところでツリービューがあり、i3回押します)。裸のVimで見逃しているのは、-ディレクトリを上るマッピングだけです。

私は大規模なディレクトリではめちゃくちゃ速く、さらに慣用的なアプローチをとっているダービッシュに切り替えましたが、READMEから:

Vimの組み込みメカニズムおよび補足 プラグインと連携するように設計されたパスナビゲーター

各行はファイルパスです(concealで非表示 )

ファイルシステムを変更しない

視覚的な選択で複数のファイルを開く

NERDTreeやクラシックIDEを模倣する他のプラグインとは異なり、これら2つは現在のバッファーを使用してファイルリストを表示し、より集中したワークフローを強制し、最終的にコンテンツにより多くのスペースを割り当てます。プロジェクトドロワーのように垂直分割でnetrwまたはdirvishを開くことを妨げるものは何もありません。

Neovim w / dirvish&ctrlp

また、ctrlp(上記参照)を使用して、現在のディレクトリでファイルをすばやく見つけることにも慣れています。この設定は、thoughtbotのVimのFaster Greppingからインスピレーションを得たものgrepag、可能な場合はに置き換えられます。

if executable('ag')
  " Use Ag over Grep (additional options: --column, --ignore-case)
  set grepprg=ag\ --nocolor\ --nogroup\ --vimgrep

  " Use The Silver Searcher in CtrlP for listing files
  " Respect .gitignore and .agignore, ignores hidden files by default
  let g:ctrlp_user_command = 'ag --nogroup --nocolor --files-with-matches --hidden --ignore .git -g "" --literal %s'
  " Disable per-session caching
  let g:ctrlp_use_caching = 0
else
  " Exclude .gitignore patterns
  let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -co --exclude-standard']
endif

しかし、単純なマップはそのトリックを行うことができ:e **/*、パターンを続けて入力し、で循環させるだけ<Tab>です。

" Find a file in current working directory
nnoremap <Leader>e :e **/*

2

私はファイルチューザーとしてRangerを本当に気に入っています。NERDTreeとは異なり、必要なときにのみ表示され、Vimのようなキーバインディングがあり、Vimなしでも使用できます。

画像



1

サイドパネルで組み込みのファイルブラウザnetrwを使用できます。ここに簡単な紹介があります:

  1. おそらくvim .またはで、netrwでフォルダを開きます:e folder

  2. ファイルを選択し、ヒットvして[v] ertical splitで開きます。

  3. しかし、おそらく左側にファイルブラウザが必要です。ヒットCtrl-W x永久修正

  4. 現在のウィンドウを広くしたい場合があります。ヒット20 Ctrl-W >

  5. 次回ファイルを開くには、ヒットShift-Pの代わりにv、既存のファイルパネル([P] reviousウィンドウ)で開きます。

おまけ:名前が示すように、netrwはネットワーク(FTP、SFTP)でも機能します。NerdTree VTreeExplorerのようなファイルツリープラグインがその動作を提供するかどうかはわかりません。

iキーを数回押すと、netrwにツリーが表示されます。

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