W moim .vimrc
pliku mam przypisanie klawisza do komentowania, które wstawia podwójne ukośniki ( //
) na początku wiersza:
" the mappings below are for commenting blocks of text
:map <C-G> :s/^/\/\//<Esc><Esc>
:map <C-T> :s/\/\/// <Esc><Esc>
Jednak kiedy edytuję skrypty Pythona, chcę to zmienić na #
znak komentarza
Mam Python.vim
plik w swoim .vim/ftdetect
folderze, który ma również ustawienia szerokości tabulatorów itp. Jaki jest kod, aby przesłonić skróty klawiszowe, jeśli to możliwe, aby użyć Pythona:
" the mappings below are for commenting blocks of text
:map <C-G> :s/^/#/<Esc><Esc>
:map <C-T> :s/#/ <Esc><Esc>
<buffer>
części.Możesz użyć,
:map <buffer> ...
aby wykonać lokalne mapowanie tylko dla aktywnego bufora. Wymaga to kompilacji Twojego Vima+localmap
.Więc możesz zrobić coś takiego
źródło
Wolę mieć konfigurację w jednym pliku, więc używam podejścia autocmd.
Vim nie czyści ustawionych autocmds podczas pozyskiwania swojego źródła
vimrc
, więc uruchomienie Vima , zmiana czegoś w twoimvimrc
i uruchomienie:so ~/.vimrc
zdefiniowałoby autocmds dwukrotnie. Dlatego powiązania są grupowane i usuwane za pomocąautocmd! group_name
. Możesz przeczytać więcej tutaj .Ponieważ mapowania są domyślnie stosowane do każdego bufora i chcesz je zmienić dla buforów pasujących tylko do typu pliku,
<buffer>
modyfikator tam jest, ograniczając mapowania do buforu lokalnego.źródło
Przy okazji ... jeśli Twoim głównym problemem jest komentowanie ... powinieneś wypróbować wtyczkę `` nerdcommenter '', jest to najszybszy sposób komentowania / odkomentowywania kodu w java / c / c ++ / python / dos_batch_file / etc itd.
źródło
Polecam
.../ftplugin/<filetype>.vim
podejście, które sugeruje freitass, ale w Twoim przypadku Vim Commentary rozwiąże to wszystko za Ciebie.źródło
To jest tylko częściowa odpowiedź dla osób, które tu przyjeżdżają i mają trudności z uruchomieniem jakichkolwiek skryptów ftplugin, ale pamiętaj, że plik .vimrc (lub plik, którego źródła) powinien zawierać
lub
aby wtyczki typu pliku były wykonywane, gdy ładowany jest plik danego typu.
źródło