2013-06-11 12 views
5

Chcę przemapować <PageUp> do <C-u> i PageDown do <C-d> za tym Vim scrolling documentation.Jak przemapować klucze vim (PageUp i PageDown)

W obecnej chwili, mój /etc/vim/vimrc wygląda następująco:

nnoremap <PageUp> <C-u> 
nnoremap <PageDown> <C-d> 

Próbowałem wiele różnych kombinacji i nic nie robiłem pracował.

Moim celem jest przesunięcie kursora do Początek pliku lub EOF przy zatrzymywaniu PageUp/PageDown. Tak jak obecnie, kursor zatrzymuje się, zanim dotrze do samej góry (a PageDown przewija obok EOF). Tylko kłopoty, które próbuję naprawić.

EDYCJA: Powyższe ustawienia działają poprawnie. Zbyt wcześnie umieszczałem moje mapowania w pliku.

Odpowiedz

6

Co z poniższymi mapowaniami?

nnoremap <PageUp> gg 
nnoremap <PageDown> G 

Albo po prostu za pomocą gg i G?

+0

Nie, że nie działa. Jestem na Debianie, jeśli to pomaga. Może założyli Vima w sposób, którego nie rozumiem? – Jeff

+0

Czekaj, tak, zrobiłem ... Edytowałem na '/ etc/vim/vimrc' zamiast' ~/.vimrc'. Czy odwzorowania klawiszy działają tylko w pliku .vimrc użytkownika? – Jeff

+0

Jestem na ubuntu i działa, 'gg' jest poleceniem kanonicznym przechodzenia do pierwszej linii i' G' komendą kanoniczną do przejścia do ostatniej linii. Również '' i '' zatrzymują się w pierwszej linii i ostatniej linii. Pokaż nam swoje '~/.vimrc' i powiedz nam, z której wersji Vima korzystasz. – romainl

2

Zamiast umieszczać odwzorowania w całym systemie /etc/vim/vimrc, należy wprowadzić dostosowania użytkownika do pliku ~/.vimrc. Niemniej jednak powinna również działać konfiguracja globalna (jeśli tego chcesz). To nie znaczy, że mapowania zostaną wyczyszczone lub przedefiniowane. Można sprawdzić z

:verbose nmap <PageDown> 

Jeśli nie dostać nowo, trzeba polować na :nunmap poleceń w skryptach wszystkich załadowanych (:scriptnames) lub przechwycić dziennik z vim -V20vimlog.

+0

Jeśli zgodzisz się z odpowiedzią, prześlij opinię, dlaczego uważasz, że jest niewystarczająca. –

0

Można to zrobić z

map <silent> <PageUp> 1000<C-U> 
map <silent> <PageDown> 1000<C-D> 
imap <silent> <PageUp> <C-O>1000<C-U> 
imap <silent> <PageDown> <C-O>1000<C-D> 

z fixing-pageup-and-pagedown