刚从vim开始转入emacs阵营,现在用的是spacemacs
** 描述
使用spacemacs/helm-project-smart-do-search
搜索时会搜索到项目里生成的压缩文件,能使用 .gitignore
忽略掉这些文件吗?
** 场景重现
- 打开
Emacs
-
SPC f f
并打开包含 .gitignore
的文件夹里的文件
- 使用
SPC /
并输入搜索关键字
*** 出现
匹配出包含关键字的所有文件
*** 期待
忽略掉 .gitignore
中的文件后的匹配结果
** 系统环境
- OS: macOS Sierra 10.12.4
- Emacs: 25.1.1
- Spacemacs: 0.200.x
- Spacemacs branch: master (rev. c2774bc)
- Editing style: vim
- Completion: helm
- Layers:
yaml
html
javascript
python
helm
auto-completion
(better-defaults :variables better-defaults-move-to-end-of-code-first t) ;comment
emacs-lisp
git
markdown
org
spell-checking
syntax-checking
这个功能是由helm-ag
这个包决定的,主要看你使用的搜索后端是什么。
目前ag
似乎对.gitignore
支持不是很好。
详见 https://github.com/syl20bnr/spacemacs/issues/8428
谢谢 回答,请问怎么安装 配置?
我怎么只找到helm-ag-r
是这个包吗?
如果你的搜索用了heml-ag, 你可以通过.agignore 定制ag的搜索。
比如我的一个工程下的.agignore
frameworks
runtime
simulator
assetsUpdate_test
project.manifest
version.manifest
1 个赞
在终端里可以alias ag='ag --path-to-agignore ~/.agignore'
,emacs里helm-ag-use-agignore
说是Use .agignore where is at project root if it exists.
,所以要始终使用同一个(比如~
目录下)的.agignore
的话可能需要helm-ag-command-option
1 个赞
@young40 @JJPandari 谢谢你们的回答,
我终于解决了,但我发现它只支持一层的目录
要是这样就不行了。。。
static/dist/conf/*.json
static/dist/js
static/dist/css
一层也能用了,哈哈
我都是git init .
,然后编辑 .gitignore
。然后M-x helm-project-do-ag
就可以忽略掉gitignore中的文件了 。这个命令会用aprojectile(一个package)找到最近的一个project(这里project的意思是一个.git
文件夹),在这个目录下执行ag