Pekerjaan saya sehari-hari adalah pengembang java / web. Saya telah menggunakan gerhana selama ~ 5 tahun. Saya pikir sangat bagus dan saya juga menggunakan Webstorm untuk javascript dan html / jsp.
Saya kadang-kadang perlu ssh ke server dan main-main dengan file konfigurasi; untuk ini saya menggunakan vi dan itu menyakitkan saya. Saya harus membuka halaman web yang mencantumkan sintaks / perintah: tekan escape, lalu asterix, balikkan tiga kali dan teks akan dimasukkan dua baris di atas kursor Anda . Itu sangat tidak intuitif bagi saya, dan saya membayangkan siapa pun yang tumbuh di akhir tahun delapan puluhan sembilan puluhan.
Berikut adalah alasan utama saya pikir gerhana itu brilian (dan saya menganggap IDE lain), dan tidak beralih ke emacs dan / atau vim.
- Sorotan kesalahan tanpa perlu mengkompilasi ulang proyek.
- Bantuan kode.
- Refactoring.
- Pembukaan panggilan hiearchy / Pembukaan deklarasi.
- Sepenuhnya terintegrasi dengan kontrol sumber.
- Debugger disertakan.
- ketersediaan plugin pihak ke-3 - mis. findbugs / checkstyle.
Salah satu argumen yang saya dengar adalah bahwa dengan emacs / vim Anda dapat membuat plugin Anda sendiri - well OK, tetapi Anda dapat melakukannya di gerhana juga. Tapi Anda tidak perlu karena semuanya sudah ada di sana! Seperti mengatakan membeli mobil setengah jadi ini, Anda dapat membangun sisanya sendiri.
Mengapa orang menggunakan emacs / vim? Apakah orang yang menggunakannya benar-benar bekerja pada proyek berorientasi objek yang kompleks di organisasi besar?
Apa alasan untuk beralih ke vim / emacs. Bagaimana produktivitas saya akan meningkat jika saya beralih?
nano
, alih-alihvim
, hanya karena saya tidak cukup sering menggunakan CLI untuk mempelajari semuavim
perintah. Jika Anda hanya menggunakannya sesekali, saya akan berpikir sesuatu yang sederhana sepertinano
akan melayani Anda lebih baik ...Jawaban:
Gunakan alat apa pun yang sesuai dengan kebutuhan Anda. Mengetahui VIM atau Emacs adalah hal yang baik jika Anda harus masuk ke server jauh dan mengedit file konfigurasi atau yang serupa. Saya tahu VIM dengan cukup baik, tetapi saya tidak akan menggunakannya untuk berkembang di Jawa. Itulah tujuan Eclipse, Netbeans dll.
sumber
Emacs dan Vi masih punya tempat.
Mereka tersedia di mana-mana di lingkungan Unix dan Unix, dan dapat diinstal pada sebagian besar platform populer lainnya.
Mereka populer dan stabil, jadi mempelajarinya sekali terbayar dalam jangka panjang.
Mereka menjalankan terminal teks, sehingga Anda dapat menggunakannya dalam sesi telnet dan ssh.
Mereka menyediakan mode pengeditan dan penyorotan sintaks untuk berbagai bahasa, termasuk bahasa yang sangat baru dan sangat langka. (Ini adalah salah satu keunggulan favorit saya.)
Namun, kunci untuk memahami program-program ini adalah untuk mengetahui masalah apa yang semula dimaksudkan untuk mereka selesaikan. Untuk Vi ini sedang mengedit file teks melalui koneksi terminal selambat 300 Baud. Di lingkungan itu Anda tidak ingin menampilkan menu atau secara radikal mengubah isi layar jika Anda bisa menghindarinya.
Emacs dimaksudkan untuk digunakan di lingkungan yang lebih cepat. Kekuatannya adalah bisa dimuat sekali dan tidak pernah keluar. Pengguna dapat menyelesaikan tugas lain yang mereka butuhkan dari Emacs tanpa pergi, dan seringkali dengan cara yang lebih ramah daripada jika mereka harus melakukannya dari baris perintah. Orang tidak memiliki lingkungan desktop grafis dengan jendela Emacs terbuka. Emacs memungkinkan pengguna menyelesaikan hampir semua tugas normal (dan banyak tugas aneh) hanya dengan beberapa stroke. Apa pun yang tidak ada di dalamnya dapat dituliskan.
Jelas kebutuhan masyarakat telah banyak berubah sejak program ini diperkenalkan, tetapi mereka masih memiliki beberapa kekuatan nyata. Saya telah mempelajari dasar-dasar keduanya, dan menggunakannya setiap minggu. Tetap saja, saya pikir kekuatan mereka sering dilebih-lebihkan. Mereka telah mencapai status legendaris sehingga orang tidak mengakui kelemahan mereka dan cenderung berpikir mereka melakukan sesuatu yang salah jika Emacs / Vi tidak membuat mereka lebih produktif daripada Eclipse atau Visual Studio.
Sekarang to the point.
Java adalah bahasa populer dengan dukungan luar biasa di Eclipse, dan kemungkinan besar Anda sedang mengembangkan kode pada sistem operasi modern yang memungkinkan Anda dengan cepat menyelesaikan tugas-tugas umum dan membuat skrip orang lain tanpa melakukannya melalui IDE Anda. Saya pikir tidak masuk akal bagi Anda untuk beralih.
sumber
Saya telah menggunakan emacs selama 5+ tahun. Saya tidak bisa lagi memberi tahu Anda kombinasi tombol yang saya gunakan, jari-jari saya hanya mengingatnya dan harus melihat keyboard hanya untuk melihat apa yang diketik tangan saya.
Beberapa tahun yang lalu saya mulai menggunakan Eclipse, dan tidak ada kemungkinan saya akan kembali ke emacs dengan bebas. Maafkan ingatan otot, meskipun Anda merindukanmu
C-x r SPC 1
, Eclipse membuat saya jauh lebih produktif dan itulah yang terpenting.Tidak, saya tidak berpikir Anda harus beralih , tetapi Anda harus mendedikasikan beberapa jam untuk mempelajari dasar-dasar vim sehingga Anda tidak perlu mencarinya lagi.
sumber
Kemungkinan besar, Anda tidak harus beralih . Vim adalah editor teks yang hebat, sangat kuat, tetapi itu bukan pengganti untuk IDE, dan seharusnya tidak! Eclipse sangat bagus dalam subset dari hal-hal khusus-IDE, dan vim sangat baik pada subset dari hal-hal khusus pengeditan teks. Masing-masing memiliki fokusnya sendiri-sendiri dan berbeda.
Saya tahu ada plugin yang memperluas fungsionalitas vim sehingga dapat melakukan banyak hal yang sama dengan IDE tertentu. Tapi itu masih bukan kekuatan utama vim, dan sebuah IDE hampir selalu dapat melakukannya dengan lebih baik. Karena itulah yang menjadi fokus mereka.
Apa yang saya lakukan dalam pekerjaan sehari-hari adalah menggunakan Visual Studio dan vim untuk mengedit C #. Ini bekerja sangat baik untuk saya, dan saya tidak akan pernah memotong salah satu dari mereka untuk bergantung secara eksklusif pada yang lain.
Sejauh emacs berjalan, saya bukan ahli, tapi saya tidak berpikir itu bisa bersaing dengan fitur IDE Eclipse ketika datang ke Jawa (tolong perbaiki saya jika saya salah). Jika Anda sedang mengembangkan di cadel, maka tentu dapat dianggap IDE yang sangat baik, tapi saya tidak berpikir itu memiliki dukungan yang sama untuk Java.
Jadi jika Anda ingin editor teks yang lebih kuat untuk digunakan bersama Eclipse, maka saya pasti akan merekomendasikan Anda belajar vim atau emacs. Tapi sebagai suplemen, bukan sebagai pengganti . Ini benar-benar dapat memberikan hasil dalam jangka panjang, meskipun tidak satu pun dari mereka memiliki kurva belajar yang sangat mudah :)
Berikut ini adalah bacaan gemar panjang tentang kekuatan vim. Dan inilah daftar beberapa trik bagus yang dapat Anda lakukan.
sumber
Pada dasarnya, baca ini (PDF) untuk melihat mengapa Emacs sangat kuat. Setelah Anda tahu Lisp, hampir mudah untuk menulis ekstensi untuknya (saya punya beberapa alur kerja kontrol sumber dan penyebaran yang dituliskan melalui add-on yang saya tulis untuk saya panggil sendiri
employer-mode
). Sejauh apa yang Anda sebutkan di atas;REPLs
banyak bahasa ke dalamnya. Sekarang, saya memilikiruby
,python
,haskell
,common lisp
,scheme
danerlang
semua doyan ke emacs. Secara kebetulan, addon JavaScriptjs2-mode
memiliki "kompilasi" tambahan penuh sehingga menyoroti hal-hal seperti kesalahan sintaksis untuk Anda, jadi tentu saja mungkin, tetapi bukan norma.autocomplete.el
, saya percaya, periksa wiki Emacsgit-mode
bawaan pada Emacs 22.3, tidak yakin tentang kontrol sumber lainnyaYang mengatakan, jika Anda tidak suka Lisp, dan Anda tidak bermaksud mempelajarinya, saya tidak bisa merekomendasikan Emacs. Kemenangan yang Anda dapatkan darinya adalah belajar tentang kerajinan alat dan menerapkan prinsip-prinsip itu untuk meningkatkan produktivitas Anda sendiri, tidak mendapatkan banyak mod yang tersedia dan merangkai mereka bersama-sama.
sumber
Saya melihat dua opsi di sini:
nano somefile.conf
dan Anda memiliki editor yang bagus. Anda bahkan dapat menambahkan penyorotan sintaksisSemoga ini membantu
sumber
Secara pribadi, saya suka Vim karena sangat bagus dalam mengedit teks, yaitu sangat ergonomis (keybindings tidak terlalu membebani tangan saya dan saya tidak perlu menggunakan mouse terlalu banyak) dan efisien untuk digunakan setelah Anda terbiasa itu (yang tentu saja akan membutuhkan waktu dan kesabaran, karena itu bukan editor yang paling intuitif untuk pemula).
Namun saya lebih suka Eclipse untuk pengembangan Java skala besar karena banyak fitur yang tersedia. Tentu saja, ada beberapa plugin yang dapat membuat Eclipse sedikit lebih dapat ditoleransi.
sumber
Jika Anda senang dengan Eclipse, maka jangan beralih.
Jika Anda dapat menggunakan Eclipse di mana pun Anda butuhkan, jangan beralih.
Jika proyek / perusahaan Anda secara eksklusif menggunakan Eclipse, jangan beralih.
Jika Anda jarang membutuhkan yang lain, cetak lembar contekan untuk salah satu editor dan tarik keluar dari laci saat Anda membutuhkannya, lalu kembali menggunakan Eclipse.
Lihat pertanyaan (sama) di SO: https://stackoverflow.com/questions/1346820/what-are-the-efficiencies-afforded-by-emacs-or-vim-vs-eclipse
Sejauh menjawab, "Apakah orang yang menggunakannya benar-benar bekerja pada proyek berorientasi objek yang kompleks di organisasi besar?" - Pegang topimu sonny, tapi jawabannya adalah "ya". Saya telah mengerjakan proyek dengan puluhan juta baris kode yang digunakan dalam jalur kritis merancang CPU yang menjalankan komputer yang Anda gunakan untuk mengajukan pertanyaan ini. Dan orang-orang mencoba Eclipse tetapi ternyata itu terlalu lambat dan kikuk (meskipun, diakui, kami tidak menggunakan Java).
sumber
Baik emacs dan vim adalah editor yang sangat dapat dikonfigurasi dan kuat, dan keduanya memberikan kemenangan produktivitas besar begitu konsep dasar dipahami.
Vi menang dengan apa yang pada dasarnya adalah operasi berbasis set. Sebagai contoh, mengubah semua instance "foo" menjadi "bar" dalam definisi kelas adalah one-liner.
Emacs sama kuatnya, tetapi Anda harus belajar Emacs Lisp untuk menggunakannya secara maksimal.
Dalam kedua kasus tersebut, sebaiknya Anda beralih jika Anda berencana untuk menggunakan emacs atau vi untuk semuanya .
sumber
Alat terbaik (dalam jangka pendek) adalah yang Anda sangat mahir.
Orang-orang menggunakan teknologi berusia 30 tahun ke atas karena mereka sangat mahir menggunakannya. Mereka membangun alur kerja dan kebiasaan mereka di sekitar alat ini. Jika Anda lebih terbiasa dengan IDE modern seperti Eclipse, tidak ada banyak alasan untuk beralih. Mempelajari cara menggunakan Eclipse dengan lebih efisien adalah investasi waktu Anda yang lebih baik (mis. Gunakan Mylyn ).
sumber
Saat ini saya mencoba untuk beralih dari NetBeans ke vim. Belajar vim membutuhkan waktu dan latihan, tetapi saya melihat kelebihannya, sebut saja mereka, "editor GUI" untuk kasus-kasus tertentu.
Tapi, tidak seperti Anda, saya kebanyakan mengkodekan Ruby, dan saya tidak memerlukan semua sihir hitam kode-penghasil-kode-otomatis, refactor-my-code yang ditawarkan NetBeans dan Eclipse. Jika saya mengkode Java atau C # saya pasti tidak akan mencoba untuk beralih sama sekali.
sumber
Sebagai pengguna lama emacs, saya menemukan emacs cukup nyaman sebagai lingkungan pengeditan dan pengembangan (dan sampai batas tertentu, itu juga terintegrasi dengan proses build, kontrol versi, pencarian konteks cepat dan sejenisnya, jadi saya kira itu memenuhi syarat itu sebagai "IDE").
Saya juga sangat nyaman menggunakan editor vi dan mirip (saya mulai menggunakan ed, karena saya pikir emacs terlalu kompleks; dalam retrospeksi yang terbelakang, tetapi itu memberi saya dasar yang kuat untuk pembelajaran vi) di masa depan. Saya menggunakan vi terutama untuk "suntingan cepat kecil", terutama pada mesin jarak jauh di mana emacs tidak diinstal.
Untuk Anda "Saya kadang-kadang perlu ssh ke server dan main-main dengan file konfigurasi; untuk ini saya menggunakan vi" skenario, saya akan merekomendasikan satu set kecil perintah dan beberapa pemikiran umum sekitar vi:
Seharusnya tidak memakan waktu lebih dari satu atau dua jam bermain-main dengan vi untuk berada di "Saya yakin dapat mengedit file teks, tapi saya mungkin tidak efisien dengan itu" dan itu sebagus Anda mungkin harus . Kegagalan itu, editor mana pun yang tidak faf tentang konversi otomatis antara tab dan spasi harus "cukup baik" untuk tujuan Anda. Jika Eclipse diinstal pada semua server jarak jauh Anda, saya tidak melihat menggunakannya sebagai masalah besar, sungguh.
sumber
Saya sangat seorang pria Emacs. Saya menggunakannya untuk semua pemrograman saya, dan secara aktif mendorong rekan kerja saya untuk menggunakannya juga (dan mereka secara aktif mengabaikan saya). Saya merasa jauh lebih produktif daripada IDE, dan saya tidak akan pernah berubah.
Kecuali saya menulis Java atau C # (dan saya membayangkan ada bahasa lain dalam kategori ini). Mereka memiliki perpustakaan besar berisi barang - barang dengan nama panjang, sehingga keuntungan yang saya dapatkan dari menggunakan Emacs benar-benar hilang dalam mencoba mengingat semuanya.
Saya tentu saja mendorong Anda untuk mencoba vim dan / atau Emacs. Tapi Anda mungkin akan kembali ke Eclipse untuk Java.
sumber
Saya tidak punya masalah dengan berbagai editor UNIX yang tersedia, tetapi saya hanya menggunakannya di bawah protes. Tidak, seperti yang saya katakan, karena saya memiliki masalah dengan mereka tetapi karena jika saya harus menggunakannya itu berarti proses penyebaran kami dalam beberapa hal kurang.
Ini mungkin layak mendapatkan konteks yang lebih sedikit: Saya bekerja pada solusi e-commerce skala besar, semua yang mengatur jalannya sistem kami dihasilkan oleh proses build / deploy satu-klik. Kami memiliki berbagai lingkungan pengujian sehingga pada waktu tertentu saya dapat membuat perubahan melalui Eclipse, memeriksanya ke cvs dan memicu build / deploy untuk membuktikan bahwa perbaikan saya telah bekerja. Jadi- jika saya meretas di 'vi' maka itu karena kita tidak bisa menunggu untuk perputaran penyebaran 1 jam atau karena penyebaran tidak mencakup file yang saya edit dan perlu diperluas untuk melakukan jadi (kalau tidak saya akan peretasan di vi saat file yang bersangkutan perlu diubah).
sumber
Secara pribadi kedua program membuat saya bingung. Masalah dengan Eclipse adalah lambatnya ingus ketika Anda mengerjakan proyek besar dan saat itulah ia tidak melakukan 'Pengindeksan DGLP' atau apa pun. ingin menyegarkan repositori Anda? punya waktu 15 menit? Oh dan bagaimana dengan trik bagus di mana Anda Ctrl-C beberapa teks kemudian Ctrl-P di suatu tempat tetapi bukannya pergi di mana Anda ingin itu membuka file yang sama sekali berbeda dan melewati sesuatu yang lain dan Anda bertanya-tanya apa ada di tempat pertama. Oh dan apakah saya menyebutkan bekerja dengan gerhana pada proyek besar di atas vpn? praktis tidak mungkin.
Adapun vim, itu bagus dan cepat dengan asumsi Anda tahu banyak kombinasi tombol yang benar-benar tidak masuk akal untuk membuatnya melakukan sesuatu dan keberuntungan jika Anda menemukan diri Anda dalam beberapa mode yang tidak diketahui secara tidak sengaja. Juga dengan vim Anda cukup banyak harus mengetahui seluruh struktur direktori proyek Anda di kepala Anda untuk membuka file yang benar. Keuntungan utama Vim adalah bahwa secara teori Anda dapat membuat kode lebih cepat karena semua kunci, tetapi pada kenyataannya saya tidak peduli berapa banyak teks yang saya tulis, itu bukan volume teks yang penting dengan kualitas kode dan seringkali kualitas kode membutuhkan menatap puluhan file selama berjam-jam sampai Anda mengetahui hal yang tepat untuk mengetik (yang biasanya sangat singkat).
Apa yang saya inginkan adalah seseorang akan menulis program baris perintah, seperti vim, yang sebenarnya memiliki struktur direktori seperti gerhana di samping atau sesuatu yang dapat Anda buka / tutup dan buka file dari. Adakah yang tahu hal seperti ini?
sumber
Jika Anda tidak puas dengan VIM atau EMACS, Anda dapat mencari di mesin itu untuk editor teks lainnya. Mungkin ada beberapa rasa nedit atau gedit atau sesuatu yang dapat Anda gunakan yang akan memiliki perintah yang lebih akrab (ctrl x, c, v dan s melakukan apa yang Anda harapkan misalnya).
Anda mungkin memiliki lebih dari dua pilihan pada distro Anda, perlu untuk melihatnya.
sumber