- Cut dan paste biasa memecah pemindahan teks menjadi dua operasi sehingga tidak mungkin di-undo sepenuhnya dan bahkan mengubah alur dokumen secara tidak perlu
- Bahkan jika cut dibatalkan, isi clipboard yang tertimpa tidak dipulihkan, dan meski memakai clipboard manager, seluruh perubahan dari satu penekanan tombol tetap tidak bisa dibalik sebagai satu kesatuan
- Karena teks langsung menghilang, dokumen mengalami reflow, sehingga kita harus mencari lagi lokasi untuk paste; untuk membatalkan seluruh perpindahan, setidaknya diperlukan dua kali undo
- Ghost Cut di editor novel Ishmael menjalankan satu operasi atomik: dengan
Ctrl+X, area terpilih dibuat redup dan dinonaktifkan, lalu saat dipaste, area itu dihapus dari posisi asli dan dipindahkan ke posisi baru - Ghost Cut tidak menimpa clipboard dan memungkinkan seluruh perpindahan dibatalkan sekaligus, tetapi jika ingin hanya melakukan cut dengan cara lama, kita harus menyalin lalu menekan
Backspace
Cara kerja cut/paste yang ada saat ini
- Cut/paste adalah gabungan dari cut, yang menghapus teks terpilih dari dokumen dan menaruhnya ke clipboard, dan paste, yang menyisipkannya di lokasi lain
- Ini terasa seperti satu operasi untuk memindahkan teks dari satu tempat ke tempat lain, tetapi di editor sebenarnya diproses sebagai dua operasi yang terpisah
Tiga kelemahan pada cut yang ada saat ini
-
Undo tidak bisa memulihkan clipboard
- Setelah cut, menekan
Ctrl+ZatauCommand+Zmemang memulihkan teks di dokumen, tetapi isi clipboard yang tertimpa tidak kembali - Bahkan jika memakai clipboard manager, itu tetap bukan pembalikan yang bersih atas semua perubahan yang dibuat oleh satu penekanan tombol
- Setelah cut, menekan
-
Menghapus teks asli langsung menata ulang dokumen
- Saat teks dipotong, sisa konten langsung tertarik dan baris serta posisi dalam dokumen ditata ulang
- Sebagian besar cut/paste bertujuan memindahkan teks, tetapi bahkan sebelum menemukan titik paste, tampilan sudah berubah sehingga posisi harus dicari lagi
- Bebannya mungkin kecil, tetapi tetap menimbulkan biaya kognitif yang tidak perlu
-
Perpindahan tidak diperlakukan sebagai operasi atomik
- Jika paste di-undo, hanya teks yang disisipkan di lokasi baru yang dihapus; untuk memulihkannya ke lokasi asli, undo harus dilakukan sekali lagi
- Jika di antara cut dan paste ada pengeditan lain, seperti membuat paragraf baru, semua langkah itu harus dibatalkan satu per satu sebelum cut semula bisa dipulihkan
- Secara konseptual ini adalah satu perpindahan teks, tetapi dalam riwayat pengeditan ia terpecah menjadi beberapa langkah
Cara kerja Ghost Cut
- Saat menekan
Ctrl+Xdi Ishmael, teks yang dipilih menjadi redup dan nonaktif, tetapi tetap berada di dalam dokumen- Area itu tidak bisa diklik, dan kursor juga akan melewatinya
- Pada tahap ini, tidak ada apa pun yang disimpan ke clipboard, dan belum ada operasi yang bisa di-undo
- Menekan
Escapeakan memulihkan teks agar bisa diedit lagi
- Saat menekan
Ctrl+VatauCommand+V, area yang diredupkan akan dihapus dari posisi aslinya lalu dipindahkan ke posisi kursor saat ini- Seluruh perpindahan menjadi satu operasi atomik, sehingga bisa dibatalkan dengan satu kali undo
- Ini mirip dengan cara Excel menampilkan sel yang dipotong dalam keadaan redup, tetapi pendekatan yang sama jarang terlihat di editor teks
- Jika membutuhkan perilaku cut tradisional, gunakan
Ctrl+CatauCommand+Cuntuk menyalin lalu hapus teks asli denganBackspace - Editor kode relatif kurang membutuhkan ini karena masalah reflow dokumen lebih kecil, tetapi jika tersedia di VSCode, fitur ini layak diaktifkan dan dipakai
1 komentar
Komentar Hacker News
Semoga jangan merusak seleksi/tempel X11. Sekarang, kalau mau memakainya seperti dulu, rasanya harus menebak-nebak setiap kali apakah perlu menekan Shift
Pola
pilih → Ctrl+C → klik → Ctrl+Vyang memaksa kita memakai mouse dan keyboard untuk menyalin dan menempel itu barbar, dan aplikasi modern sedang merusak hal yang sudah diimplementasikan dengan benar oleh X11Potong dan tempel adalah tiga tindakan; potong terdiri dari salin dan hapus. Seperti undo tidak membatalkan salin, isi clipboard dari potong juga tidak semestinya dibatalkan, dan saya setiap hari memakai alur potong, undo, lalu tempel berkali-kali
Dengan Ghost Cut, saya bertanya-tanya apa yang harus muncul jika ditempel berkali-kali, apakah editor harus membaca clipboard meski belum menempel hanya demi rollback, dan jika ada kunci rahasia di dalamnya, apakah itu akan terekspos ke ekstensi seperti Copilot
Potong di penjelajah berkas pada dasarnya adalah pindah dengan menentukan sumber lalu tujuan secara berurutan; juga tidak ada clipboard sistem berkas, dan jarang perlu menempel ke banyak lokasi. Bukan berarti semantik yang diusulkan buruk, tetapi akan lebih rapi jika ini menjadi fitur terpisah dengan shortcut sendiri untuk meredupkan teks lalu memindahkannya secara atomik
Membatalkan potong sambil tidak mengembalikan efek sampingnya adalah cacat mendasar, dan undo seharusnya memulihkan sistem ke keadaan sebelumnya, bukan mundur beberapa langkah saja tergantung kondisi
⌘+Clalu di tujuan memakai⌘+⌥+Vuntuk memindahkan atau⌘+Vuntuk menyalin, dianggap layak dikritik. Menentukan tindakannya di tujuan justru paling intuitifWindows juga meredupkan file yang dipotong dan memindahkannya saat ditempel untuk mencegah kehilangan file, tetapi pengalaman pengguna sebaik ini kurang dihargai
Ghost Cut hampir sama dengan potong/tempel di Excel, dan mungkin sama sekali tidak memakai clipboard. Perangkat lunak umum melihat ini sebagai salin-tempel dengan tambahan hapus, tetapi penulis dan Excel melihatnya sebagai memindahkan konten di dalam dokumen
Ghost Cut punya batasan bahwa tujuannya harus tepat satu dan harus berada dalam program atau dokumen yang sama. Meski begitu, kalau potong yang ada sekarang pada akhirnya cuma variasi dari salin-tempel, efek yang sama bisa dicapai dengan
salin lalu Backspace, jadi tampaknya tidak banyak yang hilang jika diganti dengan Ghost CutUX potong bawaan bukan cacat; hanya saja tidak cocok dengan model mental pribadi penulis. Jika tanpa sengaja memotong, biasanya yang sebenarnya ingin dilakukan adalah menyalin, jadi masuk akal kalau teks tetap ada di clipboard
Kebanyakan orang memahami undo sebagai pembatalan perubahan file, bukan sebagai pengembalian bersamaan atas keadaan file dan sistem operasi. Potong yang bisa dikonfigurasi layak dipertimbangkan, tetapi lebih merupakan alternatif untuk minoritas daripada mayoritas pengguna
Potong adalah tindakan memindahkan teks ke clipboard, yang bagi aplikasi merupakan aplikasi terpisah. Seperti kita tidak berharap undo di aplikasi B ikut mengubah aplikasi A setelah mengedit A, saya juga tidak berharap undo memengaruhi clipboard
Ghost Cut mirip Excel, dan justru karena itu sering membuat saya kesal. Di Excel, setelah menyalin sel lalu mengedit sesuatu dan mencoba menempel, kadang ternyata yang disalin bukan nilai sebenarnya melainkan referensi ke area terpilih, dan ketika area itu berubah atau terkena undo, akhirnya tidak bisa menempel apa pun
Jika dirancang dari nol, kritik terhadap potong/tempel saat ini itu masuk akal. Namun, karena potong dan tempel adalah dua tindakan, klaim bahwa satu kali undo harus membatalkan keduanya terasa janggal
Ini mirip pilihan gaya RISC/CISC: apakah perintahnya satu
CUTANDPASTEatau dua perintahCUTdanPASTEJangan ubah perilaku yang sudah diharapkan. Excel bertindak mirip, dan justru sangat menjengkelkan karena tidak berjalan seperti yang diinginkan
Potong harus langsung masuk ke clipboard supaya bisa ditempel juga di program lain; tidak layak merusak ekspektasi dan alur normal mayoritas pengguna demi perbaikan bagi segelintir orang
Kalau
Ctrl+Xtidak menyentuh clipboard, kita juga tidak bisa menempelkannya ke program lain. Dibanding manfaatnya, kerepotan saat keluar dari alur ideal terlalu besarSudut pandang seperti ini sah saja, tetapi sulit disetujui. Kalau bisa, lebih baik bereskan dulu pembajakan salinan ketika situs atau aplikasi mengaku membantu saat kita menyalin item terpilih tetapi malah memasukkan isi yang sama sekali lain
Saat menyalin URL, saya juga tidak mau browser sembarangan menambahkan
https://Windows Explorer juga bertindak mirip seperti ini saat memotong file, tetapi tetap mencatatnya di clipboard
Ghost Cut juga tetap rusak, hanya saja rusaknya berbeda dari perilaku lama dan sesuai selera penulis. Meski begitu, ini tetap gagasan menarik yang membuat saya membayangkan bagaimana aplikasi lain akan berkembang kalau potong/tempel sejak awal tidak dibuat sebagai fitur lintas sistem dan lintas aplikasi
Sepertinya saya tidak akan suka cara ini. Excel yang berperilaku mirip sudah menjadi aplikasi yang paling saya benci untuk potong, salin, dan tempel
Potong biasanya merupakan pemindahan atomik yang selesai dengan satu kali tempel, jadi semua referensi terkait diperbarui, baik di dalam maupun di luar area yang dipindah, dan terlepas dari apakah referensinya relatif atau absolut. Karena itu juga, setelah ditempel indikatornya hilang sehingga tidak bisa ditempel dua kali
Sebaliknya, saat menyalin, hanya referensi relatif di antara sel yang disalin yang diperbarui; referensi absolut atau referensi dari sel yang tidak ikut disalin tidak berubah, dan hasilnya bisa ditempel berkali-kali. Kalau mempertimbangkan sampai referensi rentang, fakta bahwa ini bisa bekerja sesuai ekspektasi saja sudah mengagumkan, dan batasan bahwa operasi dibatalkan jika area asli diubah juga cukup bisa dipahami. Jadi di Excel, salin lalu hapus memang berbeda dari potong
Potong bawaan seharusnya dipertahankan, dan pemindahan khusus ini dialokasikan ke
Ctrl+Shift++