Kolejny numerek się przekręcił. I słusznie, bo zmiany są spore. Postaram się je trochę opisać.
Zakładki
Tego mi bardzo w ViMie brakowało. Niby są okna, są bufory, ale praca na tym była dosyć kłopotliwa, bo nie było widać od razu jaki plik jest otwarty i gdzie.
Nową zakładkę otwiera się poleceniem :tabnew (opcjonalnie podając nazwę pliku, który ma być otwarty w nowej zakładce). Można też wymusić, aby przy podawaniu kilku plików do edycji z linii poleceń otwierane były w osobnych zakładkach, a nie buforach – do tego służy przełącznik -p. Do przełączania się między zakładkami można użyć myszki (jeśli obsługa myszki została wkompilowana) albo poleceń trybu normalnego – gt i gT. Oczywiście są też polecenia trybu komend do tego – :tabn[ext] i :tabp[revious]. Zakładkę zamyka się poleceniem :tabc[lose].
Omni-complete
Twórcy ViMa porownują Omni-complete do InteliSense. Dopełnianie typu omni, wywoływane kombinacją Ctrl-X Ctrl-O z poziomu trybu wprowadzania, pozwala na dopełnianie nazw funkcji, zmiennych, metod i pól klas itp. W przypadku np. PHP dopełniane są też wszystkie funkcje biblioteczne razem z informacją o argumentach wywołania. Dopełnianie omni jest dostępne m. in. dla PHP, HTML, CSS, C, JavaScript czy Ruby (pełna lista w dokumentacji ViMa – :help compl-omni-filetypes). Ciekawą rzeczą jest mały skrypt dtd2vim, dołączany do ViMa, który konwertuje DTD pliku XMLowego na format wejściowy ViMa, dzięki czemu możliwe jest dopełnianie Omni plików XML.
SpellCheck
Do sprawdzania ortografii w ViMie napisanych zostało bardzo dużo łatek, jednak dopiero teraz dostępne jest rozwiązanie „oficjalne”. :set spelllang [kod] i :set spell – i już podświetlane są błedy. Kombinacjami [s i ]s przeskakuje się odpowiednio do poprzedniego i następnego błędu. Słowa można dodawać do słownika kombinacją zg. Informacje na temat lokalizacji pliku językowego znajdują się w rozdziale pomocy spell-load.
undo branches
Możliwość „cofania” poleceń przestała być „liniowa” – przykładowo, po cofnięciu zmian, wprowadzenie dowolnej poprawki powodowało utratę możliwości powrócenia do później wprowadzonych zmian. Obecnie, po wprowadzeniu zmiany po cofnięciu innych zmian, ViM robi „gałąź”, do której można zawsze wrócić. Co ciekawe, zmiany takie są stemplowane czasem – np. polecenie :earlier 10m powoduje powrót do zmian sprzed 10 minut.
Inne
- vimgrep – dodane zostało polecenie :vimgrep, pozwalające na przeszukiwanie pliku pod kątem danego wyrażenia. Użytkownikom *IXów wiele to nie zmienia, ale w systemach windows polecenie grep jest mniej powszechne.
- poprawiona obsługa unicodu
- poprawki systemu podświetlania składni
- możliwość robienia „baloników” nad słowami, nad którymi zatrzymał się kursor myszy
- mapowanie wyrażeń, nie tylko literałów
… i wiele innych rzeczy – pełna lista w pomocy ViMa w rozdziale version7