Pergunta

Eu tenho certeza que costumava ser um plug-in para este tipo de coisa, mas agora que eu preciso disso, eu não consigo encontrá-lo (naturalmente), por isso vou apenas pedir agradável e simples.

O que é a maneira mais fácil de selecionar entre colchetes, ou citações, ou geralmente uma lista de caracteres de harmonização?

   write ( *, '(a)' ) 'Computed solution coefficients:'

Por exemplo, aqui eu gostaria de selecionar (a), ou Computed solution coefficients:.

Eu não estou interessado em várias linhas, apenas a casos que ocorrem em uma linha.

Foi útil?

Solução

Use qualquer tecla de navegação você deseja obter dentro dos parênteses, em seguida, você pode usar qualquer yi( ou yi) copiar tudo dentro dos parênteses correspondentes. Isto também funciona com colchetes (por exemplo yi]) e chaves. Além y, você também pode apagar ou mudar o texto (por exemplo ci), di]).

Eu tentei isso com duplas e aspas simples e parece trabalhar lá também. Para seus dados, eu faço:

write (*, '(a)') 'Computed solution coefficients:'

Move o cursor para o C, em seguida, digite yi'. Mova o cursor para uma linha em branco, hit p, e get

Computed solution coefficients:

Como CMS observou , isso funciona para seleção de modo visual, bem -. vi) apenas uso, vi}, vi', etc

Outras dicas

Para selecionar entre as aspas simples eu costumo fazer um vi' ( "select aspas simples internos").

Dentro de um bloco parêntese, eu uso vib ( "select bloco interno")

Dentro de um chaves bloquear você pode usar viB ( "capital B")

Para fazer as seleções "inclusivo" (selecione também as aspas, parênteses ou chaves) você pode usar a vez de i.

Você pode ler mais sobre a seleções objeto de texto no manual ou :help text-objects dentro vim.

Este método de selecção é built-in e bem coberta na ajuda Vim. Abrange tags XML e muito mais.

Veja :help text-objects.

Para selecionar dentro de aspas simples usar vi'.

Para selecionar dentro uso parêntese vi(.

Use as setas ou hjkl para chegar a uma das expressões que suportam, então v para selecionar o modo visual (ou seja, seleção), então % para saltar para o outro suporte.

Escreva uma função Vim em .vimrc usando o searchpair built-in função:

searchpair({start}, {middle}, {end} [, {flags} [, {skip}
            [, {stopline} [, {timeout}]]]])
    Search for the match of a nested start-end pair.  This can be
    used to find the "endif" that matches an "if", while other
    if/endif pairs in between are ignored.
    [...]

( http://vimdoc.sourceforge.net/htmldoc/eval.html)

Gostaria de acrescentar um detalhe para a resposta mais votada:

Se você estiver usando gvim e deseja copiar para a área de transferência, uso

"+<command>

Para copiar todo o conteúdo entre parênteses (ou parens ou colchetes)

Por exemplo:. "+yi} vai copiar para a área de transferência todo o conteúdo entre as chaves o cursor é

Eu fiz uma vim-textobj-quotes plugin: https://github.com/beloglazov/vim- textobj aspas

Ele fornece objetos de texto para os pares mais próximos de citações de qualquer tipo. Usando apenas iq ou aq que permite operar sobre o conteúdo de simples ( '), duplas ( "), ou para trás (`) citações que atualmente cercam o cursor, estão em frente do cursor, ou atrás (nessa ordem de preferência). Em outras palavras, ele salta para a frente ou para trás quando necessário para atingir as aspas.

É mais fácil entender por olhar para exemplos (o cursor é mostrado com |):

  1. Antes: foo '1, |2, 3' bar; depois de pressionar diq: foo '|' bar
  2. Antes: foo| '1, 2, 3' bar; depois de pressionar diq: foo '|' bar
  3. Antes: foo '1, 2, 3' |bar; depois de pressionar diq: foo '|' bar
  4. Antes: foo '1, |2, 3' bar; depois de pressionar daq: foo | bar
  5. Antes: foo| '1, 2, 3' bar; depois de pressionar daq: foo | bar
  6. Antes: foo '1, 2, 3' |bar; depois de pressionar daq: foo | bar

Os exemplos acima são dadas por aspas simples, o plugin funciona exatamente da mesma forma para ( `) aspas (") e de volta.

Você também pode usar quaisquer outros operadores:. ciq, diq, yiq, viq, etc

Por favor, dê uma olhada na página github ligada acima para mais detalhes.

Um mapa de teclado simples no vim iria resolver esta questão. Roteiro QIV F hh”LVF” Este comando acima mapeia QIV às chaves de pesquisa entre aspas. Substituir "com qualquer personagem e criar seus mapas de teclado. Cole isto em vimrc durante a inicialização e você deve ser capaz de usá-lo sempre.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top