Em Vi, como eu mapeio “: t” igual a “: tabnew”?

5

Eu não quero sempre digitar a palavra. é chato.

    
por Alex 09.01.2012 / 00:09

5 respostas

3

Uma abordagem é um comando definido pelo usuário . Infelizmente, eles não podem começar com uma letra minúscula, então sua próxima melhor opção é :T :

:commmand -nargs=* T tabnew <args>
    
por 16.01.2012 / 08:30
2

If you don't like the existing shortcuts for the tab commands, you can add your own. For instance, if you want to make it easy to open a new tab, you might insert this into your .vimrc:

imap ,t <Esc>:tabnew<CR>

This tells Vim to set up a keymap for ,t in insert mode, to run Esc to put Vim into normal mode, then :tabnew and a carriage return to run the command.

Em link
Veja também link

Use cmap para mapeamentos do modo de comando.

    
por 09.01.2012 / 00:35
1

Não obstante as outras sugestões, aqui está uma resposta mais exata à sua pergunta: Eu não acho que seja possível de forma completamente equivalente, mas esse conjunto de mapeamentos chegaria muito perto:

:nnoremap :t<CR>    :tabnew<CR>
:xnoremap :t<CR>    :tabnew<CR>

:nnoremap :t<Space> :tabnew<Space>
:xnoremap :t<Space> :tabnew<Space>

ou de forma equivalente, mas melhor :

" :map in Normal and Visual modes, but not Select mode (see :help mapmode-x
:command -nargs=*  Nxmap      nmap     <args>| xmap     <args>
     com -nargs=*  Nxnoremap  nnoremap <args>| xnoremap <args>
     com -nargs=*  Nxunmap    nunmap   <args>| xunmap   <args>

:Nxnoremap :t<CR>    :tabnew<CR>
:Nxnoremap :t<Space> :tabnew<Space>
    
por 16.01.2012 / 08:11
0

Escolha uma chave que você não usa no vim, como por exemplo ) , e e remapeie a chave para o comando tabnew:

:map ) :tabnew^M

Para inserir o último CR (^ M), digite Controle V e então Digite

    
por 09.01.2012 / 01:07
0

Um alias mais curto para :tabnew é :tabe , que é a abreviatura de :tabedit , que é apenas sinônimo de :tabnew .

    
por 16.01.2012 / 08:12

Tags