Właśnie odkryłem, że vim oczywiście pozwala na dzielenie przez zero: :let a=42/0 :echo a drukuje 2147483647(co jest wartością a). Czy jest to gdzieś udokumentowane i dlaczego vim pozwala na dzielenie przez zero?
Nazwa języka zwanego czasem Vimscript jest tematem dyskusji. Niektóre miejsca używają Vimla (czy to VimL?), Inne Vimscript. Czy ma oficjalną nazwę, a jeśli tak, to co to jest i od kiedy jest oficjalna? SO pytanie o VimL vs Vimscript (~ 5 lat) Ostatni post, w którym wspomniano, że ma oficjalną …
Czy istnieje dedykowany sposób scalenia dwóch bloków tekstu przez przeplatanie linii, na przykład przejście z tego: a1 a2 a3 a4 b1 b2 b3 b4 do tego: a1 b1 a2 b2 a3 b3 a4 b4 w kilku poleceniach? EDYCJA : Naprawdę podoba mi się rozwiązanie Sato Katsury , oto jak go …
W funkcji vimscript l:matchedpo wywołaniu muszę przypisać dopasowany ciąg do zmiennej search()i zastanawiam się, czy istnieje krótszy sposób niż to, co obecnie robię: let l:pattern = '\v^Foo: \zs.*' let l:line = search(l:pattern) let l:line_text = getline(l:line) let l:matched = matchstr(l:line, l:pattern) Idealnie chciałbym coś takiego let l:matched = search_text(l:pattern) bez …
Jak mogę sprawdzić bieżącą wartość opcji Vima w Vimscript? Aby to rozwinąć, chcę wydać polecenie przełączenia z trybu Full-GUI ( guioptions=+tM) na tryb hakera ( guioptions=-tM). Jednak nie mogę znaleźć sposobu na przeanalizowanie :set guioptions?wartości
Zdefiniowałem w sobie mapowania, vimrcaby automatycznie wprowadzać zamknięte nawiasy i nawiasy klamrowe, gdy wprowadzam otwierające za pomocą inoremap ( ()<esc>i. Chciałbym zrobić to samo dla "i ', ale tylko wtedy, gdy kursor nie znajduje się obecnie wewnątrz łańcucha - ponieważ wewnątrz łańcucha 'jest prawdopodobnie apostrof, a nie ogranicznik łańcucha. W …
Jest to rodzaj dwa pytania w jednym. Ostatnio dużo czasu poświęcam na dogłębne uczenie się vimscript, uczenie się wewnętrznych elementów vima i stawianie pierwszych kroków w pisaniu wtyczek vim. W trakcie tego procesu trzymałem obszerne notatki w poszczególnych plikach przecen i dodawałem wiele wbudowanych komentarzy dotyczących dokumentacji do plików vimscript. …
W skryptach zwyczajowo robi się coś takiego: let s:save_cpo = &cpo set cpo&vim ... script ... let &cpo = s:save_cpo Aby zapewnić tryb niezgodności skryptu. Jest: set cpo&vim jakaś specjalna składnia, jak w foo & bar? A może bardziej przypomina polecenie, linię wyzwalania lub coś innego?
Po pierwsze, ponieważ jest to mój pierwszy post tutaj, chciałbym tylko powiedzieć, że VIM jest świetnym narzędziem, a forum tutaj bardzo pomocne w znajdowaniu odpowiedzi na pytania, z dużą ilością pomocnych osób nieoceniona pomoc. Nadal jestem bardzo nowy w VIM, więc prawie wszystko, czego się o nim dowiedziałem, pochodzi. Moje …
Jak można użyć zmiennej podczas wykonywania czegoś normal!w vimscript? Przykład: function! MyFunction(someArg) normal! (a:someArg)l endfunction To powinno przesunąć someArgkroki kursora w prawo.
Próbuję zakodować funkcję, która zastępuje znak w szóstej kolumnie mojego bieżącego wiersza symbolem dolara ( $), ale chciałbym, aby mój kursor pozostał w pozycji, w której był przed wywołaniem funkcji. Próbowałem więc zapisać bieżącą kolumnę, wykonać moje zmiany, a następnie wrócić z następującą funkcją: function! DollarSplit() let col_number=col(".") "stores the …
Widziałem, że możesz wyświetlić bieżące przesunięcie bajtu za pomocą linii statusu %o, ale nie znalazłem żadnej funkcji ani polecenia, które robi to samo. Czy istnieje sposób na pragmatyczne wyrównanie bieżącego bajtu?
Mapowałem zzna 1z=, co jest świetne przez większość czasu, ale od czasu do czasu pierwsza sugestia nie jest właściwa. Chciałbym więc powtarzać zz(lub .), aby przełączać się między innymi sugestiami. Drugie zzsłowo na tym samym słowie działałoby tak u2z=, trzecie zzdziałało jak u3z=i tak dalej. Wszelkie pomysły, jak to zrobić? …
Mam w moim vimrc: func! AddSpaceBeforeEqual() s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge endfunc Używam vint, aby pobrudzić mój vimrc i otrzymałem następujące ostrzeżenie: ProhibitCommandWithUnintendedSideEffect Unikaj poleceń z niezamierzonymi skutkami ubocznymi. Unikaj używania: s [ubstitute], ponieważ przesuwa on kursor i drukuje komunikaty o błędach. Preferuj funkcje (takie jak search ()) lepiej dostosowane do skryptów. Dla …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.