Vi & Vim

34
Como fazer uma função vimscript com argumentos opcionais?

Eu quero fazer uma função que tenha argumentos opcionais. Em python, eu faria algo assim: def functionName(arg1,arg2=false,arg3=false): if arg2: #Do stuff with arguments else: #Do stuff without arguments Eu tentei fazer function FunctionName(arg1,arg2=false,arg3=false), mas isso apenas me...

33
Aplicando configurações apenas a uma árvore de diretórios

No meu trabalho, usamos um padrão tsde 2; minha preferência pessoal é 4, que é o que eu uso para meus projetos de hobby, e esse outro projeto que herdamos tem a convenção de ts=8. Há também outras configurações que quero definir com base no projeto (por exemplo, dobrar). Basear essas configurações...

32
Como você "chomp" uma string no Vim?

Suponha que você execute a seguinte parte do vimscript: let @z = system("date") Isso colocará uma versão em cadeia da data atual no registro z, mas a cadeia terminará com uma nova linha que eu não quero. Existe uma maneira embutida (semelhante à do Perl chomp) de livrar-se das novas linhas...

32
Posso usar uma fonte não monoespaçada no Vim ou no gVim?

Existe alguma maneira de usar uma fonte não monoespaçada em um vimou gvim? Tentei alterar a fonte do gVim com: :set guifont=Dejavu\ Serif\ 12 Mas isso me dá alguns resultados bastante feios: Eu obtenho os mesmos resultados se eu usar o menu (Editar -> Selecionar fonte) :help guifont...

31
Por que devo usar o augroup?

Entendo como os comandos automáticos funcionam e como usá-los, mas tenho um pouco de certeza de que serve o augroup. Eu li em:help augroup *:aug* *:augroup* :aug[roup] {name} Define the autocmd group name for the following ":autocmd" commands. The name "end" or "END" selects the default group....

31
Expanda uma seleção visual na outra direção

Às vezes, selecionei uma seleção visual com, por exemplo, Vjjjjjapenas para perceber mais tarde que eu deveria ter iniciado a seleção uma linha acima. No entanto, pressionar ksimplesmente diminui o intervalo inferior da seleção em vez de mover a seleção inteira uma linha acima. Aqui está uma...

31
Mostrar apenas linhas correspondentes?

Em um arquivo longo, eu gostaria de procurar um padrão que corresponda aproximadamente a 200 linhas. As linhas correspondentes estão em locais aleatórios no arquivo. Quando uma linha corresponde, apenas a própria linha é relevante, sem contexto acima ou abaixo. Normalmente, eu pesquisava /e...

30
Executando certas operações sem limpar o registro

Freqüentemente, nos arquivos de configuração, posso copiar e colar um bloco de linhas, e quero fazer pequenas alterações nesse bloco. Depois de colar, eu uso xpara excluir os caracteres que quero remover e depois colar o próximo bloco. Exceto xcoloca os caracteres excluídos na área de...

30
Use operadores condicionais AND ou OR em uma instrução IF?

Esta é provavelmente uma pergunta incrivelmente simples, mas não encontrei nenhuma resposta até agora (não tenho as fontes corretas e não sei onde procurar na ajuda do vim). Eu tenho uma condição e gostaria que incluísse 'AND', como if (condition1 .AND. condition2) "do what I want you to...

29
Qual é a diferença entre let e set?

Não conheço muito a teoria por trás do Vim. Parece que temos setalgumas variáveis ​​e letoutras variáveis. Qual é a diferença e quando é necessário um sobre o outro? Além disso, o esquema de cores do vim solarizado diz para let g:blabla...qual é o significado g:nesse...

29
Renumerando a lista de buffer

Depois de trabalhar em um projeto há algum tempo, começo a ver grandes lacunas entre os números consecutivos de buffer. Isso ocorre porque os buffers entre eles foram eliminados por vários motivos. Infelizmente, isso pode dificultar o acesso a um buffer específico ou selecionar um intervalo de...