Ssh + localhost settings (.vimrc, .profile...)

eh, ovako, jedno pitanje

može li se preko ssh “prenijeti” recimo moj .vimrc fajl, tako da overrida onaj koji je na remote hostu?

ps:
slično kao što se “prenese” recimo moj keyboard layout

hvala unaprijed

scp-om da :stuck_out_tongue:

Koliko znam, protokol zahtijeva da se pri konekciji moze “prenijeti” samo par environment varijabli.

Pa mozes prenjeti jednom i to ti je dovoljno ili da editiras sa vimom per remote like:

vim scp://remoteuser@server.tld//path/to/document

http://www.vim.org/tips/tip.php?tip_id=337

u ovom slucaju radis sa lokalnim vimom (ili vimetom :slight_smile: ) na remote mashini…

Pozdrav

ništa to sa svojim vim-om + scp, valja mi “hodati” po folderima itd :slight_smile:

pa dobro ima li kakav primjer kako da se prenesu te env varijable?

ps:
ma problem je lako riješiti ovako, kada se sshujem na remote mašinu samo u homediru editujem .vimrc, ali nije to fol…

pa dobro ima li kakav primjer kako da se prenesu te env varijable?

Ne, barem ja nisam nasao.

Npr. za openssh se zna da setuje TERM i DISPLAY po defaultu; mislim da to nece biti slucaj za ostale zbog sigurnosti (telnet je u proslosti setovao sve varijable pri konekciji, sto je uzrokovalo masu rupa). Negdje sam procitao hint da se moze iskoristiti ova gore mogucnost: enkodiras svoj env u DISPLAY, a s druge strane postavis u, recimo .bashrc, da se te vrijednosti dekodiraju i setuju.

Ipak mislim da je jednostavnije koristiti scp :stuck_out_tongue:

ma problem je lako riješiti ovako, kada se sshujem na remote mašinu samo u homediru editujem .vimrc, ali nije to fol…

Ako ti je bas do toga da dijelis svoj .vimrc po masinama, zasto ne iskoristiti web server za to. Recimo da glavni .vimrc drzis na nekoj masini a po ostalim postavis da se prilikom logovanja skine i snimi u home. Tako ces uvijek imati svjez .vimrc :stuck_out_tongue:

a da pokusas koristit sshfs ? mountat remote dir lokalno i odatle editovat ?

Napravi wrapper za ssh, ako ne koristiš ključeve onda će ti trebati expect …

(wrapper svaki put prije ssh user@makina uradi scp ~/.vimrc user@makina:.vimrc)

još mi ovi prijedlozi nisu pomogli da riješim situaciju

recimo ovako, imamo situaciju gdje ima (nekoliko uslova):

  • nekoliko servera
  • nekoliko administratora
  • na svakom serveru postoji predefinisan /root/.vimrc koji se ne smije editovati
  • u isto vrijeme je moguće da su konetovana > 2 admina (i koriste /root/.vimrc)
  • remote root login je zabranjen (znači prvo se kačimo kao obični user pa su -)

A zašto ne bi pomogli prijedlozi?

Ne moraš snimit u .vimrc na udaljenom serveru, može u drugu datoteku:
http://www.vim.org/htmldoc/starting.html#$VIM
http://www.vim.org/htmldoc/starting.html#.vimrc

“nešto neće” :slight_smile:

VIM - Vi IMproved 7.1 (2007 May 12, compiled Jun 7 2008 00:45:08)
Included patches: 1-266
Compiled by ‘http://www.opensuse.org/

btw. kad uradim:

aldin@mashinica:~> echo $VIM
/home/aldin/vim
aldin@mashinica:~> ls -a vim/
. … .vimrc
aldin@mashinica:~>

vi -> :version
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/etc"
f-b for $VIMRUNTIME: “/usr/share/vim/current”

ali ne fercera opet, neće da mi čita konfi iz tog novog “patha”

ps:
ovo radi
vim -u $HOME/vim/.vimrc imefajla.txt

Probaj prvo na lokalnoj mašini, npr

(u taj direktorij pomjeri vimrc datoteku, bez vodeće tačke)

Vim čita konfiguracijske datoteke sljedećim redoslijedom:

system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/usr/share/vim"
Ovo bi trebale biti generičke lokacije (Slackware), koliko vidim, SuSE(?) je malo drugačiji, ali bi i oni trebali poštovati VIM env varijablu.

[quote=adis]Probaj prvo na lokalnoj mašini, npr

(u taj direktorij pomjeri vimrc datoteku, bez vodeće tačke)[/quote]
neće i to sam probavao (bez tačke), ali rješenje je u nastavku

[quote=adis]Vim čita konfiguracijske datoteke sljedećim redoslijedom:

system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/usr/share/vim"
Ovo bi trebale biti generičke lokacije (Slackware), koliko vidim, SuSE(?) je malo drugačiji, ali bi i oni trebali poštovati VIM env varijablu.[/quote]
jeste u pitanju je openSUSE, ali kao što vidiš kod njega prvo čita /etc/vimrc, i kad sam uradio ovo onda fercera export

mv /etc/vimrc /etc/vimrc~

Ako kao “system vimrc” čita hardkodirani ‘/etc/vimrc’ a ne ‘$VIM/vimrc’ onda su to oni nešto petljali, te bih to pobrojao u distribution specific bug.