Mi amigo me mostró un truco genial en Emacs hace unos días donde podía abrir un archivo en un servidor remoto e instantáneamente pensé "debería haber una manera de hacerlo también en vim" y era cierto.
Puedo usar :e scp://user@server//filepath
para hacer eso, no hay problema;). Sin embargo, podría simplemente escribir el nombre del servidor y luego completar las rutas y los nombres de los archivos (con pestaña), algo que no he podido hacer. ¿Alguien sabe si esto se puede hacer en vim?
autocompletion
filesystem
m.ajallooeian
fuente
fuente
Respuestas:
Sí , pero actualmente (2015) no está listo para usar, porque el administrador de archivos incorporado de vim no admite de forma nativa la navegación remota. .
Actualización Q3 @ 2016:
Hay varias soluciones alternativas, con diferentes grados de comodidad / compatibilidad / esfuerzo. Todos juntos suman una buena solución, pero también se pueden usar individualmente:
Configure un nivel de usuario
afuse
/sshfs
daemon en sus archivos de inicio de shellCon unas pocas líneas de script de
.profile
, por ejemplo , puede configurar un montador automático bajo demanda en un directorio, por ejemplo~/scp/
. Detalles de esta integración en una publicación en Unix y Linux SE . Esta es la opción más cómoda, los archivos remotos "aparecen" localmente, pero requierenafuse
ysshfs
deben estar disponibles para usted.Configurar la finalización de la línea de comandos del shell para rutas de archivos remotas
El paquete de funciones de finalización para bash tiene algunas funciones diseñadas
ssh
yscp
completadas. Con una función de envolturavim()
, manipulando las rutas remotas envim
la forma esperada, pueden usarse para suministrar archivos remotos completados con TABvim
. Las deficiencias menores de este enfoque también se detallan allí. Para situaciones sin maltrato. Necesitabash-completion
ser instalado, o equivalente y adaptaciones para otros proyectiles.Si no puede modificar su entorno o
.vimrc
-solo: en el administrador de archivos vim puede usar las teclas // ?para buscar hacia adelante / hacia atrás, y puede asignarlas TABa una de ellas. Esto es más poderoso de lo que parece para navegar rápidamente por el sistema de archivos. Descripción a continuación.Solución básica (para vim estándar con NetRW):
$HOME
:vim scp://files/
o/
:vim scp://files///
/
o$HOME
).Para editar el control remoto
/etc/network/interfaces
con NetRW en/
:/etENTERENTER/netwENTERENTER/intENTERt
Siempre puede usar
?
para buscar hacia arriba, sin envolver desde arriba.Aún mejor , para casi imitar TAB -Completar agregar
.vimrc
:autocmd filetype netrw noremap <buffer> <TAB> /
let g:netrw_liststyle=3
<C-E>
, si lo desea (lo uso).incsearch
,ignorecase
ysmartcase
para NetRW, o todos los buffers.En comparación con la finalización de pestañas "convencional", lo anterior es diferente, pero muy cómodo.
Nota: Todo lo anterior supone conexiones sin contraseña basadas en certificados ssh
~/.ssh/config
con User, Port, Compression, JumpHost (ProxyCommand se configura de tal manera que solo se necesitan alias / nombre de host).Esto también se ha discutido anteriormente fuera del sitio aquí y aquí
fuente