Portál AbcLinuxu, 12. května 2025 07:59
map <F5> :w<CR>:!csplain %<CR>
', kterezto mi projizdelo upravovany soubor TeXem. Tedy pokud jsem si v terminalu vlezl do adresare se souborem a spustil vim. Kdyz ale z nejakeho menu window manageru spustim gvim a otevru v nem kyzeny soubor, neprovede se change dir, coz mi vadi, protoze moje makro pak prestava fungovat, nebot pise .log a .dvi soubor do domovskyho adresare a taky TeX nadava, ze nemuze najit .epsf soubory, pokud je potrebuje a oni jsou v adresari se souborem .tex. Nechce se mi furt psat ':cd xyz
' po kazdym nacteni souboru. Je nejaka promenna davajici jmeno adresare, ve kterym je editovany soubor? Neco co by se dalo pouzit do 'autocmd BufRead * cd "adresar, ve kterem je nacitany soubor"
' ? Nebo to jde udelat nejak elegantneji? Diky za odpovedi.
:!cd %:p:h; csplain %:t
(:h filename-modifiers
, doufám, že jsečm to nepoplet). cd ještě ve vimu se udělá stejně.
:h filename-modifiers
:command -nargs=0 GotoDir execute "cd " . expand("%:h")a používám to furt. Jako autocommand to není moc dobrý nápad, klidně to zkus, ale zjistíš, že ti to poleze do adresářů za soubory, za kterými nikam lézt nechceš. Nemám algoritmizovatelné pravidlo, kdy se za souborem přepnout chci, a kdy nechci, takže to dělám ručně.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.