Saya mencoba menggunakan Ctrl+ Vuntuk menempelkan konten dalam dokumen vi editor, tetapi Ctrl+ Vtidak ditafsirkan sebagai tempel.
Saya mencoba menggunakan Ctrl+ Vuntuk menempelkan konten dalam dokumen vi editor, tetapi Ctrl+ Vtidak ditafsirkan sebagai tempel.
Jawaban:
Pertama, pastikan Anda dalam mode edit (tekan i). Kemudian Anda dapat menempel dengan Ctrl+ Shift+ V, jika Anda berada di terminal seperti emulator gnome-terminal(atau pilih "Tempel" dari menu klik kanan).
Anda juga dapat mengetikkan :set pastevim sebelum Anda menempel untuk menonaktifkan indentasi otomatis, dll. Kemudian :set nopastesetelah Anda menempelkan konten.
Periksa juga pertanyaan ini di stackoverflow.com untuk informasi lebih lanjut.
Jika Anda ingin menyalin / menempelkan baris dalam vim(tidak seperti menempelkan konten clipboard), Anda ingin memeriksa perintah yank . Berikut adalah lembar contekan yang mungkin membantu.
Icase-sensitive. Huruf kecil iadalah cara normal memasuki mode penyisipan. Capital Imembawa kursor ke awal baris dan kemudian memasukkan Anda ke mode insert.
Vi (dan Vim) bekerja sangat berbeda dibandingkan dengan editor teks biasa seperti Gedit. Ini juga memiliki kurva belajar yang cukup curam. Jika Anda ingin mempelajari beberapa perintah dasar, mulailah dengan tutorial interaktif ini .
Namun, untuk menjawab pertanyaan Anda. Konten clipboard sistem dapat diakses melalui register plus. Jadi untuk menempelkan sesuatu dari clipboard sistem yang Anda bisa, dari mode Normal, tekan: "+p(Bukan pada saat yang sama, tetapi satu demi satu).
vitidak menggunakanvim
set :paste).
Jika Anda ingin menyalin konten tempel dalam file yang sama , gunakan yankdan paste.
Jika Anda ingin menyalin konten tempel di terminal , buka file pertama, tarik teks yang Anda inginkan, lalu buka file kedua Anda dalam vim (mis. :tabnew /path/to/second/file) Dan tekan puntuk menempelkannya.
Jika Anda ingin menyalin konten tempel dari vim ke program eksternal , Anda perlu mengakses clipboard sistem. Saya berasumsi Anda menggunakan Ubuntu. Versi GUI vim selalu memiliki dukungan clipboard, namun, jika Anda ingin menggunakan Vim dari terminal, Anda harus memeriksa dukungan X11-clipboard.
Dari konsol, ketikkan:
$ vim --version | grep xterm
Jika Anda menemukan -xterm_clipboard , Anda memiliki dua opsi:
1) Kompilasi sendiri vim, dengan flag xterm_clipboard menyala
2) Hapus instalan vim, instal gvim (vim-gtk atau vim-gnome) sebagai gantinya. Anda dapat tetap menggunakan non-gui vim dengan memanggil vim dari terminal, seperti yang Anda lakukan sebelumnya. Kali ini ketika Anda memeriksa Anda harus menemukan + xterm_clipborad .
Sekarang, ketika Anda menarik beberapa teks dalam register + di dalam editor vim Anda (misalnya "+ yy), itu juga akan disalin ke clipboard sistem yang dapat Anda ambil dari program eksternal Anda seperti editor gedit, dengan menggunakan Ctrl+ V.
Jika Anda ingin menyalin konten tempel dari program eksternal ke vim , pertama-tama salin teks Anda ke clipboard sistem melalui Ctrl+ C, kemudian dalam mode insert editor vim , klik tombol tengah mouse (biasanya roda) atau tekan Ctrl+ Shift+ Vuntuk menempel.
Ini adalah 4 kondisi penyalinan & rekat dasar yang terkait dengan vim. Saya harap ini membantu.
vim-gtkmemiliki xterm_clipboarddukungan dan di Fedora xvimmemilikinya.
Saya selalu menggunakan Shift+ Insertketika saya ingin menempelkan teks ke terminal, berfungsi di semua program terminal.
(Yang juga merupakan alasan mengapa saya tidak pernah mendapatkan laptop di mana Anda tidak dapat menekan Inserttanpa menekan tombol sekunder)
Vi/ Vim! = terminal;)
Ctrl+A, Ctrl+Cjuga?
Setelah Anda masuk vi, tekan iuntuk masuk ke mode insert, klik kanan ke terminal, klik paste.
i. Apa yang dilakukan huruf besar I?
i. Huruf besar Imemindahkan kursor ke awal baris sebelum memasuki mode insert, yang tidak diperlukan di sini.
Instruksi terperinci untuk menyalin / menempelkan baris teks dalam vi menggunakan yankdanput
(gunakan perintah berikut dalam mode perintah vi)
Salin (YANK)
Untuk menyalin satu baris di vi:
yyatau ketikYUntuk menyalin 2 baris di vi:
2yyatau ketik2Y(juga, sejumlah baris dapat disalin)
Untuk menyalin semua baris dari lokasi saat ini ke akhir file:
yGUntuk menyalin semua teks dari lokasi saat ini ke akhir kata saat ini:
ywUntuk menyalin semua teks dari lokasi saat ini ke akhir baris:
y$Tempel (PUT)
Untuk menempelkan teks di clipboard - setelah lokasi kursor:
pUntuk menempelkan teks di clipboard - sebelum lokasi kursor:
PSaya mempunyai masalah, karena instalasi Vim saya tidak mendukung clipboard :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Saya menginstal vim-gnome (yang mendukung clipboard) dan kemudian memeriksa lagi:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
Sekarang saya dapat menyalin dan menempel menggunakan "+ y dan" + p masing-masing.
Dengan Vim 8+ di Linux atau Mac, Anda sekarang dapat menggunakan pasta asli OS ( ctrl+shift+Vdi Linux, cmd+Vdi Mac). Jangan menekan iuntuk Mode Sisipkan.
Ini akan menempelkan isi clipboard OS Anda, menjaga spasi dan tab tanpa menambahkan autoindenting. Ini setara dengan tua :set paste, i, ctrl+shift+V, esc, :set nopastemetode.
Anda bahkan tidak perlu menginstal fitur +clipboardatau +xterm_clipboardvim lagi. Fitur ini disebut "braket tempel". Untuk detail lebih lanjut, lihat https://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim/56781763#56781763
Jika Anda melakukan root : Ctrl+ Shift+V
Jika Anda tidak melakukan root : Pusat klik mouse.
Saya hanya ingin mencatat bahwa menggunakan Vim via Git Bash di Windows, Anda bisa menggunakan patau klik tengah mouse tanpa berada dalam mode insert. Menggunakan Vim melalui Putty , Anda bisa klik kanan. Dan highlighting melakukan penyalinan.
Saya mencatat ini karena saya sampai di sini tidak melihat bahwa ini adalah SE untuk Ubuntu.
Perintah bermanfaat lainnya:
Anda dapat menggunakan Ctrl+ Shift+ Vuntuk menempel di terminal versi vim, tetapi untuk versi GUI seperti vim Neovim-Qt, menempelkan teks dari clipboard sistem dengan Ctrl+ Shift+ Vtidak akan berfungsi. Anda harus mengakses clipboard "+atau "*editor vim.
Menambahkan pengikat kunci baru .vimrcakan cukup dengan perintah salin / tempel:
" paste from system clipboard, align indentation with surroundings
noremap <Leader>p "*]p:set nopaste<CR>
" copy a sentence into system clipboard
noremap <Leader>y "+y)
vimtutorIni akan membuat Anda lebih cepat ke tempat itu dapat digunakan untuk Anda dalam waktu sekitar 45 menit.