Dalam dempul, itulah yang terutama saya gunakan VIM, saya bisa melakukan hal berikut:
- Halaman atas / bawah: Menggunakan tombol Page up / down asli Di Mac, alternatifnya adalah Fn + Atas / Bawah, yang tidak berfungsi di terminal (tidak menggulir di dalam file vim, tetapi menggulir buffer terminal)
- Demikian pula, tombol Fn + kanan / kiri tidak membawa saya untuk memulai / mengakhiri jalur
Bagaimana cara meniru fungsi ini di Mac OS X?
Jawaban:
Ini bukan pertanyaan mac khusus, ini benar-benar pertanyaan vi.
Dalam mode navigasi, ctrl-f menggulir ke bawah halaman dan ctrl-b menggulir ke atas halaman (pikirkan "F" orward dan "B" ack). Ctrl-d menggulir ke bawah setengah halaman, dan ctrl-u menggulung ke atas setengah halaman.
^ akan membawa Anda ke awal baris, dan $ sampai akhir. Saya tahu, saya tahu, tetapi ada alasan historis untuk itu.
Berikut ini lembar contekan yang sangat bagus pada kontrol vi. vi sedikit misterius, tapi begitu Anda menginternalisasi, itu adalah editor teks tercepat dan paling licin di dunia.
sumber
Terminal preferensi default Terminal Shift- Page Updan Shift- Page Downke urutan karakter yang memberitahu program seperti Vim dan Emacs untuk menggulir (
ESC [ 5 ~
danESC [ 6 ~
).Jika Anda ingin tombol-tombol ini mengirim urutan karakter ke terminal tanpa Shiftpengubah, Anda dapat menyesuaikan peta keyboard:
Jika Anda melakukan ini, saya sarankan Anda membalikkan makna Shiftpengubah untuk kunci-kunci ini dengan menukar pemetaan untuk kunci yang bergeser dan tidak tergeser, sehingga perilaku alternatif masih tersedia. Juga, lihat menu View , yang berisi perintah gulir yang menggunakan Commandpengubah sehingga mereka tersedia terlepas dari peta keyboard terminal.
Demikian pula, Shift- Homedan Shift- Enddipetakan untuk pindah ke awal / akhir garis saat ini (
ESC [ H
danESC [ F
). Urutan ini dipahami oleh Bash, tetapi Anda mungkin harus menyesuaikan Vim untuk memahaminya, atau mengedit pemetaan khusus untuk Vim. Vim, Emacs, dan beberapa program lain mengirim urutan pelarian untuk menempatkan terminal ke "Mode Kursor Aplikasi", di mana tombol Home / End mengirimESC O H
danESC O F
, tetapi Terminal (pada 10.9) tidak menerapkan perilaku ini. Jadi, Anda mungkin ingin mengubah peta keyboard untuk mengirim kode-kode lain ini (Bash juga memahaminya). (Di OS lain, Homedan Enddigunakan untuk start / end of line, Terminal menyediakan Shiftmodifier untuk simetri.)Control- Left Arrowdan Control- Right Arrowjuga dipetakan ke urutan "pindah ke awal / akhir baris" secara default, meskipun urutannya berbeda dari yang dipetakan ke Shift- Homedan Shift- End. Alih-alih, mereka dipetakan ke urutan yang kompatibel dengan Emacs dan Bash
ESC [ 5 D
danESC [ 5 C
. Dengan asumsi ini tidak digunakan oleh Vim, pendekatan paling sederhana adalah menyesuaikan Vim untuk menerimanya, menggunakan ~ / .vimrc.Perhatikan bahwa dalam versi MacOS yang lebih baru, Terminal tidak lagi memiliki pemetaan eksplisit untuk Homedan Enddalam preferensi secara default. Sebaliknya, ia memiliki perilaku dinamis di mana tombol secara otomatis memetakan untuk memulai / end-of-line ketika layar alternatif aktif — misalnya, ketika menggunakan aplikasi layar penuh seperti emacs, vim, layar atau tmux. Saat menggunakan program berorientasi garis seperti shell di layar utama, mereka terus menggulir tampilan terminal secara default. The Shiftpengubah membalikkan perilaku.
sumber
\033[5~
(dan ... 6.) Untuk PageDown / Up.Solusi termudah dan terbaik adalah
n
+↓
, di manan
jumlah baris yang ingin Anda turun, dan↓
adalah tombol turun.Saya secara teratur hanya melakukan
12
+↓
dan22
+↓
.sumber
Saya sudah terbiasa dengan Home / End membuat saya memulai dan mengakhiri baris dalam mode Insert (dari penggunaan di Windows dan saya pikir Linux), yang tidak didukung Mac. Ini sangat menjengkelkan karena ketika saya menggunakan vim pada sistem jarak jauh, saya juga tidak bisa dengan mudah melakukannya. Setelah beberapa percobaan dan kesalahan yang menyakitkan, saya datang dengan beberapa
.vimrc
baris yang melakukan hal yang sama, dan akhirnya menemukan orang lain yang datang dengan solusi serupa di sini:https://coderwall.com/p/fd_bea
Nikmati.
sumber