Vi dan Vim memungkinkan penyesuaian yang sangat luar biasa, biasanya disimpan di dalam .vimrc
file. Fitur khas untuk seorang programmer akan menyoroti sintaks, indentasi pintar dan sebagainya.
Trik apa lagi untuk pemrograman produktif yang Anda miliki, tersembunyi di .vimrc Anda?
Saya sebagian besar tertarik pada refactorings, kelas mobil dan makro produktivitas serupa, terutama untuk C #.
vim
refactoring
Seseorang
sumber
sumber
Jawaban:
Kamu yang meminta :-)
sumber
Ini bukan di file .vimrc saya, tapi kemarin saya belajar tentang
]p
perintah. Ini menempel konten buffer sepertip
halnya, tetapi secara otomatis menyesuaikan indentasi agar sesuai dengan garis kursor aktif! Ini bagus untuk memindahkan kode.sumber
Saya menggunakan yang berikut ini untuk menyimpan semua file sementara dan cadangan di satu tempat:
Menghemat direktori kerja yang berantakan di semua tempat.
Anda harus membuat direktori ini terlebih dahulu, vim tidak akan membuatnya untuk Anda.
sumber
Seseorang (yaitu Frew) yang diposting di atas memiliki baris ini:
"Secara otomatis memasukkan ke dalam direktori tempat file itu berada:"
Saya melakukan sesuatu seperti itu sendiri sampai saya menemukan hal yang sama dapat diselesaikan dengan pengaturan bawaan:
Saya pikir sesuatu yang serupa telah terjadi pada saya beberapa kali berbeda. Vim memiliki begitu banyak pengaturan dan opsi bawaan sehingga terkadang lebih cepat dan lebih mudah untuk menjalankan milik Anda daripada mencari dokumen tentang cara bawaan untuk melakukannya.
sumber
autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
yang melakukan hal dasar yang sama tetapi tidak melumpuhkan baris perintah.Tambahan terbaru saya adalah untuk menyoroti garis saat ini
sumber
set cul
danset cursorline
lakukan hal yang persis sama.Pembaruan 2012 : Sekarang saya sangat merekomendasikan memeriksa vim-powerline yang telah menggantikan skrip statusline lama saya, meskipun saat ini kehilangan beberapa fitur yang saya lewatkan.
Saya akan mengatakan bahwa hal-hal statusline di vimrc saya mungkin paling menarik / berguna dari banyak (robek dari penulis vimrc di sini dan posting blog yang sesuai di sini ).
Tangkapan layar:
status line http://img34.imageshack.us/img34/849/statusline.png
Kode:
Di antara hal-hal lain, ini menginformasikan pada baris status dari informasi file standar biasa tetapi juga mencakup hal-hal tambahan seperti peringatan untuk: set paste, indentasi campuran, tertinggal spasi putih dll. Cukup berguna jika Anda sangat anal tentang pemformatan kode Anda.
Lebih jauh dan seperti yang ditunjukkan dalam tangkapan layar, menggabungkannya dengan sintaksis memungkinkan kesalahan sintaksis disorot di atasnya (dengan asumsi bahasa pilihan Anda memiliki pemeriksa sintaksis yang terkait dibundel.
sumber
autocmd BufEnter *.py match OverLength /\%81v.\+/
di .vimrc untuk menyoroti garis panjang, tetapi pendekatan Anda mungkin kurang mengganggu. Juga, hasil pemeriksaan sintaks di bilah status adalah satu hal yang sangat keren!Versi mini saya:
Versi besar, dikumpulkan dari berbagai tempat:
sumber
Terkadang hal yang paling sederhana adalah yang paling berharga. 2 baris dalam .vimrc saya yang sangat diperlukan:
sumber
nore \ ;
karena saya gunakan,
sebagai<leader>
Lain-lain pengaturan:
Matikan bel kesalahan yang mengganggu:
Buat gerakan kursor seperti yang diharapkan dengan garis terbungkus:
Cari
ctags
"tag" file direktori, sampai ditemukan:Tampilkan file SCons dengan sintaks Python:
sumber
j
/k
bergerak seperti yang diharapkan dengan garis yang dibungkus? Saya tidak ingin menekang
setiap waktu.Saya bukan vim'er paling canggih di dunia, tapi inilah beberapa yang saya ambil
Membuat tab-autocomplete mengetahui apakah Anda ingin menempatkan kata di sana atau tab yang sebenarnya (4 spasi).
Hapus semua spasi kosong dari sini hingga akhir file. Untuk beberapa alasan saya menemukan ini sangat berguna.
Tampilkan nomor baris dan jangan buat file cadangan yang mengganggu itu. Saya tidak pernah memulihkan apa pun dari cadangan lama.
Saat dimasukkan, tekan i dua kali untuk pergi ke mode perintah. Saya tidak pernah menemukan kata atau variabel dengan 2 i berturut-turut, dan dengan cara ini saya tidak harus membiarkan jari saya meninggalkan baris beranda atau menekan beberapa tombol untuk beralih bolak-balik.
sumber
Vmrc saya yang banyak berkomentar, dengan keybindings readline-esque (emacs):
sumber
sumber
Beberapa perbaikan untuk kesalahan ketik umum telah menghemat waktu yang mengejutkan bagi saya:
sumber
Saya tidak menyadari berapa banyak baris 3200 .vimrc saya hanya untuk kebutuhan unik saya dan akan cukup membosankan untuk mendaftar di sini. Tapi mungkin itu sebabnya Vim sangat berguna ...
sumber
242-line saya
.vimrc
tidak begitu menarik, tetapi karena tidak ada yang menyebutkannya, saya merasa harus berbagi dua pemetaan paling penting yang telah meningkatkan alur kerja saya selain pemetaan default:Serius, beralih buffer adalah yang hal yang harus dilakukan sangat sering. Windows, tentu saja, tetapi semuanya tidak sesuai dengan layar dengan baik.
Serangkaian peta untuk penelusuran kesalahan yang cepat (lihat perbaikan cepat) dan hasil grep:
Sederhana, mudah, dan efisien.
sumber
sumber
Saya menggunakan cscope dari dalam vim (memanfaatkan banyak buffer). Saya menggunakan control-K untuk memulai sebagian besar perintah (dicuri dari ctag seingat saya). Juga, saya sudah membuat file .cscope.out.
jika memiliki ("cscope")
berakhir jika
sumber
Saya menyimpan file vimrc saya di github. Anda dapat menemukannya di sini:
http://github.com/developernotes/vim-setup/tree/master
sumber
Saya menggunakan OS X, jadi beberapa di antaranya mungkin memiliki standar yang lebih baik di platform lain, tetapi terlepas dari:
sumber
softtabstop
dan menggunakannyatabstop
. Membiarkantabstop
nilai default 8 akan membantu saat membaca file yang dibuat orang lain dengan tab.= untuk memformat ulang paragraf normal. + untuk memformat ulang paragraf dalam email yang dikutip. showmatch adalah untuk menginstal kurung / kurung yang cocok ketika saya mengetik kurung kurung atau kurung.
sumber
Gunakan file 'tag' pertama yang tersedia di pohon direktori:
Kiri dan kanan adalah untuk mengganti buffer, bukan menggerakkan kursor:
Nonaktifkan penyorotan pencarian dengan satu kali penekanan tombol:
sumber
sumber
if has("gui_running")
,, dan peta keren. Saya telah menyalin sebagian besar konfigurasi Anda ke milik saya. TERIMA KASIH!Letakkan ini di vimrc Anda:
dan tidak pernah berpikir tentang mengetik hashrocket lagi. Ya, saya tahu Anda tidak perlu di Ruby 1.9. Tapi tidak apa-apa.
Vmrc penuh saya ada di sini .
sumber
autocmd FileType ruby imap <C-l> <Space>=><Space>
Nah, Anda harus mengais konfigurasi saya sendiri. Selamat bersenang-senang. Sebagian besar itu hanya pengaturan yang saya inginkan, termasuk pemetaan dan hal-hal yang berhubungan dengan sintaksis acak, serta pengaturan lipat dan beberapa konfigurasi plugin, pengurai tex-compilation dll.
BTW, sesuatu yang saya temukan sangat berguna adalah "sorot kata di bawah kursor":
Perhatikan bahwa hanya
cterm
dantermfg
digunakan, karena saya tidak menggunakannyagvim
. Jika Anda ingin itu berfungsi,gvim
cukup ganti mereka dengangui
danguifg
, masing-masing.sumber
Saya sudah mencoba untuk menjaga .vimrc saya agar bermanfaat secara umum.
Trik praktis di sana adalah penangan untuk file .gpg untuk mengeditnya dengan aman:
sumber
1) Saya suka baris status (dengan nama file, nilai ascii (desimal), nilai hex, dan garis standar, cols, dan%):
2) Saya juga suka pemetaan untuk windows split.
sumber
Sebenarnya tidak banyak di .vimrc saya (walaupun memiliki 850 baris). Sebagian besar pengaturan dan beberapa pemetaan umum dan sederhana yang saya terlalu malas untuk mengekstrak ke plugin.
Jika Anda maksud "file templat" oleh "kelas otomatis", saya menggunakan plugin templat expander - di situs yang sama ini, Anda akan menemukan ftplugins yang telah saya tentukan untuk pengeditan C&C ++, beberapa mungkin dapat disesuaikan dengan C # Saya kira.
Mengenai aspek refactoring, ada tip yang didedikasikan untuk subjek ini di http://vim.wikia.com ; IIRC contoh kode untuk C #. Itu mengilhami saya sebuah plugin refactoring yang masih membutuhkan banyak pekerjaan (perlu sebenarnya direactored).
Anda harus melihat arsip milis vim, khususnya subjek tentang penggunaan vim sebagai IDE yang efektif. Jangan lupa melihat: make, tag, ...
HTH,
sumber
.Vimrc saya mencakup (antara lain, hal-hal yang lebih bermanfaat) baris berikut:
Saya bosan saat belajar untuk final SMA saya.
sumber
Inilah .vimrc saya. Saya menggunakan Gvim 7.2
sumber
Apa yang ada di saya
.vimrc
?File konfigurasi sebenarnya ada di bawah
~/.vim/ :)
Dan sebagian besar hal yang ada di parasiting pada upaya orang lain, secara terang-terangan diadaptasi dari
vim.org
untuk keuntungan pengeditan saya.sumber