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.