Procurando por uma determinada palavra e modificando-as dentro do Sublime Text 2 e Vim

1

Estou tentando aprender as combinações de teclas do vim uma por uma. A coisa que achei que deveria melhorar logo é encontrar uma sequência de texto e substituí-los por outra coisa.

Eu fiz isso com sucesso no E-TextEditor no Windows, onde eu digitarei v / alguma coisa / \ rsomethingelse

para o efeito desejado.

mas acho que não é o caso no modo de comando no SublimeText 2. O que acontece no ST2 é que, uma vez no modo de comando, pressiono v, que coloca o editor no modo visual, então se eu digitar / , entra em busca, aí eu digito a palavra "alguma coisa", se eu pressionar "/", fará parte da consulta de busca ao invés de encerrar o regexp, ok, pensei, então eu pressione retorno para ver se uma instância de algo é selecionado, mas isso não acontece, nem esc ou qualquer outra chave que eu possa pensar. Observe que as instâncias de "alguma coisa" são encontradas, mas não são selecionadas para outras operações.

Esse recurso não existe no SublimeText2 ou estou faltando alguma coisa?

    
por Nik So 05.11.2011 / 03:41

2 respostas

7

Nik, ou você aprende o Vim ou aprende o Sublime Text 2.

O modo vintage do ST2 é, na melhor das hipóteses, uma boa aproximação dos recursos mais básicos do Vim dentro das restrições do Texto Sublime.

Por exemplo, ele não tem a mesma linha de comando e, portanto, não oferece o recurso de pesquisa / substituição impressionante do Vim.

Para isso, você deve usar o mecanismo de busca / substituição do ST2 acessível digitando Ctrl + h .

Quando você digita / no "modo de comando", tem a barra de pesquisa exibida na parte inferior da janela. Como a própria barra de pesquisa do ST2 (também acessível via Ctrl + f ), não funciona como a barra de substituição. Muito menos como a linha de comando do Vim.

A lista de semelhanças no modo vintage / vim é milhares de vezes mais curta do que a lista de suas diferenças, então sugiro que você faça uma pausa e pense no que realmente deseja fazer:

a) aprende como usar o Sublime Text 2, que é um editor de texto muito bom

ou

b) aprende como usar o Vim, que é um dos dois melhores editores de texto (como diplomático eu sou).

Se você escolher a) , não precisará ativar o modo vintage, pois a maioria de seus recursos são mapeamentos de 1/1 para os recursos do próprio ST2. Pare de olhar para os artigos do Vim, em vez disso, invista seu tempo aprendendo como o ST2 funciona e como tirar o melhor proveito disso.

Se você escolher b) , a primeira etapa deve ser fazer o tutorial vim acessível via Terminal.app: digite vimtutor e siga adiante. Uma vez que você tenha feito vimtutor (talvez algumas vezes), você pode baixar uma versão recente do MacVim e começar a aplicar seu novo conhecimento.

Não fazer essa escolha não o levará a lugar nenhum porque a maior parte do que você encontrará sobre o Vim não funcionará no ST2 e o que funciona lá é uma pequena fração do que torna o Vim tão incrível.

No final, sua escolha é irrelevante. O que conta é que você faz isso e se concentra.

    
por 05.11.2011 / 10:08
2

Nik, embora eu tenha certeza de que suas intenções são melhores, devo dizer que concordo (para o maior parte) com @romaini sobre isso.

Vim e Sublime Text 2 ( ST2 ) são, embora tentem ser semelhantes (bem, um tentando mais do que o outro) dois editores diferentes. Eu não usei ST2 muito, mas Vim Eu usei bastante, e se destaca nesse tipo de coisa, então vale a pena Aprendendo. Pode demorar um pouco, sim, mas com o passar do tempo você aprende "novo truques "as coisas começam a ser" lógicas "cada vez mais.

Vim's "poder" vem de várias coisas; mapeamentos , operador / movimento combinações e expressões regulares .

Por exemplo, se pegarmos sua string:

print('AwfullyWide')
print('NotReally')

Você está no começo da primeira linha e deseja substituir o conteúdo os apóstrofos. Digitando ci' , que significa change inside apostrophe ( change is o operador , inside ' é o movimento (texto) sobre o qual o operador será executado, você receberá print('') após o qual você pode substituir o texto.

A maneira de trabalhar do Vim dessa maneira é melhor se você se perguntar "O que desejo realizar com algum texto específico? ". Então começa fazendo sentido.

Claro, se você deseja fazer isso de uma só vez :%s/AwfullyWide/NotReally um simples substituição fará o mesmo resultado. Claro, regexes tem muito mais potencial que esta simples substituição.

    
por 05.11.2011 / 16:39