Saya ingin dapat menempelkan dari clipboard sistem (atau pemilihan teks) ke dalam shell prompt "vi-like" saya menggunakan keyboard. Saya biasanya menggunakan zsh dan terkadang bash. Dalam kedua kasus, saya memiliki shell yang diatur dengan perilaku vi-like ( bindkey -v
/ set -o vi
).
Dalam vim, perilaku yang saya cari tersedia dengan urutan kunci "+p
. Namun, urutan kunci khusus ini tidak berfungsi seperti yang diharapkan dalam prompt shell yang diaktifkan vi. Apakah ada cara untuk mengaktifkan ini atau perilaku serupa, hanya menggunakan keyboard, sementara tetap dengan keybindings mirip-vi dalam prompt zsh atau bash shell?
- edit -
Kasus penggunaan: Saya sering menavigasi antara Firefox dengan addon Pentadactyl , emulator terminal dan vim itu sendiri - menggunakan window manager Xmonad dengan tombol kustom untuk bergerak. Ketiga program memiliki keybindings mirip vi, yang sangat efisien (untuk "memori jari") sehingga akan ideal untuk mengkomunikasikan teks di antara mereka menggunakan sintaks vim (atau sintaks yang sangat mirip) saja.
xsel
dan menyalin kode yang Anda sarankan dengan sedikit modifikasi pada .zshrc saya (saya memilih '^ P' alih-alih '^ X', menimpa perilaku asli '^ P')Berikut adalah solusi untuk zsh (mode vi) yang membungkus widget asli sehingga clipboard selalu disinkronkan
Ganti
xclip
dengan alat clipboard pilihan Anda.sumber
xterm-termite
.Pilihan dan clipboard adalah hal-hal yang berbeda di bawah X Window, dan "lingkungan desktop" IMHO cenderung membuat masalah lebih suram daripada sebelumnya.
Apakah shift-insert berfungsi untuk Anda? Pada aplikasi bare X, itu pasti akan menempel seleksi ketika mengikat seperti itu dibuat.
sumber
Solusi ini berfungsi jika Anda telah menginstal
oh-my-zsh
dan mengaktifkanvi-mode
plugin.Solusi berbasis Gilles
xsel
danzle
tidak berhasil untuk saya. Namun, karena saya telah mengkonfigurasi vim untuk menggunakan clipboard sistem saya secara default (set clipboard=unnamedplus
in~/.vimrc
), saya cukup mengetikkan vmode normal terminal untuk membuka perintah saat inivim
dan kemudian saya dapat menyalinnya ke clipboard X dengan salah satu darivim
perintah yank.sumber
:term
tersedia di versi baru Neovim dan Vim?v
dalam mode normal untuk mengedit perintah yang saat ini diketik di dalam vim alih-alih pada terminal prompt.:term
dalam jawaban Anda, jika tidak sama sekali tidak jelas.:term
. Namun, saya menemukan bahwa fungsi yang saya maksud sebenarnya disediakan olehoh-my-zsh
. Saya telah memperbarui jawabannya.