Meu amigo me mostrou um truque legal no Emacs há alguns dias atrás, onde ele podia simplesmente abrir um arquivo em um servidor remoto e eu pensei instantaneamente "deveria haver uma maneira de fazer isso no vim também" e isso era verdade.
Eu posso apenas usar :e scp://user@server//filepath
para fazer isso, não há problema;). No entanto, ele poderia apenas digitar o nome do servidor e obter a conclusão dos caminhos e nomes dos arquivos (com guia), algo que não consegui fazer. Alguém sabe se isso pode ser feito no vim?
autocompletion
filesystem
m.ajallooeian
fonte
fonte
Respostas:
Sim , mas atualmente (2015) não está pronto para uso, porque o gerenciador de arquivos interno do vim não suporta nativamente a navegação remota. .
Atualização Q3 @ 2016:
Existem várias soluções alternativas, com diferentes graus de conforto / compatibilidade / esforço. Juntos, eles somam uma boa solução, mas também podem ser usados individualmente:
Configure um daemon
afuse
/ nível de usuáriosshfs
em seus arquivos init do shellCom algumas linhas de script originárias de
.profile
, por exemplo , você pode configurar um montador automático sob demanda em um diretório, por exemplo~/scp/
. Detalhes dessa integração em um post no Unix e Linux SE . Essa é a opção mais confortável: os arquivos remotos "parecem" locais, mas exigemafuse
esshfs
estão disponíveis para você.Conclusão da linha de comando do shell de instalação para caminhos de arquivos remotos
O pacote de funções de conclusão para o bash possui algumas funções projetadas
ssh
escp
concluídas. Com uma função de invólucrovim()
, manipulando caminhos remotos paravim
a forma esperada, eles podem ser usados para fornecer arquivos remotos preenchidos por TABvim
. As pequenas deficiências dessa abordagem também são detalhadas aqui. Para situações sem abuso. Precisabash-completion
ser instalado ou equivalente e adaptações para outros reservatórios.Se você não pode modificar o seu ambiente ou
.vimrc
apenas: No gerenciador de arquivos vim, você pode usar as teclas // ?para avançar / retroceder e pode mapear TABpara um deles. Isso é mais poderoso do que parece para navegar rapidamente pelo sistema de arquivos. Descrição abaixo.Solução básica (para vim padrão com NetRW):
$HOME
:vim scp://files/
ou/
:vim scp://files///
/
ou$HOME
).Para editar remotamente
/etc/network/interfaces
com o NetRW ativado/
:/etENTERENTER/netwENTERENTER/intENTERt
Você sempre pode usar
?
para pesquisar para cima, sem quebrar a partir do topo.Ainda melhor , para quase imitar TAB -Completion, adicione
.vimrc
:autocmd filetype netrw noremap <buffer> <TAB> /
let g:netrw_liststyle=3
<C-E>
, se você quiser (eu o uso).incsearch
,ignorecase
esmartcase
para NetRW, ou todos os buffers.Comparado com o preenchimento de guias "convencional", o acima é diferente, mas muito confortável.
Nota: Todas as
~/.ssh/config
opções acima pressupõem conexões sem senha baseadas em certificado ssh com Usuário, Porta, Compactação, JumpHost (o ProxyCommand é configurado de forma que apenas nomes de host / aliases sejam necessários.Isso também foi discutido anteriormente aqui e aqui
fonte