Saya baru saja menemukan bahwa saya dapat menambahkan baris berikut ke ~/.vimrc
.
set mouse=a
:vmap <C-C> "+y
Ini memiliki efek mampu memilih teks dengan mouse (yaitu dalam mode visual), dan kemudian menyalin teks yang sebenarnya ke papan klip X dengan Ctrl+ c. Ini berbeda dari salinan default dari terminal, karena ini adalah teks asli yang saya salin, bukan apa yang dilihat terminal. Misalnya, jika ada tab dalam teks, maka sebelumnya saya akan menyalinnya sebagai spasi.
Apakah ada cara untuk membuat kurang berperilaku dengan cara yang sama? yaitu saya bisa menyalin kata demi kata apa yang ada di file teks saya melihat kurang?
Jawaban:
Bukan tugas kurang
Tidak,
saya tidak berpikir Anda bisa melakukannya secara langsung, karena lebih sedikit tidak memiliki kursor untuk memulai.
Perlu satu untuk menavigasi untuk memulai dan mengakhiri teks untuk memilih.
less
bukan alat yang tepat untuk navigasi level karakter.Tab sudah diperluas
Anda dapat menggunakan tombol shiftdan mouse untuk membuat pilihan; Ini ditangani oleh terminal, bukan dengan kurang. Tetapi terminal tidak tahu bagaimana spasi dan tab di mana diatur - kurang interpretasi tab secara internal, dan hanya menulis
karakter " " normal di layar.
Ada alat seperti
screen
,tmux
danbyobu
, yang dapat melakukan banyak hal mengesankan di bidang ini. Saya tidak memeriksa, tetapi saya berasumsi bahwa terminal multiplexer ini tidak memiliki jalan lain - menjadi terminal, pada akhirnya - dan akan berperilaku sama.Gunakan vim
Jika Anda menunjukkan file dalam
less
, ada solusi yang bagus:Tekan tombol vdi
less
untuk membuka file saat divim
- asuming Anda$EDITOR
dll diatur untukvim
.Ini tidak berfungsi ketika menampilkan stdin dari pipa atau lebih, meskipun ada solusi .
Menggulir mouse, setidaknya
Tetapi Anda setidaknya dapat menggulir dengan roda mouse:
Tampaknya bahkan diaktifkan secara default, tetapi peristiwa roda mouse ditekan oleh opsi yang berbeda.
Untuk tes cepat, coba:
Opsi
-X
(--no-init
) memblokir gulir - periksa isi variabel lingkungan AndaLESS
:Opsi
-q
(--quiet
,--silent
) juga menyebabkan masalah, menurut SU: Bagaimana cara membuat roda mouse gulir pager kurang menggunakan bash dan gnome-terminal?sumber
v
key fantastis! (Saya telah mengambil kebebasan dari solusi keren untuk membuatnya bekerja di jalur pipa juga.) FWIW di terminal emulator (terminator) saya tidak harus menahan shift ketika saya memilih teks.vimpager
yang dapat Anda gunakan untuk menggantiless
seluruh penjualan. Ini sebenarnya hanya menggunakanvim
dibungkus dengan skrip kecil.vimpager
terlihat cukup keren, tetapi saya memang memiliki masalah dengan menarik yang membuat saya lebih suka menggunakan lebih sedikitv
.vimpager
sampai bekerja; (Saya berusaha keras untuk tidak mengaktifkan semuavim
plugin saya ketika memulaivimpager
...)Anda dapat menyalin baris teratas yang ditampilkan
less
ke pemilihan X11 CLIPBOARD dengan mengetikkanless
:Itu menyalurkan lebih sedikit buffer dari baris atas ke
.
tanda (sehingga berlaku seluruh konten layar) kehead -n1|xclip -sel c
perintah (untuk menyimpan baris pertama dari itu dalam pilihan CLIPBOARD)Anda dapat mengonfigurasi emulator terminal Anda untuk menempelkan string itu pada penekanan tombol yang diberikan, atau mengikatnya ke kombinasi tombol atau kunci dalam
less
binding kunci. Misalnya, untuk mengikatnya pada Alt+C:Namun perhatikan, Anda akan menekan Entersetelah itu untuk menerima konfirmasi "| selesai (tekan RETURN)".
Dengan
xterm
, Anda juga dapat menentukan mode pemilihan baru misalnya di sini saat menahan Ctrl+Altketika memperluas pilihan yang memberitahuless
baris mana yang akan disalin dari layar saat ini:Tulis
lesspaste
skrip seperti:Dan tentukan tabel terjemahan xterm (di sini pada command-line untuk pengujian, tetapi Anda ingin menambahkannya ke file sumber daya X):
Anda kemudian akan menandai baris yang akan ditempelkan dengan menyeret mouse dengan Ctrl+Altmenahan, dan setelah melepaskan Tombol 1, xterm akan memberi tahu lebih sedikit untuk menyalurkan layar saat ini ke
lesspaste
skrip kami dengan koordinat awal dan akhir dilewati sebagai satu argumen (y1;x1 y2;x2
).(perhatikan bahwa itu mungkin tidak berfungsi dengan benar jika
less
diminta-s
untuk menekan garis kosong (seperti yang tipikal ketika dipanggil olehman
), karena input yang diumpankan tidaklesspaste
akan diperas garis kosongnya (sehingga offset jumlah baris mungkin salah)) .sumber
less
seharusnya memberikan umpan balik?j
tampaknya tidak melakukan apa pun untuk saya.less
,j
menggulir ke bawah dengan satu baris (forw-line
) di pengikatan kunci default (sebenarnyaJ
(forw-line-force
) akan lebih baik di sini, saya akan mengedit).|
harus memberi Anda umpan balik. (meminta tanda, dan kemudian perintah untuk masuk).j
tidak melakukan apa pun. Opsi pertama sekarang berfungsi (+1). Pilihan kedua tampaknya cukup rumit dengan beberapa peringatan, jadi saya tidak mencobanya. Saya pikirv
cukup baik untuk saya.