Como Executar! gvim linha atual no Visualizador?

0

Código find-xargs(less)-gvim

%http://unix.stackexchange.com/a/277889/16920
find . -name "*.tex" -exec grep -il "agent" {} + | less -s -M +Gg

Saída

./InfectiousDiseases/1.4.2016.tex
./InfectiousDiseases/2.11.2015.tex
./InfectiousDiseases/21.4.2016.tex
...

Em menos, o comando !gvim

  • Você vê o número da linha atual na barra de status na parte inferior. Ele localiza no topo da janela.
  • A saída esperada é o arquivo ./ InfectiousDiseases / 1.4.2016.tex da linha atual em uma nova janela gvim .
  • A saída atual não é bem-sucedida com o arquivo vazio no vim.

Proposta de Muru com Xargs em menos

|X xargs gvim

que é sobre

|Xcommand Pipe file between current pos & mark X to shell command.

...

Sugestão de Muru com find-vim-gvim

find . -name "*.tex" -exec grep -il "agent" {} + | vim -

Eu faço com sucesso :tabe <cfile> ou :vs <cfile> apenas mantendo o cursor na linha atual. Eu faço com sucesso !gvim <cfile> , mas a exibição de lista vai para a outra exibição Press ENTER or type command to continue que eu não gosto. Gostaria de manter a exibição na exibição de lista. Também seria ótimo ter uma ligação / macro para lançar muitas janelas externas rapidamente na linha atual.

:nnoremap gff :silent! exec "!gvim " shellescape('<cfile>') <bar> redraw!<cr>

que funciona com sucesso pressionando gff na posição atual do cursor. Eu acho que a seqüência de ligação gff é muito lenta. Seria ótimo ter uma ligação estéreo que esteja pressionando dois botões que ativam a macro. Lembro-me de que CTRL-1 ou CTRL-ESC ou CTRL-F1 poderia ser possível.

...

Estou tendo algum problema com as combinações de teclas estéreo <C-1> , porque a ativação de teclas estéreo é impossível no Vim, mas não em alguns Gvim's. Eu estendi parte específica do OS X aqui no Apple Stackexchange, mas notei que o Vim StackExchange sabe melhor, então aqui .

Como você pode executar o gvim na linha atual no visualizador?

    
por Léo Léopold Hertz 준영 20.04.2016 / 22:18

1 resposta

0

Solução para questionar [descontinuado]

Então, primeiro faça

find . -name "*.tex" -exec grep -il "agent" {} + | vim -

Em .vimrc, uma macro de vi.stackexchange, em que gff abre muitas janelas da seleção visual

% 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

Desafios

  • distribuição uniforme de janelas no OS X, link ; distribuição funciona uniformemente no Ubuntu 16.04

Solução muito melhor

Use a proposta aqui e use apenas as guias .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>
    
por 13.04.2017 / 14:51

Tags