2010-07-20 13 views
8

Ho utilizzato finora vim/gVim nella mia macchina Linux e anch'io ho una macchina Windows. In questa macchina Windows sono principalmente notepad ++.vimrc per essere multipiattaforma e sincronizzato con Dropbox.

Desidero memorizzare tutte le mie impostazioni .vimrc e la cartella .vim in Dropbox e creare collegamenti simbolici in Linux che puntano a esse e che fanno lo stesso sul mio computer Windows.

Ho un sacco di "notazione collegamento a casa" (non se questo è il nome corretto) ~ nella mia configurazione, e vorrei sapere se scrivere per esempio $ HOME invece di ~ funzionerà: questo In questo modo, posso creare alcuni link simbolici anche in Windows che puntano a questi file (sto usando Windows 7, quindi la mia home è c: \ Users \ username).

Eventuali altre insidie ​​o consigli durante la creazione di vimrc cross-plataform con Dropbox?

+0

Penso che questa domanda dovrebbe essere posta a superuser.com. – Boldewyn

risposta

5

Questo è esattamente quello che faccio, e funziona come un incantesimo per me. L'unico posto in cui utilizzo $HOME anziché ~ è per le directory di backup, ma funziona correttamente. Il problema principale a cui mi imbatto è che la modifica del file .vimrc su Windows non funziona mai correttamente, quindi l'ho semplicemente modificata su OS X.

+0

Non esattamente come un incantesimo dato che avevo bisogno di creare molti symlink, ma alla fine ha funzionato bene. Non in modo impeccabile a causa del problema .vimrc (non posso modificare da windows perché mi impedisce di dire che il mio file c: \ users \ user/.vimrc non esiste), ma posso conviverci. :) Questo è un problema minore quando ho pensato di creare diversi file di configurazione vim ogni volta che voglio usarli cross-plataform ... –

3

Se si utilizza vim dall'interno Cygwin, si può facilmente distinguere la piattaforma all'interno del file .vimrc in questo modo:

let s:sys=system('uname -s | perl -pe "chomp"') 
if s:sys == "Linux" 
    " do Linux stuff here 
endif 

e simile per s:sys == "Cygwin_NT". Se stai utilizzando un vim compilato in modo nativo in Win, ad es. Gvim, dovrai trovare un'altra chiamata di sistema, compresa sia dalla tua shell Linux che dal cmd di Win.

+0

Non ho troppe personalizzazioni di plataform specifiche nel mio vim/gVim, ero più interessato a mantenere in sincrono, quindi se cambio qualcosa al lavoro sarebbe disponibile a casa. –

7

Faccio un po 'di personalizzazione del mio .vimrc, ma è tutto basato sulle funzionalità, piuttosto che sulla piattaforma.

Controllare i diversi flag has("gui_*") e controllare anche has("unix"). In questo modo evito di affrontare problemi di percorso dipendenti dalla piattaforma.

+0

Questo è già stato fatto, grazie per il suggerimento comunque. Quello che vorrei è modificare una configurazione qui al lavoro ed essere disponibile a casa. –

Problemi correlati