암호find-xargs(less)-gvim
%http://unix.stackexchange.com/a/277889/16920
find . -name "*.tex" -exec grep -il "agent" {} + | less -s -M +Gg
산출
./InfectiousDiseases/1.4.2016.tex
./InfectiousDiseases/2.11.2015.tex
./InfectiousDiseases/21.4.2016.tex
...
Less에서는 다음 명령을 사용합니다.!gvim
- 하단의 상태 표시줄에서 현재 줄 번호를 설정할 수 있습니다. 창 상단에 있습니다.
- 예상 출력은 파일입니다../전염병/1.4.2016.tex새 창의 현재 행김.
- 현재 출력이 실패했으며 vim의 파일이 비어 있습니다.
Muru는 Xargs에 대한 제안이 적습니다.
|X xargs gvim
이것은 대략
|Xcommand 현재 위치와 X 표시 사이의 파이프 파일을 쉘 명령으로 표시합니다.
...
무루의 조언find-vim-gvim
find . -name "*.tex" -exec grep -il "agent" {} + | vim -
나는 이 작업을 성공적으로 수행했거나 :tabe <cfile>
커서 :vs <cfile>
를 현재 줄에 유지했습니다. 성공했지만 !gvim <cfile>
목록 보기가 Press ENTER or type command to continue
마음에 들지 않는 다른 보기로 이동합니다. 목록 보기로 보기를 유지하고 싶습니다. 현재 줄에서 많은 외부 창을 빠르게 시작할 수 있는 바인딩/매크로가 있다면 좋을 것입니다.
:nnoremap gff :silent! exec "!gvim " shellescape('<cfile>') <bar> redraw!<cr>
gff
현재 커서 위치를 누르면 성공적으로 작동합니다. 시퀀스 바인딩이 gff
너무 느린 것 같습니다 . 버튼 두 개를 눌러 매크로를 활성화하는 스테레오 장비가 있으면 좋을 것 같습니다. CTRL-1, CTRL-ESC 또는 CTRL-F1이 모두 가능하다는 것을 기억합니다.
...
<C-1>
Vim에서는 스테레오 키 바인딩이 불가능하지만 일부 Gvim에서는 불가능하기 때문에 스테레오 키 바인딩 에 몇 가지 문제가 있습니다 . OS X 특정 부분을 확장했습니다.여기Apple Stackexchange에 있지만 Vim Stackexchange가 더 잘 알고 있다고 언급했습니다.여기.
뷰어의 현재 줄에서 gvim을 실행하는 방법은 무엇입니까?
답변1
문제 해결 방법 [더 이상 사용되지 않음]
그럼 가장 먼저 해야 할 일은
find . -name "*.tex" -exec grep -il "agent" {} + | vim -
.vimrc에서 vi.stackexchange의 매크로는 gff
여러 시각적 선택 창을 엽니다.
% https://vi.stackexchange.com/a/7627/2923
if has("win32") || has("win64")
:vnoremap gff :<C-U>'<,'>g/^/silent! exec "!START /B gnvim " . shellescape('<cfile>') <bar> redraw!<cr>
else
:vnoremap gff :<C-U>'<,'>g/^/silent! exec "!gnvim " . shellescape('<cfile>') . " &" <bar> redraw!<cr>
endif
도전
- OS X에서 창의 균일한 분포,https://vi.stackexchange.com/q/7637/2923;Ubuntu 16.04에서는 배포가 균등하게 실행됩니다.
더 나은 솔루션
제안 사용여기탭을 이용하면 됩니다.vimrc
nnoremap <leader>gf :silent! execute "tabe " . expand('<cfile>') <bar> redraw!<CR>
function! OpenSelectionAsTabs() range
let tabnr = tabpagenr()
for line in range(a:firstline, a:lastline)
execute "tabedit " . getline(line)
execute "tabp"
endfor
endfunction
nnoremap <leader>gf :'<,'>call OpenSelectionAsTabs()<CR>
vnoremap <leader>gf :call OpenSelectionAsTabs()<CR>