Como enviar um comando personalizado para o terminal?

0

Digamos que eu queira executar "echo hello" quando eu pressionar <leader>T

Como posso escrever o script?

Existe alguma maneira de fazer isso bem?

Estou pensando em criar um comando personalizado.

    
por Kit Ho 03.07.2013 / 11:58

3 respostas

0

Você está pensando em algo assim?

:!echo hello

e lendo o conteúdo de um comando shell (neste caso o ls commnand):

:r !ls
    
por 03.07.2013 / 12:06
0

Você pode fazer isso com este comando:

nnoremap <leader>T :!echo hello<cr>

Ou, se você não se importa com a saída:

nnoremap <leader>T :silent !echo hello<cr>

Você pode colocar isso em .vimrc para que o mapeamento seja definido na inicialização.

Eu tenho alguns comandos que quero executar no arquivo atual. Se você quiser salvar as alterações primeiro e, em seguida, passar o nome do arquivo como um argumento, poderá fazer assim:

nnoremap <leader>T :update<cr>:!cat '%:p'<cr>

onde '%:p' se expande para o caminho completo para o arquivo.

    
por 03.07.2013 / 21:43
0

Você pode definir um comando usando 'comando'. por exemplo. adicione isto ao seu .vimrc:

" define command Hello:
command! Hello echo 'hello world'

Então você pode executar este comando no modo de comando:

:Hello

Para ver exemplos mais complicados, basta executar :verbose command COMMAND_NAME para encontrar sua definição. por exemplo. executar:

:verbose command NERDTree

Ele me diz que o comando NERDTree está definido em ... / nerdtree / plugin / NERD_tree.vim, então você pode descobrir como o comando NERDTree está definido.

    
por 14.07.2013 / 15:13

Tags