melhor maneira de usar o vim: r! linha de comando para colocar texto fora do histórico da linha de comando como um caminho de diretório para o arquivo

0

Existe uma maneira melhor de fazer isso no vim

Eu gosto da conclusão da linha de comando que me permite rapidamente obter um caminho completo. Então eu uso o:! Ls e tab para obter rapidamente o caminho que estou procurando.

:!ls /usr/share/doc/
up arrow get it on the command line again, accessing the command line history.
:!ls /usr/share/doc/
Then I edit it like so
:r! echo "/usr/share/doc/"

Porque eu quero colocar o caminho no arquivo e não o conteúdo do diretório. Basicamente, uma maneira rápida de colocar o conteúdo do histórico da linha de comando em um arquivo.

    
por nelaaro 15.09.2011 / 13:03

2 respostas

0

link

também no vim vale a pena ler o seguinte.

:help cmdline-mode

Basicamente, para colar o último comando que você executou, você acessa o registro de comando ":".

":p

Para obter uma lista dos últimos comandos que você executou. Você pode então selecionar a partir do histórico para reexecutar o comando.

q:

    
por 15.09.2011 / 19:26
3

(removi minha resposta estúpida porque não li a pergunta)

Hum, eu deveria ler as perguntas com mais cuidado.

O Omni-complete do Vim dá a você a conclusão do caminho.

Comece com

/usr

depois, clique em <C-x><C-f> para obter uma lista de diretórios / arquivos.

Funciona apenas para um nível, pelo que terá de repetir o processo até obter o que precisa.

Como <C-x><C-f> não é muito amigável, mapeei para ,: .

Veja :help compl-filename .

--EDIT--

No Vim, executando o seguinte:

:!ls<CR><CR>
:r !echo !<CR>

coloca ls no buffer que parece ser o que você está procurando.

No terminal, digite isto para colocar todo o histórico da sua sessão de shell em um arquivo:

$ history > history.txt
    
por 15.09.2011 / 13:46