[vim ] vim + find + xargs

看板Editor作者 (gigigigi)時間8年前 (2015/12/31 11:17), 編輯推噓4(4015)
留言19則, 5人參與, 最新討論串1/1
請問一下vim 裡面有辦法做到切換目錄後 find . -name '*.c' | xargs ag 'keyword' 選擇清單裡面檔案new tab 開啟 ex: cd ~/code find . -name '*.c' | xargs ag 'keyword' 之後出現list, 選擇要看的檔案後vim open new tab 去看這檔案 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.193.203 ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1451531871.A.A1B.html

12/31 19:26, , 1F
如果沒記錯 ag 有提供指定原始碼類型的 flag
12/31 19:26, 1F

12/31 22:45, , 2F
ag --list-file-type 可列出內建支援的檔案分類參數
12/31 22:45, 2F

12/31 22:46, , 3F
例如加個--cc可只找.c .h .xs檔
12/31 22:46, 3F

12/31 22:47, , 4F
這樣找的快,打字也快。
12/31 22:47, 4F

12/31 22:48, , 5F
(指令字數較短)
12/31 22:48, 5F

01/01 03:49, , 6F
我剛剛看ag是可以~可是指定副檔名好像都是它預先定好
01/01 03:49, 6F

01/01 03:50, , 7F
如果我今天要找特殊副檔名 ag 好像不行
01/01 03:50, 7F

01/01 19:08, , 8F
試試看 !{find . -name '*.c' | xargs ag 'keyword'}
01/01 19:08, 8F

01/01 23:19, , 9F
/bin/bash: {find: command not found
01/01 23:19, 9F

01/02 01:03, , 10F
我的 SHELL 是 ZSH,BASH 的話把 {} 換成 ()
01/02 01:03, 10F

01/02 01:15, , 11F
BTW 推薦 ZSH + OH-MY-ZSH
01/02 01:15, 11F

01/02 01:45, , 12F
改成()可以~不過這樣find & xargs 的 list 無法像
01/02 01:45, 12F

01/02 01:46, , 13F
ag.vim or ack.vim 那樣選項之後在 open new tab
01/02 01:46, 13F

01/02 01:46, , 14F
後來我發現ag -G好像可以, 但是例如我要search c file
01/02 01:46, 14F

01/02 01:47, , 15F
ag -G '*.c' 'keyword' , 好像無法搜到所有.c 檔案
01/02 01:47, 15F

01/02 20:24, , 16F
-G 後加的那個要是一個 REGEX 如 '.*\.c'
01/02 20:24, 16F

01/09 23:56, , 17F
非常欣賞你!!加油
01/09 23:56, 17F

03/16 01:12, , 18F
分享一下類似需求的東西 :) 客官玩看看符不符合您
03/16 01:12, 18F
文章代碼(AID): #1MX9vVeR (Editor)