Xfce4-terminalinde Kopyala-Yapıştır 0 ~ ve 1 ~ ekler


105

Xubuntu 14.04, 64 bit kullanıyorum. Her zaman ve sonra, bir metni xfce4-terminaline yapıştırmaya çalıştığımda, yapıştırılması beklenen metin yerine, aşağıdakilerle çevrilir 0~ve 1~:

0~mvn clean install1~

Metnin olması gerekiyordu mvn clean install- Bunu, içeriği çeşitli başka uygulamalara (gnome-terminal, gedit ve diğerleri) yapıştırarak doğruladım. Her uygulama, içeriği xfce4-terminali dışında doğru şekilde yapıştırır. İnternette bunun için referanslar bulamadım (ne yazık ki, google.com'da özel karakterli metin aramak zor ...). Bu neden oluyor?


Nasıl yapıştırıyorsun Orta tıklama veya başka bir şey?
Celada

1
Her yöntemi denedim: orta tıklama, sağ tıklama ve seçenek yapıştırma, ctrl + shift + v. 0 ~ ve 1 ~ karakterleri göründüğünde, hangi yapıştırma yöntemini kullandığım önemli değil.
botismarius

Yanıtlar:


144

Mesele şu ki, terminaliniz parantez içinde yapıştırma modunda, ancak doğru şekilde desteklemiyor gibi görünüyor. Sorun VTE'de giderildi, ancak xfce4-terminal hala eski ve sahipsiz bir sürümünü kullanıyor.

Braketli yapıştırma modunu geçici olarak kapatmayı deneyerek şunları yapabilirsiniz:

printf "\e[?2004l"

4
Her zaman çoğaltamazsanız, parantez içinde yapıştırma modunu etkinleştiren bir program çalıştırıyor olabilirsiniz ve ardından çöktü, bu nedenle çıkmadan önce devre dışı bırakmanız mümkün olmadı.
kyrias

4
Müthiş, teşekkürler! Bu konuyla bir yıldan fazla bir süredir mücadele ediyorum. Bu "braketli yapıştırma modunu" tamamen devre dışı bırakmak mümkün müdür? BTW, kim böyle çılgınca şeyler uygular? ;)
Adam Romanek

4
bu terminalinize bağlıdır. Ve bu gerçekten kullanışlı bir özelliktir, çünkü uygulamalara bir şeyler yazılıp yapıştırılmadığını bilmelerini sağlar. Birincisi, bir IRC programı olan weechat, onu parantezli yapıştırma modu olmadan yapamayacağı çok satırlı pastalar göndermek isteyip istemediğinizi sormak için kullanır, çünkü kullanıcının satırları yazıp yazmadığını bilmenin bir yolu olmazdı. değil.
kyrias

1
Hangi programın braketli yapıştırma modu ile uğraştığını nasıl bulabilirim?
aviggiano

3
Ubuntu’ya dayalı dağıtımlar için 'vte' paketinin yamalı sürümünü launchpad.net/~adrozdoff/+archive/ubuntu/vte
Denis Bakharev

78

Sorunum çok kapalı bir bash oturumundan kaynaklanıyordu. Böylece resetterminalimde çalışan komut hemen çözüldü.


2
Bu benim için çalıştı.
AFP_555

Ve benim için çalıştı!
01'de

Terminatör kullanarak Ubuntu 16.04 ile yaşandı. sıfırlama çalıştı!
user1270710

Sonlandırıcım aynı şeyi yapıyordu, ayrıca 16.04 Ubuntu kullanıyordu. Koşu resetbenim SSH bağlantısı üzerinde düzelttim.
Marcello Grechi

23

Aynı sorunu yaşadım, vi kullandıktan sonra ortaya çıkıyor.

Mayın ekleyerek çözüldü set t_BE= benim için .vimrcdosyanın.

İçin referans , bu t_BE yaptığı şudur:

t_BE köşeli ayraç modunu etkinleştirir


7
Tam olarak sebep buydu, teşekkürler! Benim durumumda VIM 8'e yükselttiğimde başladı
rgerganov

1
t_BE = 'nin ne yaptığını ve neden sorunu çözdüğünü açıklayabilir misiniz?
Francesco Boccardo

7

Bu davranış, terminal emülatörü braketli yapıştırma modunda sıkıştığında oluşur .

Bu genellikle, bir uygulama kirli olmayan bir şekilde çıktığında gerçekleşir (çöker veya buggy olur).

Bu fenomenin sıklıkla ortaya çıkmasının bir başka nedeni , VTE'nin eski sürümlerinde (VTE, terminal emülasyon widget'inin altında gnome-terminalve xfce4-terminaldaha pek çoğu) Midnight Commander'da panelleri değiştirmek gibi belirli araçlarda belirli eylemlerle tetiklenen bir hatadır .

Bu hatanın çalıştırmakta olduğunuz VTE tabanlı terminal öykünücüsünde çözülüp çözülmediğini görmek için: Yürüt echo -ne '\e[>c', yazdığınız gibi birkaç karakter ekleyecektir. Orta sayı 3602veya daha büyükse, yukarıda belirtilen eski VTE böceği sizin için artık mevcut değildir. Sayı bundan daha küçükse, VTE hala etkilenir ve parantez içindeki macun modunda olduğundan daha sık tutulur.

Belirli bir terminal emülatörü belli Ubuntu dağıtımında sabitlenmesi halinde üzerindeki bağımlılıkları kontrol görebilmek için packages.ubuntu.com . libvte-2.91-0iyidir. libvte-2.90-9sadece bu paketin asıl sürümü 0.36.2 veya daha yeniyse ve libvte9kötü ise iyidir . Özellikle, xfce4-terminalXenial'da bir adam arabası, Zesty'de sabit.


1

Bu doğrudan probleminize uygulanmayabilir, ancak bu semptomu muhtemelen benim durumumda, seçtiğim editör olan 'mcedit' (Midnight Commander) kaynaklı buldum.

Hata sorununu hafifletmek için aşağıdaki işlevi .bashrc dosyama ekledim:

### vvv 'function mcedit' is a fix-up for the ~0/~1 paste problem
function mcedit() { command mcedit $@ ; printf '\e[?2004l' ; }

Sonra 'kaynak .bashrc'

Şimdi 'mcedit'i her çalıştırdığımda, "Parantezli Yapıştırma Modunu" sıfırlamak için kapattığımda otomatik olarak' printf "\ e [? 2004l" 'i ekliyor

Benim için çalışıyor, YMMV.

Aynı yaklaşım vi, vim, nano veya başka herhangi bir yaramazlık programında da kullanılabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.