Czy istnieje sposób na przesunięcie kursora na środek bieżącej linii? (środek linii tekstu - nie środek szerokości ekranu)
Zastanawiałem się, czy istnieje skrót podobny do Mtego, który przesuwa kursor na środek ekranu.
EDYCJA : Dodano wyjaśnienie w nawiasach
cursor-movement
Thameera
źródło
źródło
Odpowiedzi:
Nie znam żadnego wbudowanego sposobu, aby to zrobić, jednak możesz łatwo mieć mapę, aby to zrobić:
@Ingo Karkat zaproponował następujący wariant, który działa również w trybie VISUAL.
Niestety jest on również uruchamiany w trybie SELECT. W związku z tym wolę parę:
źródło
noremap <expr> gM (virtcol('$') / 2) . '<Bar>'
Wbudowane
gm
robi dokładnie to.źródło
M
, założyłem ekran.:set virtualedit=all
.Aby dodać do odpowiedzi Luca, dostępna jest również wtyczka Easymotion , która sprawia, że szybkie przejście do określonej pozycji jest dziecinnie proste. Naciśnięcie
<Leader><Leader>w
spowoduje podświetlenie klawisza, który można nacisnąć, aby przejść do określonego słowa. W ten sposób możesz łatwo przejść do słowa na środku bieżącego wiersza.źródło
Jeśli chcesz przejść do środka tekstu (nie uwzględniając białych znaków na początku wiersza), zadziała to:
Nie sądzę jednak, aby działało to w trybie wizualnym.
źródło
gM
przesuwa kursor do połowy tekstu wiersza: https://vimhelp.org/motion.txt.html#gMZostało to wdrożone w październiku 2019: https://github.com/manuelschiller/vim/commit/a267c57acdd8843a91eed2cede6ef02d970147fd
źródło