Vim - wyzwalanie akcji \ skrypt podczas zapisywania \ zapisu?


14

Może to być lepsze dla superużytkownika, ale uważam, że jako narzędzie handlu może być lepszym tematem tutaj. Często podczas edycji w vimie wychodzę, uruchamiam skrypt, który testuję, a następnie wracam do vima (tak, zdaję sobie sprawę, że mogę użyć polecenia:! Do uruchomienia rzeczy z vima). sposób na zaczepienie czegoś do uruchomienia, gdy plik jest zapisywany (: w)?

Odpowiedzi:



19

Zobacz :he :autocmdi:he BufWritePost

Linia wyglądałaby następująco:

:autocmd BufWritePost /path/to/file/or/pattern !command <afile>

Jeśli <afile>rzecz nie działa, użyj %:p.


1

Dostaję część „Powrót do vima”, ale nie jestem pewien, jak nacisnąć samą komendę „: w” (co byłoby bardzo przydatne, ponieważ jest to dla mnie dość zwrotne)

w | silent execute "! myscript" | redraw!

Myślę, że może to być lepsze również dla administratora.


1

Jest to rażąca autopromocja, ale napisałem wtyczkę Vima, która wyzwoli niektóre skrypty powłoki do uruchomienia po określonych autocmdzdarzeniach Vima . Na przykład skrypt o nazwie .bufwritepost.vimhook.shbędzie uruchamiany (synchronicznie) przy każdym uruchomieniu BufWritePostpolecenia. Następnie możesz łatwo dołączyć dowolną logikę do robienia rzeczy w tym skrypcie. Wtyczka zakłada określone konwencje nazewnictwa tych skryptów, a także obsługuje skrypty przechwytujące, które uruchamiają się tylko w plikach o określonych nazwach lub o określonych rozszerzeniach. I oczywiście możesz dowolnie wybierać dowolne autocmdwydarzenie, chociaż znalazłem BufWritePostpasujące do większości moich przypadków użycia.

Pełne szczegóły: https://github.com/ahw/vim-hooks

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.