O que significa: source% mean?

1

Quando adicionei um plug-in vim, o documento VimAwesome dizia que :source % . O que isto significa? Eu gostaria de entender o significado de % .

    
por y_natsui 01.09.2018 / 22:54

3 respostas

3

No vim, % se expande para o nome (caminho) do arquivo aberto no buffer atual. Nesse caso, parece que o arquivo no buffer atual é o script que implementa o VimAwesome.

O comando :source lerá o arquivo e interpretará as instruções do VimScript nele, portanto, esse comando carregará efetivamente o plug-in vim na sessão atual do vim.

    
por 01.09.2018 / 23:15
1

O vim usa as vi as chaves para o > % (arquivo / buffer atual) e # (arquivo / buffer alternativo).

Em qualquer vi- (imitação / emulação / clone) você pode usar esses caracteres para se referir ao nome do arquivo atual e ao "outro" arquivo. Na maioria dos terminais / teclados você pode usar controle deslocamento 6 para alternar entre buffers atuais / alternados, embora isso não seja mencionado em POSIX vi . Só vai até onde isso:

Non- <backslash>-escaped '%' characters appearing in file arguments to any ex command shall be replaced by the current pathname; unescaped '#' characters shall be replaced by the alternate pathname. It shall be an error if '%' or '#' characters appear unescaped in an argument and their corresponding values are not set.

    
por 02.09.2018 / 02:47
1
O

vi já suportava símbolos especiais como atalhos para certos arquivos na linha de comando. Vim constrói em cima disso; você encontrará as informações em :help cmdline-special .

O símbolo % em particular se refere ao filespec do buffer atual. Há também um registrador epônimo ( :help quote_% ), portanto, você pode inserir o valor na linha de comando por meio de <C-r>% . Ou, como o primeiro tópico de ajuda menciona, você pode usar isso para imprimir o valor resolvido:

:echo expand('%')

O comando :source % , quando usado na configuração ~/.vimrc , recarregará a configuração. Você pode obter o mesmo efeito, fechando e reiniciando o Vim, mas isso é mais rápido. Observe que sua configuração do Vim precisa ser gravada de maneira limpa para que funcione. Caso contrário, :autocmd s pode estar duplicado ou você pode receber erros sobre os mapeamentos existentes.

    
por 03.09.2018 / 12:52

Tags