seleciona apenas o texto colado

6

Muito simples - como selecionar um texto colado (depois de colá-lo)?

Estou editando alguns arquivos que são puramente dados, e às vezes fico "perdido" ... por isso ajudaria se eu pudesse selecioná-lo ou de alguma forma marcar o texto que acabei de colar para ter uma confirmação visual e saber de onde continuar.

Pode ser feito?

    
por Rook 30.03.2010 / 23:44

6 respostas

1

Você tentou 'gv' no modo normal ...
Não seleciona realmente o último texto colado ...
Seleciona o último texto selecionado ..
editar:

nmap p :call Paster()<CR> 
nmap '; :call LastPasted()<CR>
nmap y :call ClearList()<CR>

let s:linelist=[]
let s:lastidx=len(s:linelist)
if !exists("*Paster")
    function! Paster()
        let x=getpos(".")
        let s:linelist+=[x]
        let s:lastidx=len(s:linelist)
        if s:lastidx>50
            remove(s:linelist,0)
            let s:lastidx-=1
        endif
        "echo s:linelist
        exec "normal! \"0gp"
    endfunction
endif
if !exists("*LastPasted")
    function! LastPasted()
        if s:lastidx>0
            let s:lastidx=s:lastidx-1
        else
            let s:lastidx=len(s:linelist)-1
        endif
        let pos=s:linelist[s:lastidx-1]
        call setpos(".",pos)
    endfunction
endif
if !exists("*ClearList")
    function! ClearList()
        let s:linelist=[getpos(".")]
        let s:lastidx=0
        exec "normal! :y\<CR>"
    endfunction
endif

Isto pode ajudá-lo .. Adicione isto ao seu arquivo vimrc.
Aqui eu remapeei 'y' (yank) e 'p' (colar) de tal forma que, a posição do cursor é salva para cada cópia e colagem. Você pode usar '; para alternar entre as posições. Ele não seleciona o texto colado, mas leva você para as posições em que você colou o texto. Para cada nova cópia, o buffer (uma lista) é limpo.

Limitei apenas o buffer para 50. Você pode remover a seção se não for necessário.

    
por 31.03.2010 / 16:18
3

talvez:

m'gpv''

como em:

m'                " set the 'context' mark
gp                " paste the stuff and place the cursor after the
                  " new text
v                 " visual mode
''                " jump to the 'context' mark and selecting
                    the previous pasted text
    
por 31.03.2010 / 19:51
2

Desfazer e depois refazer. Não seleciona o texto, mas informa onde a alteração ocorreu. Se você fez alguma outra edição desde a colagem ... sempre há vários desfazer.

    
por 31.03.2010 / 01:51
1

Bem, ainda está na sua área de transferência, pronto para colar. Se você se perder, poderia fazer outra pasta em um arquivo de texto vazio e ver onde estava pelo que foi colado.

    
por 30.03.2010 / 23:56
1

cole v '' (isto é, cole o texto, v, aspas simples duas vezes). parece selecionar o que acabou de ser colado, em gvim73 no windows.

    
por 21.10.2010 / 22:56
0

Você pode selecionar apenas texto colado usando o seguinte mapeamento:

nnoremap <expr> gp ''[' . getregtype()[0] . '']'

Encontrado em SO . Aqui também há alguns dados adicionais sobre como funciona.

    
por 05.03.2013 / 12:15

Tags