Ini tidak dimaksudkan sebagai troll atau flamebait atau semacamnya. Saya telah menggunakan Vim sebagai editor-konsol pilihan saya selama beberapa bulan sekarang (untuk mengedit file konfigurasi saat berada di terminal saya), tetapi saya rasa saya tidak tahan dengan pekerjaan normal saya, setiap hari menulis aplikasi web , yang saya lakukan dengan editor teks GUI (yang tidak penting).
Saya merasa editor teks GUI saya dapat melakukan semua yang saya butuhkan untuk pekerjaan saya. Ini memiliki pencarian / penggantian yang layak dengan riwayat pelengkapan otomatis untuk keduanya. Ini memiliki penyorotan sintaks, penomoran baris, antarmuka tab, mudah menyalin dan menempel, dll. Satu-satunya hal yang hilang dari editor saya saat ini adalah pencocokan ekspresi reguler, tetapi ada banyak editor teks GUI yang akan melakukan pencarian / penggantian regex.
Mengingat apa yang baru saja saya katakan, keunggulan produktivitas apa yang dimiliki Vim (atau bahkan Emacs) dibandingkan editor teks GUI selain dari fakta bahwa ia diinstal pada setiap komputer. Saya ingin tugas tertentu yang lebih baik / lebih cepat di Vim / Emacs atau yang tidak mungkin dilakukan dengan editor teks GUI yang ada.
sumber
Jawaban:
Untuk Vim:
Vim memiliki integrasi yang lebih baik dengan alat lain (perintah shell, skrip, kompiler, sistem kontrol versi, ctag, dll.) Daripada kebanyakan editor. Bahkan sesuatu yang sederhana seperti
:.!
, untuk menyalurkan output perintah ke buffer, adalah sesuatu yang tidak akan Anda temukan di sebagian besar editor GUI.Antarmuka tab tidak sebaik antarmuka "berjendela" yang diberikan Vim / Emacs kepada Anda. Anda dapat melihat dua atau lebih file secara berdampingan. Semakin banyak Anda dapat melihat di layar, semakin Anda membebaskan pikiran untuk memikirkan masalah Anda daripada melakukan pembukuan mental nama variabel dan tanda tangan fungsi.
Jangan meremehkan kekuatan ekspresi reguler Vim. Ada banyak ekstensi khusus Vim untuk mencocokkan kolom tertentu, tanda, posisi kursor, kelas karakter tertentu (kata kunci, pengenal), dll.
Terintegrasi
diff
dangrep
(platform independen sehingga Anda tidak perlu mengunduh dan mempelajari alat baru setiap kali Anda mengganti komputer).Mode blok visual (untuk mengedit kolom) adalah sesuatu yang tidak dimiliki oleh banyak editor, tetapi saya tidak dapat hidup tanpanya. Saya telah mengejutkan dan membuat kagum orang-orang di tempat kerja hanya dengan menggunakan ini, membuat beberapa pengeditan dalam beberapa penekanan tombol yang seharusnya dilakukan seseorang selama sepuluh menit secara manual.
Beberapa register salin / tempel. Ketika Anda hanya memiliki satu, Anda akhirnya mengalami perubahan yang aneh untuk menghindari clobber clipboard. Anda tidak perlu melakukannya.
Sistem undo / redo Vim tidak terkalahkan. Ketik sesuatu, batalkan, ketik sesuatu yang lain, dan Anda masih bisa mendapatkan kembali hal pertama yang Anda ketikkan karena Vim menggunakan pohon urung daripada tumpukan. Di hampir setiap program lainnya, riwayat hal pertama yang Anda ketikkan hilang dalam keadaan ini.
Memindahkan, menyalin, menempel, dan menghapus teks sangat cepat di Vim. Perintahnya sederhana, menekan satu tombol, dan dapat disusun. Tambahkan semua waktu Anda melakukan sorotan mouse yang hati-hati dan melelahkan dan Ctrl-X, lalu ganti semuanya dengan
da(
(hapus satu set tanda kurung yang cocok dan semua yang ada di dalamnya). Ini menghemat lebih banyak waktu daripada yang Anda pikirkanHal-hal kecil, seperti
*
mencari kata di bawah kursor, atau.
mengulangi perintah, atau%
berpindah antara tanda kurung buka dan tutup. Terlalu banyak dari daftar ini.Bahasa skrip bawaan dan pemetaan kunci yang kuat serta kemampuan makro sehingga editor dapat diperluas dengan cara apa pun yang Anda butuhkan. Berton-ton skrip sudah ditulis dan diunduh.
Jika Anda melihat cukup dekat, Anda akan menemukan bahwa bahkan fitur yang editor lain juga miliki, Vim seringkali lebih baik. Semua editor memiliki penyorotan sintaks, tetapi Vim memiliki file sintaks untuk hampir setiap format file di bawah matahari, seringkali dengan banyak opsi konfigurasi, dan sangat mudah untuk menulis sendiri. Banyak editor menangani pengkodean file yang berbeda OK, tetapi Vim memberi Anda cara yang sangat spesifik dan sangat mudah untuk mengatur pengkodean file dan mengonversi di antara mereka. Hal pertama yang membuat saya terkesan tentang Vim adalah seberapa sempurna Vim menangani opsi indentasi tab / space dan linebreak Unix / DOS dibandingkan dengan editor lain yang bermasalah dengan saya saat itu.
Banyak dari poin-poin ini berlaku sama baiknya untuk Emacs (dengan cara yang berbeda tetapi biasanya sama kuatnya).
sumber
(vim's my poison; saya yakin emacs menawarkan keuntungan serupa)
Keuntungan terbesar: tidak perlu menyentuh mouse.
Bagi saya, hal paling praktis adalah melompat maju ke (atau tepat sebelum) huruf atau kombinasi huruf tertentu, atau melompat mundur, dengan beberapa penekanan tombol. Melompat maju dengan kondisi yang sama dua kali, atau sepuluh kali, hanyalah masalah mengawali dengan angka.
Jika Anda harus mengulangi pengeditan, Anda melompat maju ke tempat itu (2-3 penekanan tombol), lalu tekan "." untuk mengulangi pengeditan terakhir. Melompat maju (atau mundur) lebih mudah - satu penekanan tombol - jika kondisi pencariannya sama.
Pada dasarnya, dengan waktu tunggu yang kecil, Anda dapat mempelajari sepuluh atau dua puluh pintasan keyboard yang berarti Anda tidak perlu terus-menerus menggerakkan tangan untuk memegang mouse. Itu memberi Anda tiga atau empat kali lebih banyak gerakan / perintah pengeditan seperti yang Anda lakukan jika Anda harus terus memegang mouse.
Setelah beberapa hari, Anda akan merasa kesal setiap kali harus meraih mouse (atau menekan
<Down>
15 kali), saat Anda berada di editor GUI.sumber
Saya selalu bertanya-tanya mengapa hanya sedikit orang yang kagum dengan Vim. Lihat video pengguna Vim power beraksi:
https://www.youtube.com/watch?v=FcpQ7koECgk
Jika editor Anda saat ini dapat melakukan apa yang dia lakukan, tidak perlu beralih! :)
Juga, baca http://www.viemu.com/a-why-vi-vim.html ini
Setelah menonton video dan membaca artikel itu, saya tidak punya pilihan selain mulai belajar VIM. Sudah hampir setahun sejak saya beralih ke VIM dan saya tidak dapat membayangkan menggunakan yang lain.
sumber
Saya rasa salah satu kekuatan sebenarnya dari editor teks khusus adalah pengeditan makro. Pengulangan menyakitkan bagi banyak programmer, dan menulis makro yang tepat bisa sangat menghibur. Jika Anda tidak melakukan semuanya melalui keyboard, membuat makro akan membutuhkan sekumpulan perintah tambahan daripada menggunakan yang sudah Anda gunakan.
sumber
Saya semi-kompeten dengan vi keybindings, tapi saya lebih suka Emacs secara keseluruhan. Alasan editor ini memiliki pengikut yang kuat adalah karena model pengeditan yang mereka sediakan lebih bertenaga daripada sistem yang lebih baru, itulah mengapa memberikan "pengikatan vii" atau "pengikatan tombol emacs" tidak cukup, bahkan jika Anda tidak menggunakan fitur ekstensi apa pun atau kustomisasi untuk emacs atau vi.
Saya hanya akan berbicara tentang model Emacs karena saya paling memahaminya. Model umum untuk pengeditan teks saat ini melibatkan buffer teks, di mana teks dapat disisipkan, dihapus, dipilih, dan dipotong / disalin / ditempelkan ke papan klip sistem.
Buffer Emacs, tentu saja, dapat mendukung operasi ini. Seiring dengan melacak posisi kursor untuk setiap jendela tempat mereka terlihat, mereka juga melacak "tanda" yang dibuat di dalamnya. Teks antara "titik" (posisi kursor) dan "tanda" disebut "wilayah", dan secara kasar sesuai dengan pilihan editor utama.
Perbedaannya adalah bahwa Emacs melacak beberapa lokasi terakhir tempat tanda ditetapkan di cincin tanda, dan Anda dapat kembali ke sana dengan penekanan tombol (atau dua, tergantung pada konfigurasi Anda). Saya menemukan ini sangat berguna, terutama karena banyak perintah Emacs yang mengubah lokasi Anda di buffer menetapkan tanda di lokasi lama Anda. Contohnya adalah ketika saya mengedit modul Python dan perlu menambahkan pernyataan import ke bagian atas file. Penekanan tombol untuk pergi ke atas buffer (Alt- <) menetapkan tanda. Saya menambahkan pernyataan impor. Saya menekan Ctrl-u Ctrl-Space dan saya kembali ke tempat saya memulai. Saya dapat terus melakukan ini untuk kembali ke posisi sebelumnya juga. (Mungkin saya perlu memilih beberapa teks sambil menambahkan pernyataan impor itu.)
Perbedaan Emacs lainnya (dan yang lebih terkenal) adalah cincin pembunuh. Sebagian besar penekanan tombol untuk menghapus teks dari buffer menyimpan teks ke kill ring, yang kemudian dapat dipanggil kembali dengan perintah "yank" (Ctrl-y). Fitur penting adalah bahwa perintah yank berikutnya mengambil teks lama yang sudah mati. Jadi Anda dapat membunuh beberapa bagian teks secara berurutan, lalu mengambilnya secara berurutan. Anda juga dapat menelusuri kill ring dengan Alt-y setelah sentakan, menghapus teks yang diambil dan memasukkan entri berikutnya ke dalam ring.
Emacs memiliki fitur-fitur ini pada tahun 1978. Satu-satunya sistem besar lainnya yang menerapkannya sejauh mana pun adalah NeXTStep (dan sekarang diwarisi oleh Cocoa). Alat lain menyediakan lebih banyak fitur untuk tugas tertentu, dapat diperluas dalam bahasa yang lebih mudah digunakan daripada Emacs Lisp, dan memiliki antarmuka visual yang lebih bagus ... tetapi Emacs tetap lebih baik dalam mengedit teks. Itulah sebabnya, begitu Anda tahu cara menggunakannya, sangat sulit untuk berhenti.
sumber
Ini bukan tugas yang spesifik, tetapi untuk orang yang bahkan mungkin menderita RSI, fakta bahwa tangan Anda tidak pernah meninggalkan keyboard di vim hampir tak ternilai harganya. Saya benar-benar akhirnya menjadi kidal pada mouse saya di tempat kerja karena itu membiarkan saya menggerakkan tangan saya lebih sedikit untuk meraih mouse (keyboard saya di rumah tidak memiliki papan angka, jadi saya bisa menyimpannya di kanan).
Satu keuntungan kecil lainnya adalah, IIRC, vi asli dirancang untuk mempercepat pengeditan file melalui koneksi jarak jauh yang sangat lambat. Memang itu tidak terjadi hampir sebanyak hari ini, tetapi jika Anda memiliki koneksi yang lambat, semoga berhasil menjalankan editor teks gui dan membuatnya responsif.
sumber
Bagi saya hal-hal produktivitas yang besar
sumber
Satu hal yang saya sangat suka tentang vim adalah perintah "repeater". Pada dasarnya, dengan menekan
.
dalam mode perintah, ini mengulangi tindakan terakhir Anda. Ini hanyalah salah satu contoh fitur yang sangat keren yang dimiliki "programmer text editor" yang sering tidak dimiliki GUI.sumber
Dalam pengalaman saya, keuntungan produktivitas utama yang diberikan oleh vim dan emacs (saya sendiri adalah orang vim, tetapi emacs pasti serupa) adalah:
Anda dapat memiliki fitur-fitur yang disediakan oleh IDE modern (seperti siklus edit-build-run satu tombol dan dokumentasi inline dan penyelesaian tab dan yang lainnya) tetapi Anda tidak perlu melakukannya . Keuntungan produktivitas? Anda hanya melihat sebanyak yang Anda ingin lihat. Menurut pengalaman saya, IDE tidak membuat orang lebih produktif, juga karena mereka menunjukkan terlalu banyak informasi (semua jenis browser). Ini "sedikit kekuatan ekstra, ketika Anda membutuhkannya - tetapi tidak lebih cepat" adalah IMHO keuntungan produktivitas yang cukup.
Editor sangat populer di kalangan pemrogram, yang berarti ada banyak sekali repositori skrip, buku, dan grup pengguna yang tersedia.
Dalam pengalaman saya (saya hanya dapat berbicara tentang vim di sini) rata-rata pengguna vim adalah insinyur perangkat lunak yang cukup baik. Saya tidak tahu mengapa itu (atau mungkin saya hanya beruntung), tetapi mungkin orang yang mengambil penghalang untuk terbiasa dengan alat 'lama' seperti emacs atau vim memiliki dedikasi yang tepat (dan kontak dengan orang lain seperti itu ). Mungkin ini adalah efek tidak langsung dari editor ini, tetapi bergaul dengan orang vim (atau emacs) lain di misalnya IRC ternyata cukup menarik, karena orang yang sama juga cukup tertarik pada semua jenis masalah rekayasa perangkat lunak (atau ilmu komputer) . Para editor ini tampaknya menarik jenis kepribadian tertentu. :-)
sumber
"Keuntungan produktivitas" yang saya peroleh karena menggunakan tiruan emacs ringan untuk program kecil adalah bahwa program ini dijalankan seperti kilat berminyak. Saya biasanya dapat membuat program tes cepat di C # sebelum Visual Studio selesai memuat solusi "kotak pasir".
Tentu saja, saya bisa membiarkan Visual Studio terbuka (atau yang lain VS terbuka jika saya sedang mengerjakannya pada saat itu) tetapi kemudian akan ditukar jika saya membiarkannya menganggur untuk sementara waktu, dll.
Untuk ukuran apa pun yang signifikan - atau jika saya tidak tahu API yang saya gunakan dengan cukup baik - IDE adalah jalan ke depan, IMO.
sumber
Saya menggunakan gvim untuk windows, jadi secara teknis ini adalah editor teks GUI, tetapi vim ..
Untuk peningkatan produktivitas, saya menemukan:
sumber
Anda tahu, untuk vi saya pikir itu bermuara pada memiliki mode penyisipan dan perintah. Meskipun ini mungkin tampak seperti kemunduran ke saat Anda tidak dapat bergantung pada kursor atau tombol khusus, yang sebenarnya berarti bahwa banyak gerakan yang kuat dan perintah maniak teks teks adalah jumlah penekanan tombol yang minimal. Pengkodean yang produktif bukanlah tentang entri teks massal (default dalam editor "modern") tetapi semburan teks massal yang diikuti oleh perubahan kecil yang cukup besar dan periode penelusuran yang lebih lama.
Ini muncul kedepan bagi saya secara pribadi menggunakan vi melalui jaringan kampus latensi tinggi. Anda bisa dengan mudah mendapatkan 10 atau 15 karakter sebelum respons. Dengan vi, saya dapat dengan nyaman memprediksi di mana perintah itu akan meninggalkan saya dan dapat bekerja pada kecepatan yang mendekati normal. Keahlian memutar ini adalah manfaat berkelanjutan dalam kondisi normal - kurangnya daya visual visual yang didedikasikan untuk umpan balik grafis yang konstan.
Akselerator pencarian kata * dan # yang biasa bagus untuk membalik-balik kode. Dan% untuk mencocokkan tanda kurung sangat berguna. Tentu, hampir tidak tampak seperti banyak dibandingkan dengan ctl-] tetapi setengah dari penekanan tombol bertambah.
Secara pribadi, saya menggunakan winvi yang menambahkan beberapa hal besar yang saya yakin vim juga. Lompatan cepat ke mode hex memecahkan banyak masalah teks "apa yang terjadi". Dan penanganan akhir baris yang sepenuhnya fleksibel adalah berkah yang telah menjadi fitur yang diharapkan untuk editor teks. Akhirnya, ia dapat membuka file apa pun apa pun isinya. Ini berarti keterampilan peretasan elit dari urutan pertama.
Di bawah Unix Anda dapat dengan cepat menangkap keluaran program atau bahkan memfilter bagian file Anda melalui perintah eksternal. Sebuah fungsi yang sangat kuat namun menurut saya kurang dimanfaatkan.
sumber
Saya cukup sering menggunakan Vim. Itu tidak menggantikan UltraEdit untuk saya. Karena banyak hal positif telah terdaftar, saya kira saya akan melawan arus, dan membuat daftar beberapa gangguan dengan Vim.
sumber
Remote Desktop hanya menampilkan aplikasi Windows asli dengan cepat. Kami telah mencoba menggunakan Eclipse untuk mengembangkan di bawah unix. Dan tahukah Anda? Itu bahkan tidak mungkin.
Alasan kedua adalah bahwa kami dapat memperluas Vims dan Emacs kami untuk melakukan semua tugas khusus proyek dari penjelajahan DB dengan cara khusus untuk menyorot dan melengkapi bahasa meta kami sendiri secara otomatis.
sumber
Saya akan mengatakan salah satu keuntungan besar adalah ekstensibilitas editor vim. Jika saya ingin sesuatu bekerja dengan CVS, saya dapat menggunakan plugin CVSMenu dan menambahkannya ke editor saya untuk mendapatkan fungsionalitas itu.
Sama dengan penyorotan sintaks, perilaku dengan file tertentu, dll. Segala macam hal dapat disesuaikan di vim.
Tidak begitu yakin apakah Anda dapat melakukannya dengan mudah di editor tipe GUI.
sumber
Rekam dan Putar Ulang di VIM luar biasa mengagumkan, yang sangat tidak mungkin Anda temukan di alat berbasis GUI.
Juga auto increment / decrement memberikannya kemampuan pembuatan data tanpa menulis program untuknya.
sumber
Saya telah menjadi pengguna Emacs selama bertahun-tahun. Tapi tidak pernah benar-benar melakukannya. Kemudian saya mulai mempelajari Clojure (Lisp pertama saya) dan menemukan ParEdit.
Dan itu mengejutkan saya.
(Lihat di sini untuk beberapa contoh: https://www.youtube.com/watch?v=D6h5dFyyUX0 )
Lisp + ParEdit adalah pengalaman pengeditan paling menakjubkan yang pernah saya alami. Tidak ada lagi yang mendekati. Lisp bukan lagi bahasa yang canggung untuk ditulis, memaksa saya untuk khawatir tentang menyeimbangkan banyak tanda kurung konyol yang menjengkelkan. Dengan ParEdit, struktur Lisp yang konsisten menjadi bonus besar untuk dikerjakan, karena transformasi pohon yang sama - menyeruput, muntah, membelah, dan bergabung - bekerja di mana saja, dalam struktur kontrol dan struktur data. Dan ParEdit mencegah saya melakukan kesalahan bodoh. Hampir tidak mungkin membuat kesalahan sintaks.
Dan tidak seperti Eclipse, ini bukanlah pemeriksaan waktu nyata yang melelahkan yang selalu berjalan di latar belakang, membakar prosesor saya. Tidak ada biaya ... ParEdit hanya melakukan perubahan struktural yang benar saat saya memintanya.
(Secara umum Emacs secepat yang dibutuhkan. Tidak seperti Eclipse yang seperti mengetik dengan lem.)
Hal berikutnya yang saya temukan adalah Yasnippet ( http://emacswiki.org/emacs/Yasnippet ). Sekali lagi, saya belum pernah menggunakan yang seperti ini sebelumnya. Bukan sekadar makro untuk menambahkan boilerplate, tetapi juga bentuk yang dinamis dan dapat dinavigasi.
Kesenangan terakhir adalah kesadaran bahwa jika saya ingin mengembangkan hal ini sendiri, untuk memiliki lebih banyak alat produktivitas tingkat tinggi ini, saya memiliki kekuatan Lisp sendiri untuk bekerja dengannya.
sumber
(Latar belakang saya adalah beberapa tahun dengan Visual Studio dan IDE lainnya, lalu 15 tahun Vim, dan 6 bulan terakhir dengan Emacs.)
Umur panjang - Vim / Emacs adalah FOSS , dan telah ada selama beberapa dekade. Penggunaannya tidak akan menurun, dan fitur-fiturnya juga tidak akan rusak / hilang / banyak berubah, jadi Anda dapat mengandalkan membangun seluruh inti kotak peralatan karier Anda dengan penguasaan hanya satu editor.
Akses jarak jauh / di mana-mana di terminal - Meskipun keduanya memiliki sistem yang bagus untuk mengedit file jarak jauh, Anda juga dapat menginstalnya di sistem apa pun yang pernah Anda masuki.
Pengembangan yang digerakkan REPL - Keduanya memiliki mode "SLIME" dalam berbagai bentuk yang mengintegrasikan jenis REPL apa pun yang Anda gunakan. Misalnya, saya tidak pernah menemukan pengembangan berulang yang sekuat yang disediakan oleh CIDER .
Linting - Bahasa apa pun yang Anda gunakan mungkin memiliki beberapa alat linting , baik yang terpasang pada kompiler atau alat eksternal. Ini terintegrasi secara mulus dengan Emacs / Vim, menunjukkan kesalahan pengkodean Anda hampir secara real-time.
Tata bahasa perintah mnemonik - Meskipun keduanya membutuhkan waktu untuk dipelajari, editor ini memiliki sistem yang terkenal pintar untuk mengakses - dan bahkan mengingat - ribuan perintah dengan beberapa penekanan tombol dan kombo tombol. Ini sepenuhnya dapat menghilangkan kebutuhan untuk menggunakan mouse jika Anda menginginkannya.
Sistem bantuan built-in - Dokumentasi offline dari banyak bahasa dan API-nya umum ditemukan di dalam editor ini, dan dapat diakses dengan cara yang sama sederhana dengan sistem bantuan yang luas dan komprehensif yang mereka tampilkan. Pelengkapan otomatis telah ditambahkan untuk sebagian besar bahasa umum. Selain itu, ada banyak bantuan diskusi tentang hampir semua topik bantuan.
Navigasi - tag, paredit-like, mark, windowing, tab, vim-rails ' jumping , dan banyak lagi bawaan lainnya.
Manajer / repositori paket - Emacs memiliki beberapa (elpa, melpa, marmalade) dan Vim juga bagus (vundle, patogen, dll ). Saya tidak tahu ada komunitas di sekitar IDE yang menawarkan sesuatu yang sebanding dengan ini. Saya melihat lebih dari 5.000 paket dengan
package-list-packages
.Lebih dari sekedar mengedit - Emacs melangkah paling jauh di sini dengan kemampuan untuk membaca berita, menjelajahi web, mengelola email, mengedit spreadsheet, membuat presentasi, dan mengatur apa pun.
Mengintegrasikan semua yang lain - debugger, sinkronisasi browser, kompilasi, shell, pengujian yang sedang berjalan.
Dapat dikustomisasi tanpa batas - Elisp adalah bahasa yang sangat kuat untuk memperluas / memodifikasi Emacs. VimL setara dengan Vim. Ada buku yang ditulis tentang keduanya. Sesuaikan tema warna dan perilaku untuk kesenangan Anda!
sumber
Satu keuntungan yang dimiliki semua editor berbasis konsol dibandingkan editor GUI adalah mereka dapat dijalankan di multipleksor terminal seperti layar atau tmux . Mengapa ini bagus?
sumber
Karena vim / emacs sering digunakan oleh programmer dan sebagai pengguna C # sejak tahun 2003, dari bias ini pov adil untuk melakukan perbandingan yang tidak adil ini (Yang lain bisa berupa VS C ++ dengan Visual Assist X vs C ++ di vim / emacs):
Untuk C # dan Visual Studio:
Saya baru saja menghitung jumlah penekanan tombol untuk baris ini:
Saya membaca tentang fitur emacs untuk melompat ke dalam kode. Saya rasa tidak ada fitur yang persis seperti itu. Ini memiliki fitur serupa. Inilah sisi negatif dari VS. Ada banyak fitur kecil tetapi seiring waktu berhenti berfungsi. Terakhir saya memeriksa fitur lompat tidak berfungsi tetapi itu beberapa tahun yang lalu. VS memperkenalkan fitur lompatan grafis baru yang telah saya gunakan sebagai gantinya. Ini membutuhkan mouse atau sentuhan.
Di sinilah emacs / vi menang. Jika Anda harus banyak berpindah-pindah kode, fitur VS untuk ini tidak ada atau belum cukup diuji.
Masalah dengan navigasi GUI berbasis mouse adalah itu
a) Sama seperti duduk dalam posisi yang sangat statis mungkin buruk, jika demikian, tikus cenderung membuat jari-jari Anda berada dalam posisi statis juga. Sakit pergelangan tangan saya hilang dengan mengganti trackball. Saya pertama kali mencoba mouse vertikal tetapi tidak melakukan apa-apa untuk masalah tersebut.
b) Keyboard ideal saya akan memiliki 2 baris tombol fungsi, tanpa numpad, jadi saya bisa menempatkan trackball lebih dekat, membuat jarak lompatan lebih tertahankan.
Namun pada akhirnya, jika Anda ingin beralih di antara beberapa tempat tertentu, jelas "cincin tandai" lebih efektif. VS memiliki sesuatu di sepanjang garis itu ... terakhir saya menggunakannya, itu tidak bekerja dengan andal ...
c) dan kemungkinan ada banyak fitur kecil yang rusak dengan setiap rilis, jadi ini adalah sisi negatif dari VS.
Solusi untuk masalah "sumber tertutup" ini: Tulis seluruh VS di C # dan kemudian izinkan modding / pengeditan kode yang dikompilasi (saat runtime, simpan perubahan sebagai tambalan yang secara opsional dimuat pada permulaan berikutnya) tanpa melepaskan sumber. Hal ini dapat dilakukan dengan meminta decompiler mengeluarkan kode seperti saat masuk 180 derajat dari cara kerja compiler native. Biner kemudian menjadi kode sumber dan dieksekusi alih-alih kekacauan file .cs dan file .exe dll. Ada alat pihak ke-3 yang hampir dapat melakukan ini, jadi "modding" C # exe agak sepele tetapi saya mengusulkan untuk mengambil ini kesimpulan logisnya: masukkan bahkan komentar di .exe dan .dll. File-file tersebut masih akan menjadi kecil dibandingkan dengan aplikasi C / C ++ yang dikompilasi. Optimasi? Anda juga dapat memasukkan kode yang telah dioptimalkan sebelumnya. Ketika modder memodifikasi exe saat aplikasi berjalan, "AST" non-modded dan biner teroptimasi yang menyertainya dicolokkan kembali. Ide yang sama seperti pada compiler C # tetapi dibawa lebih jauh. Langkah selanjutnya: Tulis seluruh OS dalam bahasa ini, sehingga meskipun Windows adalah sumber tertutup, itu dapat dimodifikasi secara sepele karena kode sumber disertakan dengan setiap biner. Tidak ada pengaturan lingkungan, kompilasi, penautan. Cukup ubah OS saat sedang berjalan. Tutup analogi: Jika Anda menulis browser web di Common Lisp, Anda dapat mengedit browser web tanpa menghentikannya dan membuat halaman web dalam bahasa yang sama dengan browser. itu dapat dimodifikasi secara sepele karena kode sumber hadir dengan setiap biner. Tidak ada pengaturan lingkungan, kompilasi, penautan. Cukup ubah OS saat sedang berjalan. Tutup analogi: Jika Anda menulis browser web di Common Lisp, Anda dapat mengedit browser web tanpa menghentikannya dan membuat halaman web dalam bahasa yang sama dengan browser. itu dapat dimodifikasi secara sepele karena kode sumber hadir dengan setiap biner. Tidak ada pengaturan lingkungan, kompilasi, penautan. Cukup ubah OS saat sedang berjalan. Tutup analogi: Jika Anda menulis browser web di Common Lisp, Anda dapat mengedit browser web tanpa menghentikannya dan membuat halaman web dalam bahasa yang sama dengan browser.
sumber