Dla moich programów Haskell, wiem, że nazwa pliku wykonywalnego w ścieżce jest taka sama jak nazwa mojego bieżącego katalogu. Teraz chcę utworzyć odwzorowanie tak:Użyj bieżącego katalogu w komendach Vima
:map <leader>rr :!curdir()<cr>
Jednak tylko komenda Znam to getcwd()
, co daje mi całą ścieżkę zamiast nazwy tylko z katalogów.
Czy istnieje prosty sposób wyodrębnienia tylko nazwy katalogu?
Zobacz [tę odpowiedź] (http://stackoverflow.com/a/13908273/546861). – romainl
Poniższe odpowiedzi są dobrymi rozwiązaniami vimscript. Jeśli nie masz mapy, możesz również ocenić ją dynamicznie za pomocą = register. (po wpisaniu części polecenia ex jak ':!' wpisz 'CR =', a następnie jedno z poniższych rozwiązań vimscript: – darcyparker
@darcyparker Żadne nie jest dobre.Nie używaj żadnych wyrażeń regularnych do takich zadań, jak jest dedykowane do tego celu ktoś, kto zakłada, że '/' jest separatorem ścieżek jest błędny. Każdy, kto zakłada '/' i '\' to * oba * separatory ścieżek jest tak samo błędny.Bądźmy wszyscy, zakładając '\' jest * zawsze * separator ścieżek na Windows też się myli, ja też nie mam pojęcia, w jakich okolicznościach separatorem ścieżek będzie ':', ale może to być. Większość systemów \ * nix może mieć '\' i ':' w nazwach plików – ZyX