以下を達成することは可能ですか?
➜ ag editNote
src/store/actions.js
8:const editNote = ({ commit }, e) => {
26: editNote,
src/components/Editor.vue
5: @input="editNote"
22: 'editNote',
/frontend on master [✘!?]
➜ vi Ed
たとえば、入力を開始したいと思います。編集するそしてそれに置き換え
vi ソース/コンポーネント/Editor.vue
答え1
bashでもzshでも、どのシェルでも端末スクロールバックバッファにアクセスできません。 agが実行されると、その出力は端末に直接送信され、シェルからそれを傍受することはできません。
端末の種類によっては、スクロールバックバッファの内容をキャプチャすることも可能です。 rxvt-unicodeは、エスケープシーケンス" \ e [0i"を使用して一時ファイルにダンプするように誘導できます。 tmuxの場合は使用でき、tmux -q capture-pane \; save-buffer -b 0 $TMPFILE \; delete-buffer -b 0
screenも同じことができますscreen -X hardcopy $TMPFILE
。ただし、これらのソリューションはすべて、ローカルのzshセッション内でのみ機能します。 ssh または同様のツールを使用すると、一時ファイルは zsh と同じシステムに存在しなくなります。
これらの一時ファイルは、カスタムコンプリートウィジェットに使用できます。このようなウィジェットがありますが、ここに貼り付けるには少し長すぎます。