kadang-kadang saya gunakan sed -n5,10puntuk mencetak baris 5-10 sehingga saya bisa lebih mudah menyalin dan menempel tanpa vim bereaksi ke mouse.
Hibah
sebenarnya dari dalam vim perintahnya seperti:!sed -n 5,10p %
grantbow
Terima kasih atas semua komentar dan jawabannya. xclip kadang berguna, terima kasih @ sergiy-kolodyazhnyy. Ketika saya bekerja pada mesin yang berbeda, terkadang saya tidak memiliki kendali atas vim mana yang diinstal tetapi memiliki instruksi untuk memeriksa jawaban @muru sangat membantu, terima kasih @ ashutosh-tripathy. Saya perlu menggunakan perintah register vim lebih sering untuk mengingatnya ketika saya membutuhkannya. Seperti yang saya sebutkan dalam pertanyaan di atas, jika saya ingin melakukannya dengan cepat dan file tersebut kecil, perintah di dalam vim terlihat seperti:!cat %
grantbow
Jawaban:
12
Anda harus memiliki Vim dengan clipboarddan xtermclipboardfitur disusun dalam. Di Ubuntu, ini hanya tersedia dengan paket vim GUI ( vim-gnome, vim-gtk, vim-athena, dll).
Setelah Anda menginstal salah satunya, Anda dapat menyalin ke (dan menempel dari) register clipboard ( *dan +). Dari posting yang sangat informatif tentang Vi dan Vim ini :
Untuk sistem berbasis X11 (mis. Linux dan sebagian besar sistem mirip UNIX lainnya ) ada 2 clipboard, yang tidak tergantung satu sama lain:
PRIMARY - Ini adalah copy-on-pilih, dan dapat ditempelkan dengan tombol tengah mouse.
CLIPBOARD - Ini disalin dengan (biasanya) ^C, dan ditempel dengan ^V(Ini seperti MS Windows).
Vim memiliki 2 register khusus yang sesuai dengan clipboard ini:
*menggunakan PRIMARY; mnemonic: s tar adalah s elect (untuk copy-on- s elect)
+menggunakan CLIPBOARD; mnemonic: CTRL + C (untuk keybind umum)
Untuk menyalin ke register, Anda mendahului perintah copy ( y) dengan "dan nama register ( *, misalnya). "*y, lalu klik tengah untuk menempel, atau "+ydan ShiftInsertmenempel.
Solusi yang cukup menarik berasal dari pertanyaan ini . Instal xclip, kemudian salurkan output dari perintah ke xclip ( cat file | xclip -selection clipboardmisalnya), lalu tempel di mana saja, (jika itu di terminal - gunakan CtrlShiftV
). Sekarang, ternyata Anda sebenarnya dapat mempersingkat perintah itu xclip -sel clip, yang tidak terlihat jelas dari membaca halaman manual atau contoh di sana.
Cara lain adalah jika Anda menggunakan layar atau tmux, bersama dengan plugin ini . Bagaimanapun, sesuatu perlu diinstal.
muru
Apa clipboard sebenarnya yang digunakan di x server? Saya tidak menemukan apa pun di dalamnya /dev, tetapi teks masih tersimpan di suatu tempat, bukan?
Sergiy Kolodyazhnyy
Saya selalu berasumsi itu akan ada dalam memori. Itu sepertinya pertanyaan yang bagus untuk Unix & Linux .
muru
3
Saya mengalami masalah karena vim saya tidak mendukung clipboard :
sed -n5,10p
untuk mencetak baris 5-10 sehingga saya bisa lebih mudah menyalin dan menempel tanpa vim bereaksi ke mouse.:!sed -n 5,10p %
:!cat %
Jawaban:
Anda harus memiliki Vim dengan
clipboard
danxtermclipboard
fitur disusun dalam. Di Ubuntu, ini hanya tersedia dengan paket vim GUI (vim-gnome
,vim-gtk
,vim-athena
, dll).Setelah Anda menginstal salah satunya, Anda dapat menyalin ke (dan menempel dari) register clipboard (
*
dan+
). Dari posting yang sangat informatif tentang Vi dan Vim ini :Untuk menyalin ke register, Anda mendahului perintah copy (
y
) dengan"
dan nama register (*
, misalnya)."*y
, lalu klik tengah untuk menempel, atau"+y
dan ShiftInsertmenempel.sumber
Solusi yang cukup menarik berasal dari pertanyaan ini . Instal xclip, kemudian salurkan output dari perintah ke xclip (
cat file | xclip -selection clipboard
misalnya), lalu tempel di mana saja, (jika itu di terminal - gunakan Ctrl ShiftV ). Sekarang, ternyata Anda sebenarnya dapat mempersingkat perintah ituxclip -sel clip
, yang tidak terlihat jelas dari membaca halaman manual atau contoh di sana.sumber
/dev
, tetapi teks masih tersimpan di suatu tempat, bukan?Saya mengalami masalah karena vim saya tidak mendukung clipboard :
Saya menginstal vim-gnome (yang mendukung clipboard) dan kemudian memeriksa lagi:
Sekarang saya dapat menyalin dan menempel menggunakan "+ y dan" + p masing-masing.
sumber