Portál AbcLinuxu, 10. května 2025 05:36
:bd [Scratch]
ale to mi pokaždé smaže jen aktuální buffer jako by tam ten název vůbec nebyl :(
Mazání přes číslo bufferu nejde protože to číslo neznam.
Díky
a
nebo b
nebo c
.
:bd \[Scratch\]zobrazení čísla:
:buffers 1 %a "[Scratch]" line 1 2 "somefile" line 0
:ls 2 %a "xxxxxxxxxxxxxxxxxxxxxx" řádek 99 7 a "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" řádek 0 11 a- "[Scratch]" řádek 0
Takže to že to nemůže najít je v příkazovém režimu, to když to vrazim sem do funkce tak zas hlásí pokud neni žádnej otevřenej tak, že neni žádnej a pokud je tak že tomu výrazu odpovídá více bufferu. Ja uz jsem z toho jelen. Pokud by byla nějaká jiná možnost jak zobrazit ten výstup z kontroly syntaxe stačilo by to taky.map <F8> :call CompileRunPhp()<CR>
func CompileRunPhp() exec "w!" // ulozi aktualni soubor let fileName = bufname('%') // zapamatuje si nazev bufferu // zde jsem se pokousel smazat to puvodni okno exec "copen" // zde se otevre novy buffer exec "setlocal modifiable" // nastavi se na modifikovany aby se nize mohl zapsat vystup kontroly exec "setlocal buftype=nofile" // neni to soubor - zde se automaticky prejmenuje buffer na [Scratch] exec ":r !php5 -l ".fileName // provede se kontrola syntaxe a vysledek se hodi do bufferu exec "setlocal nomodifiable" // vrati se do stavu nemodifikace endfunction
map <F9> :update<cr>:!php -l %<cr>nedělám tolik syntaktických chyb abych dohledával nejaký errorformat (aby fungovalo :cn :cp atd. jako v C), nicméně nasazení tohoto bych viděl jako lepší než zobrazení do bufferu. Když tak lehce polechtám google tak třeba Runtime syntax check for php ale neověřoval jsem funkčnost.
:set errorformat=%m\ in\ %f\ on\ line\ %l :set makeprg=php\ -l\ % :makefunguje celkem dobře.
exec "setlocal buftype=nofile" // neni to soubor - zde se automaticky prejmenuje buffer na [Scratch]No ve vimu u copen vidím:
The window will contain a special buffer, with 'buftype' equal to "quickfix". Don't change this!což ve vimu nebývá tak často, tak důrazně řečeno, tak možná je v tom nějaký háček.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.