Jak używać Massrena z Vimem?


1

Chcę użyć massren zmień nazwę w vim, aby zmienić nazwy plików w edytorze tekstu.

Najpierw użyłem tego polecenia w Vimie, aby ustawić Vima jako domyślnego edytora dla massren

:! c:\tools\massren_renamer\massren.exe --config editor "C:\Progra~2\Vim\vim74\gvim.exe --remote-silent-tab"

Następnie próbowałem zmienić liczbę plików tekstowych za pomocą tego polecenia w Vimie:

:%! c:\tools\massren_renamer\massren.exe d:\t*.txt

ale lista plików w Vimie się nie otwiera. Co się stało?


Dlaczego próbujesz użyć tego narzędzia od Vima?
romainl

Nigdy nie używam polecenia powłoki w oknach. Innym powodem, dla którego chciałbym to zrobić z poziomu Vima, jest to, że massren używa również vima do zmiany nazwy plików.
Reman

Odpowiedzi:


2

Zastrzeżenie: Nie znam / nie używam tego narzędzia, ale chciałbym podkreślić pewne ogólne problemy.

Po pierwsze, nie komplikuj tego podczas rozwiązywania problemów. Kiedy narzędzie massren nie uruchamia Vima jako edytora, powinieneś rozwiązywać problemy z linii poleceń, a nie poprzez wywoływanie narzędzia z Vima.

Po drugie, to narzędzie (jak każde narzędzie) musi wiedzieć, kiedy skończysz edytować listę plików. Zwykle odbywa się to poprzez uruchomienie edytora w tryb blokowania i tylko czekam, aż edytor zostanie zamknięty (najłatwiej jest to zrealizować). Jednak GVIM nie działa w ten sposób, wraca natychmiast („widły”), oszukując narzędzie. Z --remote-silent-tab, może to nawet ponownie wykorzystać istniejący proces GVIM, a nie wywołać nowego.

Dlatego upuść --remote-silent-tab i zastąp go -f:

-f GUI: Nie odłączaj się od programu, który uruchomił Vima.     „f” oznacza „pierwszy plan”. Jeśli zostanie pominięty, GUI rozwidla nowe     przetworzyć i wyjść z bieżącego. „-f” powinno być używane, gdy     gvim jest uruchamiany przez program, który będzie czekał na edycję     sesja do zakończenia (np. mail lub readnews). Jeśli chcesz gvim     nigdy do rozwidlenia, dołącz 'f' w 'guioptions' w twoim | gvimrc |

Jeśli to jeszcze nie spowoduje, że massren uruchomi Vima, sprawdź, jak massren obsługuje uruchomienie edytora; może nie obsługiwać argumentów (tylko plik procesu pełnego procesu), który następnie trzeba obejść za pomocą opakowania wsadowego i skonfigurować go dla massren.


Dzięki za odpowiedź. Massren wspiera argumenty. Zmieniłem --remote-silent-tab do -f. Teraz otwiera jeszcze jedno okno vim. Kiedy zmieniam nazwy plików w tym oknie, zamknij to okno, muszę nacisnąć Enter w oknie powłoki Windows, aby zastosować zmiany.
Reman

Ach świetnie! To, co opisujesz, było tym, czego oczekiwałem. Czy masz ten hit-enter tylko podczas uruchamiania Massrena z Vima? The :! polecenie często ma takie zachowanie.
Ingo Karkat

Tak. Kiedy uruchamiam Massren z powłoki dos, nie muszę naciskać Enter. (Muszę tylko zamknąć okno powłoki, ponieważ pozostaje otwarte).
Reman

Właśnie zauważyłem, że Massren nie obsługuje rozszerzonych znaków ascii :(
Reman
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.