helm-ag에서 빠른 검색 (GNU Emacs/Cygwin)
실수 등 있으면 지적해 주시면 다행입니다.
[환경] Windows7/Cygwin/GNU Emacs24.3
ag.exe 만들기
준비 (Shift-JIS, EUC-JP 대응)
ag (the silver searcher)는 utf-8 텍스트 파일 만 검색합니다.
Shift-JIS와 EUC-JP의 텍스트 파일도 대상에 포함하도록 패치 한 Ver이있었습니다.
ag (The Silver Searcher)에서 EUC-JP / Shift-JIS 파일도 검색 할 수 있도록 시도 - Thinking-megane
그러나, 빌드가 지나가지 않았습니다…
리노베이션 포인트는 src/util.에서만 사용되었으므로 src/util.을 master 프로젝트로 대체하여 master 프로젝트를 빌드했습니다.
monochromegane/the_silver_searcher at detect-japanese-char-set · GitHub
↑ 여기에서 src/util.c 및 src/util.h 복사
ggreer/the_silver_searcher · GitHub
마스터 프로젝트를 clone하여 복사한 파일을 바꿉니다.
빌드
cygwin을 시작하고 silver searcher 디렉토리로 이동하여 build.sh를 실행합니다.
cd the_silver_searcher
./build.sh
빌드가 끝나면 생성 된 ag.exe를 cygwin/bin에 복사합니다.
cp ./ag.exe /bin/
↓ 빌드가 통과하지 않는 경우, 이쪽의 페이지가 참고가 될까 생각합니다
Windows Cygwin 환경의 The Silver Searcher (ag.exe) 빌드 방법 - Geek Nooblog
Emacs 설정
emacs에서 ag.exe 경로를 통과
emacs에서 M-x getenv path를 실행하고 path 값에 C :\cygein\bin;이 포함되어 있지 않으면 .emacs에/cygwin/bin 디렉토리를 path에 추가하는 코드를 추가합니다.
.emacs;;/cygwin/binをパスを通す
(setenv "PATH" ("C:\cygein\bin;" (getenv "PATH")))
helm-ag.el 얻기
cygwin에서 다음 명령을 실행합니다.bash:
git clone https://github.com/syohex/emacs-helm-ag.git
.emacs에 helm-ag 설정 추가
helm-ag_sample.el;必要であればload-pathにhelm-agディレクトリを追加
;(add-to-list 'load-path "C:\Dropbox/.emacs.d/elisp/emacs-helm-ag")
(require 'helm-config)
(require 'helm-files)
(require 'helm-ag)
; agのデフォルトのコマンドオプションを指定
; -nを消すとサブディレクトリも再帰的に検索します
(setq helm-ag-base-command "ag --nocolor --nogroup -n")
;Alt+sでag実行
(define-key global-map [(M s)] 'helm-ag)
동작 이미지
Dired에서 M-s → "ag --nocolor --nogroup -n"을 실행 한 결과.
파일 내 검색의 경우 M-x helm-ag-this-file을 사용합시다.
신경이 쓰이는 점
Dired 버퍼의 문자 코드가 utf-8이므로,
"ag --nocolor --nogroup -n 한다"
"하는"은 utf-8입니다.
(검색 명령의 문자 코드는 현재 버퍼의 문자 코드를 인수하는 것 같습니다)
따라서이 경우 Shif-JIS 나 EUC-JP 파일 내의 "한다"는 히트하지 않습니다.
다른 문자 코드로 검색하려면 C-x RET f (또는 M-x set-buffer-file-coding-system RET)를 사용하여 현재 버퍼의 문자 코드를 변경 → helm-ag를 다시 실행해야합니다.
참고
helm-ag 저자의 페이지. 감사합니다
helm-ag를 썼다 - Life is very short
Reference
이 문제에 관하여(helm-ag에서 빠른 검색 (GNU Emacs/Cygwin)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hal0223/items/d6e96304e913027f48ac
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cd the_silver_searcher
./build.sh
cp ./ag.exe /bin/
emacs에서 ag.exe 경로를 통과
emacs에서 M-x getenv path를 실행하고 path 값에 C :\cygein\bin;이 포함되어 있지 않으면 .emacs에/cygwin/bin 디렉토리를 path에 추가하는 코드를 추가합니다.
.emacs
;;/cygwin/binをパスを通す
(setenv "PATH" ("C:\cygein\bin;" (getenv "PATH")))
helm-ag.el 얻기
cygwin에서 다음 명령을 실행합니다.
bash:
git clone https://github.com/syohex/emacs-helm-ag.git
.emacs에 helm-ag 설정 추가
helm-ag_sample.el
;必要であればload-pathにhelm-agディレクトリを追加
;(add-to-list 'load-path "C:\Dropbox/.emacs.d/elisp/emacs-helm-ag")
(require 'helm-config)
(require 'helm-files)
(require 'helm-ag)
; agのデフォルトのコマンドオプションを指定
; -nを消すとサブディレクトリも再帰的に検索します
(setq helm-ag-base-command "ag --nocolor --nogroup -n")
;Alt+sでag実行
(define-key global-map [(M s)] 'helm-ag)
동작 이미지
Dired에서 M-s → "ag --nocolor --nogroup -n"을 실행 한 결과.
파일 내 검색의 경우 M-x helm-ag-this-file을 사용합시다.
신경이 쓰이는 점
Dired 버퍼의 문자 코드가 utf-8이므로,
"ag --nocolor --nogroup -n 한다"
"하는"은 utf-8입니다.
(검색 명령의 문자 코드는 현재 버퍼의 문자 코드를 인수하는 것 같습니다)
따라서이 경우 Shif-JIS 나 EUC-JP 파일 내의 "한다"는 히트하지 않습니다.
다른 문자 코드로 검색하려면 C-x RET f (또는 M-x set-buffer-file-coding-system RET)를 사용하여 현재 버퍼의 문자 코드를 변경 → helm-ag를 다시 실행해야합니다.
참고
helm-ag 저자의 페이지. 감사합니다
helm-ag를 썼다 - Life is very short
Reference
이 문제에 관하여(helm-ag에서 빠른 검색 (GNU Emacs/Cygwin)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hal0223/items/d6e96304e913027f48ac
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(helm-ag에서 빠른 검색 (GNU Emacs/Cygwin)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hal0223/items/d6e96304e913027f48ac텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)