Przynajmniej zawsze odkomentuję „składnię” w / etc / vim / vimrc
Przynajmniej zawsze odkomentuję „składnię” w / etc / vim / vimrc
Odpowiedzi:
Nasz CTO ma dość wypełnioną funkcjami konfigurację Vima na GitHub .
Najważniejsze:
Uważam, że świetnie nadaje się do kodowania Ruby, ponieważ nasze narzędzia do administrowania systemem są napisane w języku Ruby.
Po pierwsze, jeśli masz więcej niż kilka maszyn, z którymi pracujesz, należy rozważyć oddanie ~/.vim/
, ~/.vimrc
i inne przydatne pliki konfiguracyjne ( screen
, swoją powłokę, itp) w systemie kontroli wersji. Wolę używać darcs
- jest tani w systemach Debian (nie trzeba instalować kompilatora Haskell, wystarczy zainstalować pakiet bezpośrednio), rozproszony i ma świetne tryby interaktywne. Jeśli wiesz / lubisz git
, możesz się z tym trzymać.
Moje aktualne pliki konfiguracyjne są dostępne w moim darcs repozytorium http://repo.harnir.net/
. Kilka konkretnych przykładów z mojej ~/.vimrc
obserwacji. Niestety, nie ma linków do skryptów itp., Ponieważ jestem nowym użytkownikiem, ale wszystkie te można znaleźć na http://vim.org/
.
podczas edytowania plików zdalnych konieczny jest skrypt kopii zapasowej. Używam cbackup.vim skrypt, który przechowuje ostatnie 10 kopii każdego pliku edytowane w centralnym katalogu i automatycznie usuwa stare - wystarczy umieścić w swoim ~/.vim/plugins/
katalogu i zapomnij o tym :-)
Lista zgłoszeń pozwala szybko wyszukać FIXME
, XXX
a TODO
tagi w bieżącym pliku, wyświetlać je i przejść do znacznika za pomocą jednego naciśnięcia klawisza. Jeśli używasz tych tagów, rozważ zainstalowanie tego
dbext jest niezbędny dla wszystkich DBA, również bardzo przydatny dla programistów pracujących z bazami danych. Pozwól nam uruchamiać zapytania, sprawdzać strukturę baz danych i tak dalej. Zasadniczo jest to front-end do narzędzi takich jak mysql
, sqlite3
, sqlplus
i innych. Jeśli pracujesz z bazami danych, jest to koniecznością!
Nie widziałem wielu użytecznych składni na wolności, większość plików, z którymi współpracują sysadmini, to konfiguracje /etc
i zwykle są dość dobrze podświetlone. W mojej ~/.vim/syntax/
obecnie mam składnię kolorów CSS , co jest niesamowite (dobre również dla programistów stron internetowych), ale reszta nie jest zbyt dobrze napisana, być może zaktualizuję je w wolnym czasie. Dodatkowe pliki składniowe, które warto mieć, to: dhcpd.conf , / etc / network / interfaces , pliki konfiguracyjne nginx oraz local.cf SpamAssassin .
Przydatna wskazówka ze składnią: jeśli plik konfiguracyjny nie zostanie rozpoznany (ma dziwną nazwę, na przykład /etc/apache2/sites-enabled/some.domain.com
możesz dodać poprawne rozszerzenie do jego nazwy (w tym przypadku .conf
) lub dodać modeline ViM na końcu:
# vim: filetype = apache
Większość opcji konfiguracji jest bardzo popularna, jak set nocompatible ruler
itp. Bardzo dobre opcje to:
set gdefault
: odwraca g
tryb w s///g
- z tą opcją /g
będzie domyślnie używany, więc nie trzeba go dodawać za każdym razem - wystarczy go dodać, aby go wyłączyć
set incsearch ignorecase smartcase hlsearch
: niezbędny do przeszukiwania plików - przyrostowy, pokazuje dopasowania w czasie rzeczywistym, wyszukiwanie ignoruje wielkość liter, chyba że używasz wielkich liter
set pastetoggle=<F6>
: lub inny preferowany klawisz, przełącza pomiędzy trybami paste
i nopaste
, koniecznością, jeśli skopiujesz i wkleisz coś ze stron internetowych takich jak ServerFault :-)
set noerrorbells visualbell t_vb=
: pozbywaj się irytującego dzwonka lub dzwonka wizualnego za każdym razem, gdy coś robisz;)
wklej swoją nazwę użytkownika i aktualną datę do pliku, przydatne, jeśli pracujesz w zespole, i dodawaj komentarze w plikach dotyczące tego, kto coś zmienił. Po prostu napisz xxsig
i naciśnij spację, zostanie zmieniona na coś podobnego harnir 20090531
. Aby działało to poprawnie z rootem (np. Wpisz swoją nazwę użytkownika zamiast root
), musisz się zalogować używając sudo
.
iabbrev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` date '+ \% Y \% m \% d'` "\ | \ | echo "$ USER` data '+ \% Y \% m \% d'` "<CR> I <BS> <Esc> A
Wstaw komentarz „wiersze”, na przykład # -- Some title -------------------{{{1
, o długości 78 znaków - naciśnij \com#
w trybie normalnym i gotowe. Nastąpi automatyczne przejście do trybu Zastąp, dzięki czemu możesz dodać tytuł:
nmap \ com # O # <Esc>72A-<Esc>3A{<Esc>A1<Esc> <Home> 4 <Right> R <Space>
Można łatwo zmodyfikować go do innych systemów (komentarz "
, //
etc.), lub po prostu sprawdzić swój plik konfiguracyjny.
Jeśli masz pliki konfiguracyjne w systemie RCS, możesz czasami chcieć dołączyć opcje konfiguracji specyficzne dla określonego komputera. W tym celu dobrze jest mieć ~/.vimrc.local
plik dołączany automatycznie na końcu konfiguracji (jeśli jest obecny, oczywiście).
jeśli filereadable (rozwiń („~ / .vimrc.local”)) source ~ / .vimrc.local endif
Nie bardzo wiem, która część tego jest konkretnie związana z sysadminem, ale najważniejsze są:
syntax on
set background=dark
set shiftwidth=2
set tabstop=2
if has("autocmd")
filetype plugin indent on
endif
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
set incsearch " Incremental search
Zawsze też zapewniam maszynie dostęp do pliku podświetlania składni nginx .
Jeśli zazwyczaj pracujesz u użytkownika, umożliwia to „potokowanie” pliku do sudo, aby można go było zapisać.
cmap w!! %!sudo tee > /dev/null %
użyj polecenia:
:w!!
wywołać sudo i zapisać plik.
tee
zamiast cat
?
Możesz także spojrzeć na to SO pytanie: Co jest w twoim vimrc ?
Bezwstydna wtyczka. To nie jest tak naprawdę zmiana .vimrc, ale wtyczka VIM. Używam RCSVers na każdej zainstalowanej wersji VIM. Zasadniczo używa polecenia RCS, aby zapisać wersję dowolnego edytowanego pliku. Nie wiesz, ile razy spieprzyłem plik konfiguracyjny tylko po to, aby RCSVers uratowali mnie, pokazując mi wprowadzone zmiany.
Ponieważ wiem, że wielu początkujących użytkowników VIM to przeczyta, najlepszą sugestią, jaką mam, jest: „Nie leniwy i nie umieszczaj wpisów na mapach w swoim .vimrc” Nauka niestandardowych sposobów robienia rzeczy w VIM sprawi, że poczujesz się jak totalny gimp, gdy jesteś bez swojego vimrc. Krzywa uczenia się dla vi jest stroma, ale nie robisz sobie przysług, nie decydując się na naukę.
Przynajmniej część mojej odpowiedzi jest taka sama jak moje programowanie .vimrc:
set hidden
map <TAB> :e#<CR>
map <F7> :set paste!<CR>
map <F8> :set hlsearch!<CR>
map <F9> :!co -l %<CR>:e<CR>
map <F10> :!rcsdiff %<CR>
map <F11> :!ci -u %<CR>:e<CR>
Jeśli przynajmniej niektóre pliki, które edytujesz, nie znajdują się w RCS, powinny być! :)
Wyłączanie wszystkich „inteligentnych” trybów wcięcia. Idealne do programowania, do diabła z plikiem konfiguracyjnym.
Często używam strace do śledzenia dziwnych problemów. W rezultacie próba podświetlenia składni niektórych wierszy może stać się śmieszna przy użyciu dużego ciągu znaków. W tym przypadku używam set synmaxcol = 2048, aby ograniczyć podświetlanie składni do 2048 kolumn.
Jestem również fanem wtyczki taglist, która wykorzystuje żywiołowe tagi. Do tej pory byłem w stanie przepchnąć skompilowane pliki binarne ctags i nie napotkałem żadnych problemów z biblioteką. To pozwala mi szybko przechodzić między kodami, z którymi pracuję. Są to na ogół Perl, Python lub C.