Tak trochu nadrzo vyuziji tento clanek, abych upozornil na sve stranky, kde se VIMu take trochu venuji a kde mam ukazku pokrocilejsi konfigurace, ktera by se mohla mnohym libit. Napr. prepinani kodovani a prekodovani dokumentu z menu, vcetne trvale indikace, jake kodovani je zrovna zapnuto a pod.
mam oatzku k diakritice.
pracuji na win, putty a nastaveni cp1250. Edituji soubor na serveru (je zakodovan v 1250) a vse je ok az na tech 6 znaku (myslim s,z,d s hackem ze). Ostatni veci napr. u s krouzkem a jine jsou na obrazovce OK a take v souboru. Nevite cim to je? Spravi to vas plugin?
Podle toho, co to dělá. Pokud je problém v tom, že ve vašem locale nejsou znaky v rozsahu 128-159 vůbec považována za písmena, tak si nastavte set termencoding=iso-8859-2, v putty překódování do téhož a set fileencoding=windows-1250.
Jedině, že byste editoval různě kódované soubory a/nebo v různých prostředích, pak je třeba to řešit flexibilněji ... já jsem např. vim nahradil skriptem, který zjistí kódování pomocí enca (http://trific.ath.cx/software/enca/) a podle toho se zařídí (např. pro UTF-8 používám jiný font, kde je i azbuka ;-) Milovníci bloatware by si mohli detekci přidat do nějakého autocommandu.
nastavenim putty to nemuze byt, protoze v joe a v bash je vsechno OK pri jednom a to samem putty nastaveni.
Ve vim-u se misto 'z s hackem' objevi '~N'. Vim tyto znaky rozumi take spravne (napr. pri kopirovani bufferu) a ve vyslednem filu jsou spravne znaky odpovidajici sade. Vypada to tak, jak uvedl Yeti, ze znaky z nezobrazitelneho rozsahu vim patrne konvertuje jak od putty tak k ni.
Vypada to halt jenom blbe na obrazovce a nevim proc tam neni nekde prepinac, ktery by zamezil, aby vim s tema znakama nic nedelel.
Já tedy nevím, ale zkoušel jsem se na tuhle úžasnou diskusi na mageu už podívat mockrát, ale odkazy, co tu občas někdo plácne, mi vrací 403-Forbidden, včetně pokusu přístupu na www.mageo.cz (Dnes je to už změna - taky 403. Dříve nenalezena vůbec). Ještě jsem nenarazil na odkaz, skrze který bych se tam mohl dostat... Řekne mi někdo, o co tu jde? Nebo je nějaká chyba na židli? Jaká?
Nevim, jaky pouzivate OS a typ VIMu (graficky nebo bez grafiky). Ja pouzivam VIM bez grafiky (terminalovy) v okne xterm nebo rxvt na Linuxu. V tomto pripade pouzivam na prekodovani nasledujici postup (popsany v helpu):
let &tenc=&enc
set enc=utf-8
Coz po rade znamena: nastav promennou terminalencoding na soucasnou hodnotu encoding (kdyz se nelisi, je tenc vypnute, proto se musi rucne nastavit) a pote nastav encoding (kodovani, ktere vim pouziva pri praci s timto souborem) na utf-8.
Zasadni rozdil mezi encoding a fileencoding je v tom, ze fileencoding se pouziva jen pri vystupu (:w), zatimco kdyz mate rozdilne tenc a enc, tak se "preklad" dela interaktvne pri vstupu z klavesnice a vystupu na obrazovku - podobny system jako kdyz takovy preklad dela napr. emulator terminalu (PuTTY na windows apod.)
Jedina chybka, na kterou jsem pri takove praci narazil, je pri otevreni dalsiho souboru v novem okne (mysleno vim okno, ne okno xterm-u). Promenne se tvari nastavene spravne, ale prekodovani je provedeno chybne, na obrazovce je rozsypany caj. Pomuze v takovem okne zadat
:e!
a soubor se "reloadne" uz se spravnym prekodovanim na terminal.