Bisakah saya menggunakan kunci `<cmd>` di terminal Vim sama sekali?

22

Berikut dari pertanyaan saya yang terbaru: Bagaimana cara memetakan <cmd> - <shift> -f untuk menjalankan plugin Ack di Vim?

Apakah mungkin menggunakan <cmd>kunci di Vim sama sekali?

Jika Vim tidak mengenali kunci, apakah mungkin untuk remap luar kunci Vim (entah bagaimana?) Untuk sesuatu yang lain dan peta yang kunci dalam Vim?

Saya menggunakan iTerm 2 di Lion dengan Vim 7.3.

Terima kasih!

jordelver
sumber

Jawaban:

12

<D-> hanya berfungsi di MacVim.

Google cepat akan mengembalikan banyak peretasan dan solusi pihak ketiga. Semua solusi yang saya tahu baik untuk seluruh sistem kerja atau khusus untuk aplikasi: jika Anda memetakan Cmdhanya dalam iTerm2, bagaimana Anda akan membuka jendela baru atau tab baru? Dengan ... dengan ... ... MOUSE?

Saya tidak bisa membayangkan alasan yang baik untuk memetakan kembali Cmdkunci untuk apa pun di Mac. Itu akan menjadi gila.

Vim bukan TextMate atau editor lain apa pun yang telah Anda gunakan sebelumnya. Tidak ada cara untuk mentransfer semua kebiasaan lama Anda dengan mulus, point blank.

Alih-alih membuang-buang waktu Anda mencoba membuat Vim dan terminal Anda menjadi sesuatu yang bukan dan tidak bisa Anda harus belajar bagaimana menggunakan dan menyesuaikan Vim dengan bijak. Semua Cmd+ Shift+ Ctrl+ Altkombo Anda tidak akan membawa Anda ke mana pun. Terutama di terminal Altyang sering bermasalah dan Cmdtidak dapat digunakan.

Pertimbangkan untuk menggunakan <leader>( :help leader):

  • itu portabel di setiap platform
  • itu kurang rentan terhadap konflik dengan OS atau terminal emulator Anda
  • itu membuka banyak kemungkinan mudah diingat
romainl
sumber
Haha, terima kasih grawity, sekarang jauh lebih bersih.
romainl
Terima kasih balasannya. Saya telah mendengar tentang <leader>tetapi saya tidak yakin bagaimana itu harus digunakan. Saya setuju dengan poin Anda tentang portabilitas, ini adalah bagian dari alasan saya pindah ke Vim. Terima kasih.
jordelver
Anda dapat remap Cmdke Controldalam iTerm2, dan kemudian pada jendela yang sama, menambahkan cara pintas untuk membuka tab baru dengan ^t, dll Kemudian semuanya bekerja!
Sean Clark Hess
5

Saya menemukan bahwa iterm2 memiliki opsi dalam pengaturan keyboard untuk melakukan hal semacam ini. Untuk ex di bawah ini saya memetakan command-enter menjadi: wq

masukkan deskripsi gambar di sinimasukkan deskripsi gambar di sini

Neil McGill
sumber
Terima kasih atas solusi ini. Ini hanya apa yang saya cari. Saya tahu tentang <Leader>, tetapi saya berpikir bahwa beberapa hal seperti menyimpan file harus bersifat universal.
Dmitry Biletskyy
4

Untuk perintah sederhana ada solusi dengan mengirim kode hex yang sesuai ke terminal. Misalnya, saya ingin menyimpan dalam vim dengan menekan cmd-s. Saya memetakan cmd-sdalam iterm2 untuk mengirim kode hex 0x13yang merupakan kode untuk ctrl-s, kemudian saya memetakan ctrl-ske :wqdalam vim.

jhickner
sumber
Bagaimana tepatnya Anda melakukan hal seperti itu? Terima kasih.
nunos
Tidak bekerja untuk saya kode hex 0x13: / imgur.com/RjxOoLY
michalzuber
Untuk cara melakukannya, lihat gambar di bawah ini - terima kasih @jhickner untuk gagasan untuk melihat iTerm2
Neil McGill
3

Solusi 2016 adalah dengan menggunakan program open-source Karabiner yang memungkinkan Anda untuk memetakan ulang pengubah dan kunci lainnya dengan rincian yang sangat baik , misalnya

  • Remap hanya tombol kiri ⌘ Cmd atau Option.
  • Remap kunci hanya untuk aplikasi spesifik, misalnya hanya di dalam Terminal, Emacs, atau mesin virtual.

Misalnya, berikut ini cara memetakan kembali ⌘ Cmdtombol kiri untuk bertindak sebagai Ctrl hanya di dalam Terminal (dan membiarkan yang kanan tidak terpengaruh sehingga Anda masih bisa menggunakan mis. ⌘ Cmd + TabUntuk beralih antar aplikasi):

karabiner-tangkapan layar

dorserg
sumber
Luar biasa. Sekarang saya dapat menggunakannya di Vim dengan benar, meskipun (kiri) perintah + tab tidak "alt tab". Saya dapat menggunakan perintah yang benar tetapi apakah ada cara untuk menyimpannya?
meder omuraliev