texto - que es vim
¿Cómo compartir un archivo vimrc entre múltiples clientes? (8)
No soy una persona muy ordenada a veces y a menudo me encuentro en la situación de perder mi antiguo archivo vimrc totalmente modificado y tener que comenzar de nuevo. O tener diferentes versiones de archivos vimrc en diferentes clientes. Dado que este desastre se está yendo de las manos para mí, me gustaría saber si hay una buena manera de administrar mi archivo vimrc.
Mi primera iniciativa es poner mi _vimrc en subversión (Google Code) y tengo la intención de mantenerlo. Otras ideas son bienvenidas.
Actualizar
Me conformé con la siguiente solución:
Suba los
.vimrc
y.gvimrc
a un repositorio de códigos en línea en un directorio llamadoVim
. Use filename_vimrc
y_gvimrc
para que no estén ocultos, y para compatibilidad con Windows.Verifica el repositorio en el sistema de destino
En Mac OSX / Linux crea enlaces simbólicos:
~ $ ln -s my_repository/Vim/_vimrc $HOME/.vimrc
~ $ ln -s my_repository/Vim/_gvimrc $HOME/.gvimrc
En Windows, pago la carpeta Vim por encima de la del directorio Archivos de programa. SVN se queja de los archivos ya existentes allí, pero puede agregarlos a la lista de ignorar.
Lo que funciona mejor para mí es poner lo siguiente en mi archivo .vimrc
:
set nocompatible
let $localcloudpath = $MYVIMRC . ''_cloud''
let $cloudurl = ''!curl https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o ''. $localcloudpath
silent execute $cloudurl
source $localcloudpath
De esta forma, cada vez que ejecuto vim, descarga y usa el último archivo .vimrc
de mi repositorio BitBucket. Utilizará el último .vimrc
descargado si la conexión a internet no existe.
El único requisito (aparte de una conexión a Internet activa) es que necesita CURL instalado.
Si no desea descargar el .vimrc
más .vimrc
cada vez, simplemente comente la línea curl:
" let $cloudurl = ''!curl https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o ''. $localcloudpath
BitBucket también es una preferencia personal porque puedo editar fácilmente el archivo en línea sin tener que comprometer nada, pero puedes alojar tu archivo .vimrc
cualquier lugar con una URL públicamente accesible (Dropbox, Google Drive, GitHub, etc.)
ACTUALIZACIÓN (16/10/2017)
El uso del siguiente comando curl actualizado siempre obtendrá .vimrc
nuevo de bitbucket. También esperará y utilizará la última .vimrc_cloud
descargada si está fuera de línea o en una conexión lenta.
let $cloudurl = ''!curl -H "Cache-Control: no-cache" --max-time 10 https://bitbucket.org/<USERNAME>/vimrc/raw/master/global -o ''. $localcloudpath
Guardo una copia de mis archivos de puntos en documentos de Google.
Puse estos archivos en un sistema de control de fuente, subversión específicamente, pero no importa cuál. Eso me da un historial de todos esos archivos de configuración, y es solo cuestión de verificar el archivo de configuración cuando quiero el mismo en una máquina nueva / otra o useraccount.
Use git. Tengo mis archivos .vim y .vimrc en un repositorio git, y los ramifico para diferentes sistemas. Así que tengo en la rama para lappy, una rama para basada en Debian, una para RH, etc.
Lanzo los repositorios a todos mis servidores y combino los cambios a mi gusto. Entonces, cuando pierdo uno, cualquiera de los otros servirá. .vim / .vimrc son excelentes ejemplos de archivos que deberían estar en un DVCS.
Como otros han dicho: use un sistema de control de versiones.
Aquí hay un proyecto así, fácil de bifurcar y extender: http://github.com/ryanb/dotfiles
No solo maneja vim.rc, sino todo tipo de configuración y viene con una secuencia de comandos de instalación.
También hay una manera muy agradable de instalar complementos usando el Control de versiones, ya que la mayoría del complemento VIM está disponible en GITHUB, también ayuda. Consulte este artículo que le indica cómo mantener sincronizado su archivo .VIM con GIT y carga el complemento como un submódulo con la ayuda del complemento PATHOGEN.
Use GIT para sincronizar plugins VI
En resumen de lo que se menciona en el vimcast y estoy citando desde el Blog.
- Mantenga sus archivos dot en git
- Instalar complementos como submódulos usando estos comandos
submódulo de git agrega http://github.com/tpope/vim-fugitive.git paquete / fugitivo
Yo uso Dropbox . .vimrc
una carpeta vim
en mi Dropbox, que contiene mis .vimrc
(en realidad: vimrc.vim
) y colors
, plugin
, etc.
Dropbox envía todos estos archivos a todas mis computadoras (casa, trabajo, computadora portátil, Bootcamp), así que cada vez que quiero cambiar mi vimrc
, puedo hacerlo y no tengo que preocuparme por copiarlo en el directorio correcto o verificarlo el archivo de SVN o cualquier cosa. ¡Todo sucede automágicamente!
Mi actual .vimrc
contiene solo lo necesario para cargar las cosas que tengo en mi Dropbox. En OSX y Linux, se ve así:
set runtimepath^=~/Dropbox/vim
source ~/Dropbox/vim/vimrc.vim
En Windows, así:
set runtimepath^=$HOME/My/ Documents/My/ Dropbox/vim
source $HOME/My Documents/My Dropbox/vim/vimrc.vim
¡Y eso es!
(De hecho, puse los vimrc
''s de arriba en mi Dropbox también, así que no tengo que recordarlos cada vez que configuro una computadora nueva o reinstalo una anterior).
La versión gratuita de Dropbox le dará un historial de revisión de 30 días, el pago le dará un historial de revisión completo. Tenga en cuenta que si está en Linux, es más fácil si usa GNOME, para lo cual Dropbox tiene un buen cliente.
Configuraciones condicionales
Si tiene pequeños cambios de configuración que le gustaría usar en diferentes máquinas, esta es una solución práctica:
crea una pequeña función en cada uno de tus archivos .vimrc para devolver el tipo de sistema en el que te encuentras:
fun! MySys()
return ''linux''
endfun
luego en tu archivo global vimrc.vim:
if MySys() == "linux"
set backupdir=./.backup,/tmp
set directory=./.backup,/tmp
elseif MySys() == "windows"
set backupdir=$HOME/AppData/Local/backup,$HOME/AppData/Local/tmp
set directory=$HOME/AppData/Local/backup,$HOME/AppData/Local/tmp
endif
Alternativas de Dropbox
Hay muchos servicios de sincronización y almacenamiento en la nube, Dropbox es solo un ejemplo. Los servicios de OpenSource como http://sparkleshare.org/ y http://one.ubuntu.com existen, pero se le recomienda buscar en Internet una solución que se adapte mejor a sus necesidades.
Si está utilizando vundle puede hacerlo de esta manera. Git mantiene vimrc y todas las demás configuraciones sincronizadas y vundle realiza un seguimiento de tus complementos / scripts.