linux terminalinde gezinti okları


0

Mevcut LTS ubuntu'um var ve yine yanlış bir şey farkettim. Şu anda varsayılan kurulumda CTRL + [left / right] kelimesine göre atlama yapmıyor. Biraz garip, yanılmıyorsam, sanırım 10 yıl önce varsayılan freebsd'de düzgün çalışmasını sağladım. Her neyse, görünen o ki sol ve sağ varsayılanlar bile varsayılan olarak düzgün çalışmıyor! Eğer yazarsam:

pxd[LEFT][LEFT][DEL]w[ENTER]

sonra pwdaçıkçası (umarım?) Ben şimdi fark ettim ki bir düz c ++ cmd satır uygulamasında bu şekilde çalışmadığıdır. İşte örnek kod:

#include <iostream>
#include <string>
using namespace std;
int main()
{
        string s;
        getline(cin, s);
        cout << "\n\n{\n" << s << "\n}" << endl;
}

şimdi derleyin ve çalıştırın: g++ test.cpp -o test && ./testve pwdbash ile sonuçlanan aynı tuş sırasını girin . Aniden işe yaramayacak. Bu karışıklığı alıyorum:p[3~w

Tüm * nix'lerde terminalde yanlış olan nedir?


Sevimli çizgi bana ranttan atmamı sağladı, ama sormak istediğin C ++ ile ilgili bir soruya neden oluyor, çünkü temelde C ++ kodunun neden bu şekilde davrandığını soruyor. Bunu Windows'ta çoğaltırsanız ne elde edersiniz?
— fixer1234

@ Fixer1234 ders dışı düzgün windows üzerinde çalışıyor. C ++ 'a özgü değil.
— Pavel,

Yanıtlar:


1

getline()Yöntem gibi basit işlevler , çekirdeğin tty sürücüsünün yalnızca bazı temel satır düzenleme yeteneklerine (geri yazma, ^Wbir sözcüğü silmek vb.) Sahip olan, ancak okları veya benzeri bir desteği olmayan pişmiş modunu kullanır .

Tam çizgi düzenleme yetenekleri elde etmek için, readlinebunun yerine kütüphaneyi kullanmanız gerekir getline().


Bu getto. Unix'te bu sorunu çözme ihtimalini ne kadar özledim bilmiyorum
— Pavel
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.