Existe uma maneira de interagir com o modo de linha de comando, permanecendo sempre na posição inicial?
Em particular, as duas ações a seguir são complicadas, exigindo mover os dedos para longe das teclas de seta e, às vezes, pior, do mouse.
- Movendo-se: Existe uma maneira de se mover para frente e para trás no modo de linha de comando enquanto permanece na posição usual?
- Como você pode copiar e colar na linha de comando? Quero dizer, copiar tanto de parte da própria linha de comando para outra parte, ou do texto ou até da área de transferência.
command-line
Shahbaz
fonte
fonte
:q
; Isso abre uma nova "buffer-like" janela, em que você pode usarhjkl
para o movimento,y
para arrancar, etc.q:
, certo?) É bom saber! Eu cheguei acidentalmente lá no passado, mas não pensei em usá-lo. Parece que não funciona com/
(pesquisa).Respostas:
Existe a linha de comando (que você conhece) e a janela da linha de comando (a linha de comando em um buffer especial, que você pode editar como qualquer outro). Você entrar neste, quer através
<C-f>
da linha de comando (também para/
pesquisas etc.) quando você sente a necessidade de mais "poder de edição", ou diretamente de modo normal através do dedicadoq:
,q/
etc. comandos.Leia mais sobre isso em
:help command-line-window
.fonte
<C-f>
é muito útil saber, pois funciona depois que você já está na metade do comando.:
vem quase automaticamente para mim, por isso é bom poder alternar sem voltar ao modo normal.Além de fornecer a janela da linha de comando , o Vim também oferece alguns recursos limitados, permitindo que você interaja com a linha de comando enquanto estiver no modo de linha de comando ( sem usar as teclas de seta).
Movimento
<ctrl-b>
mova o cursor para o início da linha de comando<ctrl-e>
mova o cursor para o final da linha de comandoEdição
<ctrl-h>
exclua o caractere antes do cursor (como backspace)<ctrl-w>
exclua a palavra antes do cursor<ctrl-u>
excluir todo o caminho do cursor de volta ao início da linha de comandoObviamente, você pode adicionar mapeamentos de linha de comando
:cnoremap
para emular as teclas de navegação de outros programas . Ou instale o plug - in RSI de Tim Pope para usar as ligações Readline padrão de fato.Colagem
Você pode colar o conteúdo de qualquer registro na linha de comando na posição do cursor pressionando
<ctrl-r>
seguido pelo caractere que especifica o registro. por exemplo<ctrl-r>
,+
irá inserir o conteúdo da área de transferência na linha de comando;<ctrl-r>
,"
irá inserir o conteúdo do registro "sem nome" (ou seja, o conteúdo da sua última exclusão ou arrancada).Veja
:help cmdline.txt
para mais detalhes de todos os itens acima.fonte
<ctrl-r>
seria particularmente útil.^R
para macros. Ele me permitiu executar manipulações super complicadas de texto, puxando parte do arquivo durante a macro e, posteriormente, também durante a macro, usando a parte puxada em um longo comando no modo Ex com^R
. :)