Hati-hati, selalu menggunakan sintaks bisa menjadi ide yang buruk jika Anda sering mengedit file besar. Pada file besar (lusinan atau ratusan MB), penyorotan sintaksis dapat menyebabkan vim menjadi tidak bertanggung jawab selama beberapa detik, karena ia memakan banyak CPU. Coba saja edit file XML besar ... Tentu saja Anda selalu dapat melakukan: syn off (setelah vim telah pulih ...).
Saya baru saja bermain dengan sekelompok ini dan ada banyak lagi untuk diselidiki dengan konfigurasi vim yang Anda daftarkan tetapi itu sesuai dengan harapan saya akan standar waras dan fitur yang berguna. Tidak yakin bagaimana wiki komunitas memungkinkan saya memilih 'dijawab' tetapi anyhoo. Terima kasih!
Gareth
17
Pertama, jika Anda memiliki lebih dari beberapa mesin yang bekerja dengan Anda, pertimbangkan untuk menempatkan Anda ~/.vim/, ~/.vimrcdan file lain yang berguna config ( screen, shell Anda, dll) dalam sistem kontrol revisi. Saya lebih suka menggunakan darcs- murah pada sistem Debian (tidak perlu menginstal kompiler Haskell, cukup instal paket langsung), didistribusikan, dan memiliki mode interaktif yang hebat. Jika Anda tahu / suka git, Anda juga bisa tetap menggunakannya.
File konfigurasi saya saat ini tersedia di repositori darcs saya http://repo.harnir.net/,. Beberapa contoh spesifik dari pengikut saya ~/.vimrc. Maaf, tidak ada tautan untuk skrip, dll. Karena saya pengguna baru, tetapi semua yang dapat Anda temukan di http://vim.org/.
Script ViM esensial untuk sysadmin
skrip cadangan adalah suatu keharusan, ketika Anda mengedit file jarak jauh. Saya menggunakan skrip cbackup.vim , yang menyimpan 10 salinan terakhir dari setiap file yang diedit di direktori pusat dan secara otomatis menghapus yang lama - cukup masukkan ke ~/.vim/plugins/direktori Anda dan lupakan :-)
TaskList memungkinkan Anda dengan cepat mencari FIXME, XXXdan TODOmenandai dalam file saat ini, menampilkannya dan pergi ke tag hanya dengan satu kali penekanan tombol. Jika Anda menggunakan tag ini, pertimbangkan untuk menginstal yang ini
dbext sangat penting untuk semua DBA, juga sangat berguna untuk programmer yang bekerja dengan database. Mari kita jalankan query, periksa struktur database dan yang lainnya. Ini pada dasarnya adalah front end alat bantu seperti mysql, sqlite3, sqlplusdan lain-lain. Jika Anda bekerja dengan database, itu suatu keharusan!
File sintaks
Saya belum melihat banyak sintaks yang berguna di alam, kebanyakan file sysadmin bekerja dengan konfigurasi /etcdan biasanya disorot dengan cukup baik. Di saya ~/.vim/syntax/saat ini saya memiliki sintaks untuk warna CSS , yang mengagumkan (juga bagus untuk pengembang web), tetapi sisanya tidak ditulis dengan baik, saya mungkin akan memperbaruinya di waktu luang. Tambahan file sintaks berharga adalah untuk: dhcpd.conf , / etc / network / interfaces , nginx file konfigurasi, dan SpamAssassin local.cf 's.
Kiat bermanfaat dengan sintaks: jika file konfigurasi tidak dikenali (memiliki nama yang aneh, misalnya /etc/apache2/sites-enabled/some.domain.com, Anda dapat menambahkan ekstensi yang benar ke nama itu (dalam hal ini .conf) atau menambahkan modelm ViM di akhir file:
# vim: filetype = apache
Opsi konfigurasi ViM
Sebagian besar opsi konfigurasi sangat populer, seperti set nocompatible rulerdll. Opsi yang sangat baik untuk dimiliki adalah:
set gdefault: inverses gmode in s///g- with the option /gakan digunakan secara default, jadi Anda tidak perlu menambahkannya setiap waktu - cukup tambahkan untuk mematikannya
set incsearch ignorecase smartcase hlsearch: penting untuk mencari melalui file - inkremental, menunjukkan kecocokan secara waktu nyata, pencarian mengabaikan huruf besar kecuali jika Anda menggunakan huruf besar
set pastetoggle=<F6>: atau kunci lain yang Anda inginkan, beralih di antara pastedan nopastemode, suatu keharusan jika Anda menyalin-menempelkan sesuatu dari halaman web seperti ServerFault :-)
set noerrorbells visualbell t_vb=: singkirkan lonceng yang mengganggu atau lonceng visual setiap kali Anda melakukan sesuatu;)
Fungsi, pemetaan keyboard
rekatkan nama pengguna dan tanggal saat ini ke dalam file, berguna jika Anda bekerja dalam tim dan menambahkan komentar di file tentang siapa yang mengubah sesuatu saat. Cukup tulis xxsigdan tekan spasi, itu akan diubah menjadi sesuatu seperti harnir 20090531. Agar ini berfungsi dengan benar dengan root (mis. Tuliskan nama pengguna Anda alih-alih root), Anda harus masuk menggunakan sudo.
iabbrev xxsig <Esc>: r! [-n "$ SUDO_USER"] && echo "$ SUDO_USER` date '+ \% Y \% m \% d'` "\ | \ | echo "$ USER` date '+ \% Y \% m \% d'` "<CR> I <BS> <Esc> A
Masukkan komentar "garis", seperti # -- Some title -------------------{{{1, panjang 78 karakter - tekan \com#dalam mode normal dan itu dia. Anda akan secara otomatis dalam mode Ganti sehingga Anda dapat menambahkan judul:
nmap \ com # O # <Esc>72A-<Esc>3A{<Esc>A1<Esc> <Home> 4 <Right> R <Space>
Anda dapat dengan mudah memodifikasi untuk sistem komentar yang lain ( ", //, dll), atau hanya memeriksa file konfigurasi saya.
Sentuhan akhir
Jika Anda memiliki file konfigurasi di sistem RCS, Anda mungkin ingin terkadang menyertakan opsi konfigurasi khusus untuk mesin tertentu. Untuk itu, ada baiknya memiliki ~/.vimrc.localfile, termasuk secara otomatis di akhir konfigurasi (jika ada, tentu saja).
jika filereadable (rentangkan ("~ / .vimrc.local"))
sumber ~ / .vimrc.local
berakhir jika
Kiat terakhir - baik meskipun mungkin - tidak berfungsi ketika Anda memiliki direktori home yang di-mount NFS: tidak peduli di mesin mana Anda berada, direktori home Anda akan sama. Perhatikan juga, bahwa tip itu tergantung pada definisi "~" - beberapa shell tidak mendukung steno itu.
Mei
Sebagai sysadmin, Anda mungkin bekerja di server pada akun 'root', yang harus lokal dan tidak di-mount melalui NFS. Dalam hal ini /root/.vimrc.local akan berfungsi dengan baik.
drybjed
6
Tidak begitu yakin bagian mana dari ini yang secara khusus berhubungan dengan sysadmin, tetapi yang terpenting adalah:
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
Saya hanya mengutarakannya seperti itu untuk memisahkan apa yang secara spesifik terkait dengan 'pemrograman' untuk .vimrc Haruskah saya mengubah pertanyaan?
Gareth
Nah biarkan seperti apa adanya, saya yakin beberapa orang memiliki hal-hal yang berhubungan dengan sysadmin, hanya saja bukan saya.
Adam Gibbins
Secara umum setuju dengan ini ... Tapi tab adalah 8-spasi. Hal lain dan berperilaku berbeda di vim kemudian di less / tail / cat. Mungkin menjadi salah satu dari hal-hal keagamaan itu.
Alexandre Carmel-Veilleux
4
Jika Anda biasanya bekerja pada pengguna, daripada ini memungkinkan untuk "pipa" file ke sudo sehingga dapat disimpan.
Steker tak tahu malu. Ini bukan benar-benar perubahan .vimrc melainkan plugin VIM. Saya menggunakan RCSVers pada setiap versi VIM yang diinstal. Pada dasarnya ia menggunakan perintah RCS untuk menyimpan versi file apa pun yang Anda edit. Anda tidak tahu berapa kali saya telah mengacaukan file konfigurasi hanya agar RCSVers menyelamatkan saya dengan menunjukkan kepada saya perubahan yang telah saya buat.
Jangan gunakan .vimrc untuk menghindari belajar VIM
Karena saya tahu bahwa banyak pendatang baru VIM akan membaca ini, saran terbaik yang saya miliki adalah: "Jangan malas dan letakkan entri peta di .vimrc Anda" Mempelajari cara-cara tidak standar dalam melakukan sesuatu di VIM akan membuat Anda merasa seperti gimp total ketika Anda tanpa vimrc Anda. Kurva belajar untuk vi curam, tetapi Anda tidak melakukan kebaikan apa pun dengan memilih untuk tidak belajar.
Vim memiliki fitur yang bagus. Kenapa tidak menggunakannya ?? Ketika Anda harus beralih ke vi, ini bersifat sementara. Jika Anda berpikir Anda harus bekerja keras ketika vim tidak diinstal, ada baiknya untuk menginstalnya.
Luc M
0
Setidaknya sebagian dari jawaban saya sama dengan pemrograman saya .vimrc:
Saya sering berakhir menggunakan strace untuk melacak masalah aneh. Akibatnya, mencoba sintaks menyoroti beberapa baris bisa menjadi konyol dengan string string yang besar. Karena itu, saya menggunakan set synmaxcol = 2048 untuk membatasi penyorotan sintaksis hingga 2048 kolom.
Saya juga penggemar plugin taglist yang menggunakan tag riang. Sejauh ini saya sudah bisa mendorong binary ctags yang sudah dikompilasi dan belum menemukan masalah perpustakaan. Ini dengan cepat memungkinkan saya untuk menavigasi di antara kode yang saya gunakan. Yang umumnya menjadi Perl, Python, atau C.
Jawaban:
CTO kami memiliki konfigurasi Vim yang cukup penuh fitur pada GitHub .
Highlight:
Saya merasa hebat untuk pengkodean Ruby, karena alat administrasi sistem kami ditulis dalam Ruby.
sumber
Pertama, jika Anda memiliki lebih dari beberapa mesin yang bekerja dengan Anda, pertimbangkan untuk menempatkan Anda
~/.vim/
,~/.vimrc
dan file lain yang berguna config (screen
, shell Anda, dll) dalam sistem kontrol revisi. Saya lebih suka menggunakandarcs
- murah pada sistem Debian (tidak perlu menginstal kompiler Haskell, cukup instal paket langsung), didistribusikan, dan memiliki mode interaktif yang hebat. Jika Anda tahu / sukagit
, Anda juga bisa tetap menggunakannya.File konfigurasi saya saat ini tersedia di repositori darcs saya
http://repo.harnir.net/
,. Beberapa contoh spesifik dari pengikut saya~/.vimrc
. Maaf, tidak ada tautan untuk skrip, dll. Karena saya pengguna baru, tetapi semua yang dapat Anda temukan dihttp://vim.org/
.Script ViM esensial untuk sysadmin
skrip cadangan adalah suatu keharusan, ketika Anda mengedit file jarak jauh. Saya menggunakan skrip cbackup.vim , yang menyimpan 10 salinan terakhir dari setiap file yang diedit di direktori pusat dan secara otomatis menghapus yang lama - cukup masukkan ke
~/.vim/plugins/
direktori Anda dan lupakan :-)TaskList memungkinkan Anda dengan cepat mencari
FIXME
,XXX
danTODO
menandai dalam file saat ini, menampilkannya dan pergi ke tag hanya dengan satu kali penekanan tombol. Jika Anda menggunakan tag ini, pertimbangkan untuk menginstal yang inidbext sangat penting untuk semua DBA, juga sangat berguna untuk programmer yang bekerja dengan database. Mari kita jalankan query, periksa struktur database dan yang lainnya. Ini pada dasarnya adalah front end alat bantu seperti
mysql
,sqlite3
,sqlplus
dan lain-lain. Jika Anda bekerja dengan database, itu suatu keharusan!File sintaks
Saya belum melihat banyak sintaks yang berguna di alam, kebanyakan file sysadmin bekerja dengan konfigurasi
/etc
dan biasanya disorot dengan cukup baik. Di saya~/.vim/syntax/
saat ini saya memiliki sintaks untuk warna CSS , yang mengagumkan (juga bagus untuk pengembang web), tetapi sisanya tidak ditulis dengan baik, saya mungkin akan memperbaruinya di waktu luang. Tambahan file sintaks berharga adalah untuk: dhcpd.conf , / etc / network / interfaces , nginx file konfigurasi, dan SpamAssassin local.cf 's.Kiat bermanfaat dengan sintaks: jika file konfigurasi tidak dikenali (memiliki nama yang aneh, misalnya
/etc/apache2/sites-enabled/some.domain.com
, Anda dapat menambahkan ekstensi yang benar ke nama itu (dalam hal ini.conf
) atau menambahkan modelm ViM di akhir file:Opsi konfigurasi ViM
Sebagian besar opsi konfigurasi sangat populer, seperti
set nocompatible ruler
dll. Opsi yang sangat baik untuk dimiliki adalah:set gdefault
: inversesg
mode ins///g
- with the option/g
akan digunakan secara default, jadi Anda tidak perlu menambahkannya setiap waktu - cukup tambahkan untuk mematikannyaset incsearch ignorecase smartcase hlsearch
: penting untuk mencari melalui file - inkremental, menunjukkan kecocokan secara waktu nyata, pencarian mengabaikan huruf besar kecuali jika Anda menggunakan huruf besarset pastetoggle=<F6>
: atau kunci lain yang Anda inginkan, beralih di antarapaste
dannopaste
mode, suatu keharusan jika Anda menyalin-menempelkan sesuatu dari halaman web seperti ServerFault :-)set noerrorbells visualbell t_vb=
: singkirkan lonceng yang mengganggu atau lonceng visual setiap kali Anda melakukan sesuatu;)Fungsi, pemetaan keyboard
rekatkan nama pengguna dan tanggal saat ini ke dalam file, berguna jika Anda bekerja dalam tim dan menambahkan komentar di file tentang siapa yang mengubah sesuatu saat. Cukup tulis
xxsig
dan tekan spasi, itu akan diubah menjadi sesuatu sepertiharnir 20090531
. Agar ini berfungsi dengan benar dengan root (mis. Tuliskan nama pengguna Anda alih-alihroot
), Anda harus masuk menggunakansudo
.Masukkan komentar "garis", seperti
# -- Some title -------------------{{{1
, panjang 78 karakter - tekan\com#
dalam mode normal dan itu dia. Anda akan secara otomatis dalam mode Ganti sehingga Anda dapat menambahkan judul:Anda dapat dengan mudah memodifikasi untuk sistem komentar yang lain (
"
,//
, dll), atau hanya memeriksa file konfigurasi saya.Sentuhan akhir
Jika Anda memiliki file konfigurasi di sistem RCS, Anda mungkin ingin terkadang menyertakan opsi konfigurasi khusus untuk mesin tertentu. Untuk itu, ada baiknya memiliki
~/.vimrc.local
file, termasuk secara otomatis di akhir konfigurasi (jika ada, tentu saja).sumber
Tidak begitu yakin bagian mana dari ini yang secara khusus berhubungan dengan sysadmin, tetapi yang terpenting adalah:
Saya juga selalu memastikan mesin memiliki akses ke file highlight sintaks nginx .
sumber
Jika Anda biasanya bekerja pada pengguna, daripada ini memungkinkan untuk "pipa" file ke sudo sehingga dapat disimpan.
gunakan perintah:
untuk memanggil sudo dan menyimpan file.
sumber
tee
bukancat
?Anda juga dapat melihat pertanyaan SO ini: Apa yang ada di vimrc Anda ?
sumber
Steker tak tahu malu. Ini bukan benar-benar perubahan .vimrc melainkan plugin VIM. Saya menggunakan RCSVers pada setiap versi VIM yang diinstal. Pada dasarnya ia menggunakan perintah RCS untuk menyimpan versi file apa pun yang Anda edit. Anda tidak tahu berapa kali saya telah mengacaukan file konfigurasi hanya agar RCSVers menyelamatkan saya dengan menunjukkan kepada saya perubahan yang telah saya buat.
http://www.vim.org/scripts/script.php?script_id=563
sumber
Jangan gunakan .vimrc untuk menghindari belajar VIM
Karena saya tahu bahwa banyak pendatang baru VIM akan membaca ini, saran terbaik yang saya miliki adalah: "Jangan malas dan letakkan entri peta di .vimrc Anda" Mempelajari cara-cara tidak standar dalam melakukan sesuatu di VIM akan membuat Anda merasa seperti gimp total ketika Anda tanpa vimrc Anda. Kurva belajar untuk vi curam, tetapi Anda tidak melakukan kebaikan apa pun dengan memilih untuk tidak belajar.
sumber
Setidaknya sebagian dari jawaban saya sama dengan pemrograman saya .vimrc:
Jika setidaknya beberapa file yang sedang Anda edit tidak ada dalam RCS, mereka seharusnya! :)
sumber
Menonaktifkan semua mode lekukan "pintar". Bagus untuk pemrograman, neraka untuk file konfigurasi.
sumber
Saya sering berakhir menggunakan strace untuk melacak masalah aneh. Akibatnya, mencoba sintaks menyoroti beberapa baris bisa menjadi konyol dengan string string yang besar. Karena itu, saya menggunakan set synmaxcol = 2048 untuk membatasi penyorotan sintaksis hingga 2048 kolom.
Saya juga penggemar plugin taglist yang menggunakan tag riang. Sejauh ini saya sudah bisa mendorong binary ctags yang sudah dikompilasi dan belum menemukan masalah perpustakaan. Ini dengan cepat memungkinkan saya untuk menavigasi di antara kode yang saya gunakan. Yang umumnya menjadi Perl, Python, atau C.
sumber