Portál AbcLinuxu, 26. dubna 2024 10:33
#!/bin/sh kodovani=`enca -gi $1` if [ "$kodovani" = "CP1250" ] then mplayer -sub $1 -subcp cp1250 $2 else if [ "$kodovani" = "ISO-8859-2" ] then mplayer -sub $1 -subcp latin2 $2 else echo fuckin format:-/ fi fije možné něco takového dát do .vimrc, případně jak napíšu do spouštěče příkaz :set fencs a/nebo :set fenc, aby se to vykonalo ještě před otevřením souboru? v manuálu jsem to jako přepínač (-fenc nebo tak něco) nenašel. můžete mi prosím někdo poradit? velice děkuji
function v() { local cmd if [ -n "$1" -a -f "$1" ] && enca -e "$1" | grep -i 'utf-8' >/dev/null; then cmd=gvim-utf8 else cmd=gvim fi $cmd -o "$@" }přičemž gvim-utf8 je link na vim, a ve .vimrc pak testuji
if v:progname =~ "-utf8$" let use_unicode=1 endifa pak to různě větvím podle hodnoty use_unicode. Nastavování fenc v BufReadPost, jak radí help, mi popravdě řečeno nějak moc nefunguje. Ale lze to v nejhorším zařídit drsnou metodou, kdy se před načtením souboru nastaví hodnota fencs, tj. něčím ve smyslu
function GetEncoding(f) let e = system('enca -Pe "' . a:f . '"') let e = substitute(e, '/.*', '', '') if e =~ 'unknown' return 'ascii' endif return e endfunc au BufReadPre * exec "set fencs=" . GetEncoding(expand('<afile>'))
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.