Wiem, że w VIM możesz zrobić: ustawić liczbę, ale jeśli linia się zawija, to liczy się jako dwie linie. Co vim nazywał linewise.
Mogę poruszać się w górę iw dół w sposób „linii ekranu” za pomocą gj
i gk
, więc nawet jeśli linia będzie się owijała w wiele linii na ekranie, przesuwałaby się w górę i w dół linii na ekranie, ale gdybym chciał kiedykolwiek np. usuń kolejne 30 wierszy w sensie linii ekranu, dobrze byłoby mieć liczby linii ekranu.
Czy to możliwe / Jak mogę to zrobić?
j
przesunie się o 2 linie w górę twój terminal, ale liczy się tylko 1 linia w linii vim.Odpowiedzi:
Prawie wszystkie polecenia Vima dotyczą linii fizycznych, a nie miękkich linii ekranu. Dlatego funkcje takie jak
'relativenumber'
również liczą linie fizyczne. Twoje zadania edycyjne nie powinny w dużym stopniu polegać na nawigacji za pomocągj
/gk
. Wypróbuj jedną z następujących opcji::autocmd
s, aby łamać / ponownie składać linie podczas ładowania / zapisywania, jeśli nie można zmienić formatu na dysku.j
i / lubgj
), aby iteracyjnie wybrać obszar. Jak bezpośrednio zobaczysz dotknięty obszar, również powinno to być dość szybkie.Jeśli naprawdę chcesz numerować na podstawie linii ekranu, możesz wziąć starą wtyczkę RelativeNumber, która emulowała wspomnianą opcję za pomocą kolumny znaków , i zmodyfikować tę wtyczkę, aby wyświetlała linie ekranu. Jednak nadal będzie to dość prymitywne doświadczenie.
źródło