Ít nhất tôi luôn không chú ý "cú pháp trên" trong / etc / vim / vimrc
Ít nhất tôi luôn không chú ý "cú pháp trên" trong / etc / vim / vimrc
Câu trả lời:
CTO của chúng tôi có cấu hình Vim đầy tính năng trên GitHub .
Điểm nổi bật:
Tôi thấy nó rất tuyệt cho mã hóa Ruby, vì các công cụ quản trị hệ thống của chúng tôi được viết bằng Ruby.
Thứ nhất, nếu bạn có nhiều hơn một vài máy bạn làm việc với, hãy xem xét đặt của bạn ~/.vim/
, ~/.vimrc
và các tập tin khác có ích cấu hình ( screen
, shell của bạn, vv) trong một hệ thống kiểm soát phiên bản. Tôi thích sử dụng darcs
- nó rẻ trên các hệ thống Debian (không cần cài đặt trình biên dịch Haskell, chỉ cần cài đặt gói trực tiếp), phân phối và có các chế độ tương tác tuyệt vời. Nếu bạn biết / thích git
, bạn cũng có thể gắn bó với điều đó.
Các tập tin cấu hình hiện tại của tôi có sẵn trong kho darcs của tôi , http://repo.harnir.net/
. Một số ví dụ cụ thể từ tôi làm ~/.vimrc
theo. Xin lỗi, không có liên kết cho tập lệnh, v.v. bởi vì tôi là người dùng mới, nhưng tất cả những người bạn có thể tìm thấy http://vim.org/
.
một kịch bản sao lưu là phải, khi bạn chỉnh sửa các tập tin từ xa. Tôi sử dụng tập lệnh cbackup.vim , giữ 10 bản sao cuối cùng của mỗi tệp đã chỉnh sửa trong một thư mục trung tâm và tự động xóa các tập tin cũ - chỉ cần đặt vào ~/.vim/plugins/
thư mục của bạn và quên nó đi :-)
Tasklist phép bạn nhanh chóng tìm kiếm FIXME
, XXX
và TODO
thẻ trong tập tin hiện tại, hiển thị chúng và đi đến thẻ chỉ với một phím nhấn. Nếu bạn sử dụng các thẻ này, hãy xem xét việc cài đặt thẻ này
dbext rất cần thiết cho tất cả các DBA, cũng rất hữu ích cho các lập trình viên làm việc với cơ sở dữ liệu. Hãy để bạn chạy truy vấn, kiểm tra cấu trúc của cơ sở dữ liệu và không có gì. Nó thực chất là một kết thúc trước cho các công cụ như mysql
, sqlite3
, sqlplus
và những người khác. Nếu bạn làm việc với cơ sở dữ liệu, đó là điều bắt buộc!
Tôi chưa thấy nhiều cú pháp hữu ích trong tự nhiên, hầu hết các tệp hệ thống hoạt động với các cấu hình /etc
và chúng thường được làm nổi bật khá tốt. Theo tôi ~/.vim/syntax/
hiện tại tôi có cú pháp cho các màu CSS , rất tuyệt vời (cũng tốt cho các nhà phát triển web), nhưng phần còn lại không được viết tốt lắm, có lẽ tôi sẽ cập nhật chúng trong thời gian rảnh. Bổ sung tập tin cú pháp có giá trị dành cho: dhcpd.conf , / etc / network / giao diện , nginx file cấu hình, và SpamAssassin local.cf 's.
Mẹo hữu ích với cú pháp: nếu một tệp cấu hình không được nhận dạng (có một tên lạ, như /etc/apache2/sites-enabled/some.domain.com
, bạn có thể nối thêm phần mở rộng chính xác vào tên của nó (trong trường hợp này .conf
) hoặc thêm một mô hình ViM vào cuối của nó:
# vim: filetype = apache
Hầu hết các tùy chọn cấu hình là rất phổ biến, như set nocompatible ruler
vv Các tùy chọn rất tốt cần có là:
set gdefault
: đảo ngược g
chế độ trong s///g
- với tùy chọn đó /g
sẽ được sử dụng theo mặc định, vì vậy bạn không cần thêm nó mỗi lần - chỉ cần thêm nó để tắt nó đi
set incsearch ignorecase smartcase hlsearch
: cần thiết để tìm kiếm thông qua các tệp - tăng dần, hiển thị các kết quả khớp trong thời gian thực, tìm kiếm bỏ qua trường hợp trừ khi bạn sử dụng chữ in hoa
set pastetoggle=<F6>
: Hoặc phím khác mà bạn thích, Toggles giữa paste
và nopaste
các chế độ, điều bắt buộc nếu bạn sao chép-dán một cái gì đó từ một trang web như ServerFault :-)
set noerrorbells visualbell t_vb=
: thoát khỏi chuông gây phiền nhiễu hoặc chuông trực quan mỗi khi bạn làm gì đó;)
dán tên người dùng và ngày hiện tại của bạn vào một tệp, hữu ích nếu bạn làm việc trong một nhóm và thêm nhận xét trong các tệp về người đã thay đổi điều gì đó khi nào. Chỉ cần viết xxsig
và nhấn không gian, nó sẽ được thay đổi thành một cái gì đó như harnir 20090531
. Để điều này hoạt động chính xác với root (tức là viết tên người dùng của bạn thay vì root
), bạn cần đăng nhập bằng cách sử dụng sudo
.
iabenamev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` ngày '+ \% Y \% m \% d'` "\ | \ | tiếng vang "$ USER` ngày '+ \% Y \% m \% d'` "<CR> Tôi <BS> <Esc> A
Chèn bình luận "dòng", như # -- Some title -------------------{{{1
, độ dài 78 ký tự - nhấn \com#
trong chế độ bình thường và nó ở đó. Bạn sẽ tự động ở chế độ Thay thế để bạn có thể thêm tiêu đề:
nmap \ com # O # <Esc> 72A- <Esc> 3A {<Esc> A1 <Esc> <Home> 4 <Right> R <Space>
Bạn có thể dễ dàng sửa đổi nó cho các hệ thống bình luận khác ( "
, //
, vv), hoặc chỉ cần kiểm tra tập tin cấu hình của tôi.
Nếu bạn có các tệp cấu hình trong hệ thống RCS, đôi khi bạn có thể muốn bao gồm các tùy chọn cấu hình dành riêng cho một máy nhất định. Vì thế, thật tốt khi có ~/.vimrc.local
tệp, được bao gồm tự động ở cuối cấu hình (tất nhiên nếu có, tất nhiên).
nếu có thể ghi lại được (mở rộng ("~ / .vimrc.local")) nguồn ~ / .vimrc.local endif
Không thực sự chắc chắn phần nào trong số này có liên quan cụ thể đến sysadmin, nhưng điều cốt yếu của tôi là:
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
Tôi cũng luôn đảm bảo máy có quyền truy cập vào tập tin tô sáng cú pháp nginx .
Nếu bạn thường làm việc tại một người dùng, điều này có thể "chuyển" một tệp thành sudo để có thể lưu nó.
cmap w!! %!sudo tee > /dev/null %
sử dụng lệnh:
:w!!
để envoke sudo và lưu tập tin.
tee
thay vì cat
?
Bạn cũng có thể xem câu hỏi SO này: vimrc của bạn là gì?
Không biết xấu hổ cắm. Đây không thực sự là một thay đổi .vimrc mà là một plugin VIM. Tôi sử dụng RCSVers trên mọi phiên bản cài đặt của VIM. Về cơ bản, nó sử dụng lệnh RCS để lưu một phiên bản của bất kỳ tệp nào bạn chỉnh sửa. Bạn không biết bao nhiêu lần tôi đã vặn một tệp cấu hình để RCSVers lưu tôi bằng cách hiển thị cho tôi những thay đổi tôi đã thực hiện.
Vì tôi biết rằng rất nhiều người mới tham gia VIM sẽ đọc được điều này, nên gợi ý tốt nhất tôi có là: "Đừng lười biếng và đặt các mục bản đồ vào .vimrc của bạn" Học cách làm việc không chuẩn trong VIM sẽ khiến bạn cảm thấy như thế nào một cái nhìn tổng thể khi bạn không có vimrc của bạn. Đường cong học tập cho vi rất dốc, nhưng bạn không tự mình làm bất cứ điều gì bằng cách chọn không học.
Ít nhất một phần câu trả lời của tôi giống như lập trình của tôi .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>
Nếu ít nhất một số tệp bạn đang chỉnh sửa không có trong RCS, thì chúng nên như vậy! :)
Vô hiệu hóa tất cả các chế độ thụt "thông minh". Tuyệt vời cho lập trình, địa ngục cho tập tin cấu hình.
Tôi thường kết thúc bằng cách sử dụng strace để theo dõi các vấn đề kỳ lạ. Kết quả là, cố gắng làm nổi bật cú pháp một số dòng có thể trở nên lố bịch với một chuỗi chuỗi lớn. Đây là trường hợp, tôi sử dụng set synmaxcol = 2048 để giới hạn cú pháp tô sáng ở 2048 cột.
Tôi cũng là một fan hâm mộ của plugin danh sách thẻ sử dụng các thẻ quá mức. Cho đến nay tôi đã có thể xoay quanh nhị phân ctags được biên dịch xung quanh và không gặp phải bất kỳ vấn đề thư viện nào. Điều này nhanh chóng cho phép tôi điều hướng trong số bất kỳ mã nào tôi làm việc cùng. Những người nói chung là Perl, Python hoặc C.