Keresés

Részletes keresés

locsemege Creative Commons License 2010.05.06 0 0 32
Egy régi, az új mc verziókban előforduló bajomat oldottam ma meg. Leírom, hátha másnak is gondja ez.

Arról van szó, hogy az mcedit a szöveg alatti háttérszínt nem az editnormal, hanem a normal változóból szedi. Fogalmam sincs, milyen megfontolásból. Szerintem bug. Régen jó volt.

Az alapgondolat az, hogy az editor futásának idejére változtassuk meg a normal változót, de csak addig, hiszen míg az editor hátterének jó a fekete, addig a filemanager esetén én a kéket szeretném.

Első lépésben írjunk egy shell script-et mondjuk /usr/local/bin/mcedit1 néven az alábbi tartalommal:

#!/bin/bash

mcedit --colors normal=,black "$@"
exit


Adjunk rá futtatási jogot:

chmod 0755 /usr/local/bin/mcedit1

Lehetne cizellálni, hogy a színt is paraméterként átadni, meg ha az mcedit nincs, akkor legyen vi, de minek bonyolítani.

Ezután a ~/.bashrc file-ban definiáljuk és exportáljuk az EDITOR változót:

echo 'export EDITOR=mcedit1' >>~/.bashrc

Végül az mc Options, Configuration... almenüben szedjük ki az 'x'-et a use internal edit elől, majd mentsük a módosított beállítást.
locsemege Creative Commons License 2010.02.11 0 0 31
Én csak ilyen egyszerűt szoktam, amúgy ez sem a default:

[\u@\h \w]\$

Szeretem látni a taljes elérési utat, nem csak az aktuális alkönyvtár nevét. A root prompt-ot viszont színezem:

\[\e[1;31m\][\u@\h \w]\$ \[\e[m\]
Előzmény: NevemTeve (30)
NevemTeve Creative Commons License 2010.02.11 0 0 30
Úgy látszik, a mc ártatlan, a debian teszi a követekező rémálmot a PS1-be:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Előzmény: NevemTeve (29)
NevemTeve Creative Commons License 2010.02.03 0 0 29
Egy kis gond azért van: alul a prompt bénán jelenik meg (kétszer, hogy precízen mondjam), mégpedig azért, mert egy ESC ] 0 ; szekvenciát küld, amit persze nem ért a terminál.
NevemTeve Creative Commons License 2010.01.29 0 0 28
4.6.2-pre1

Ugye hogy verziókülönbség...

Közben a xterm-vte-sről írtam a buglistre: bug/96676
Előzmény: locsemege (27)
locsemege Creative Commons License 2010.01.29 0 0 27
rpm -qa mc
mc-4.7.0.1-1.fc12.x86_64


Előzmény: NevemTeve (26)
NevemTeve Creative Commons License 2010.01.29 0 0 26
Vagy nekem másik verzióm van:

[x] Fake half tabs
[ ] Backspace through tabs
[ ] Fill tabs with spaces
[x] Confirm before saving
[x] Save file position
[x] Syntax highlighting
Előzmény: locsemege (25)
locsemege Creative Commons License 2010.01.29 0 0 25
Options, General, ott megtalálod.
Előzmény: NevemTeve (23)
NevemTeve Creative Commons License 2010.01.29 0 0 24
Mármint nem maga a 'mc', értelemszerűen, hanem a 'mcedit'.
Előzmény: NevemTeve (23)
NevemTeve Creative Commons License 2010.01.29 0 0 23
Zseniális ez az új faeture, hogy a <TAB>-okat is mutatja!
Hogyan lehet kikapcsolni? Ugyanis nekem pont olyan színű a kurzorom, emiatt olyankor nem látom, hol van...
locsemege Creative Commons License 2006.12.17 0 0 22
Köszi.
Előzmény: Gorcsev (21)
Gorcsev Creative Commons License 2006.12.16 0 0 21
-Tudtommal nem.
-Ja, Fájl -> Blokk mentése, ill. Fájl beszúrása...
Előzmény: locsemege (20)
locsemege Creative Commons License 2006.12.15 0 0 20
mcedit-tel meg lehet nyitni egyidejűleg két vagy több filet? Esetleg az egyik file bizonyos sorait a másikba másolni?
compton_ Creative Commons License 2005.12.10 0 0 19
A fish-t felejtsétek el, a fuse-sshfs sokkal jobb, bemountolja a távoli ssh szervert futtató gép filerendszerét a lokális gépre. Tehát nem csak mc alatt látható a távoli filerendszer.Ha jól emlékszem 2.6.12-től a kernel része a fuse.
locsemege Creative Commons License 2005.12.06 0 0 18
Így jobb lesz:

$ISOINFO -l -i "$1" | gawk '
BEGIN {
dir="";
# Pattern to match 8 first fields.
rx = "[^ ]+[ ]+";
rx = "^" rx rx rx rx rx rx rx rx;
irx = "^\\[ *[0-9]* *[0-9]+\\] ";
}
/^[ ]*$/ { next };
/^d---------/ {
if ($12 == ".") {
attr=$0;
sub(/^d[^ ]*[ ]*[0-9]*[ ]*[0-9]*[ ]*[0-9]*/, "", attr);
sub(/ \[[ ]*[0-9]*[ ]*[0-9]*\].*$/, "", attr);
if (dir != "") printf "dr-xr-xr-x 1 root root%s %s\n", attr, substr(dir, 1, length(dir)-1);
};
next;
};
/^Directory listing of [^ ].*$/ {
dir=substr($0, 23);
next;
}
{ $11 != "" } {
name=$0;
sub(rx, "", name);
attr=substr($0, 1, length($0)-length(name));
# strip inodes and extra dir entries; fix perms
sub(irx, "", name);
sub("^---------- 0 0 0", "-r--r--r-- 1 root root", attr);
sub(" $", "", name);
## sub(";[0-9]+$", "", name) ## would break copyout
# skip . and ..
if (name ~ /^\.\.?/) next;
printf "%s%s%s\n", attr, dir, name;
}'
Előzmény: locsemege (17)
locsemege Creative Commons License 2005.12.06 0 0 17
Még nem jó... :(
Előzmény: locsemege (16)
locsemege Creative Commons License 2005.12.06 0 0 16
A share/mc/extfs/iso9660 script is bugos, mert nem mutatja a CD image-ben az üres directory-kat. Viszont ezt kijavítottam. Nagyon rondán, de talán jól - nem volt sok időm rá. Csak a lényegi részt írom:

$ISOINFO -l -i "$1" | gawk '
BEGIN {
dir="";
# Pattern to match 8 first fields.
rx = "[^ ]+[ ]+";
rx = "^" rx rx rx rx rx rx rx rx;
irx = "^\[ *[0-9]* *[0-9]+\] ";
}
/^[ ]*$/ { next };
/^d---------/ {
if ($12 == ".") {
attr=$0;
sub(/^d[^ ]*[ ]*[0-9]*[ ]*[0-9]*[ ]*[0-9]*/, "", attr);
sub(/ \[[ ]*[0-9]*[ ]*[0-9]*\].*$/, "", attr);
};
next;
};
/^Directory listing of [^ ].*$/ {
if (dir != "") printf "dr-xr-xr-x 1 root root%s %s\n", attr, substr(dir, 1, length(dir)-1);
dir=substr($0, 23);
next;
}
{ $11 != "" } {
name=$0;
sub(rx, "", name);
attr=substr($0, 1, length($0)-length(name));
# strip inodes and extra dir entries; fix perms
sub(irx, "", name);
sub("^---------- 0 0 0", "-r--r--r-- 1 root root", attr);
sub(" $", "", name);
## sub(";[0-9]+$", "", name) ## would break copyout
# skip . and ..
if (name ~ /^\.\.?/) next;
printf "%s%s%sn", attr, dir, name;
dir="";
}'
locsemege Creative Commons License 2005.12.05 0 0 15
Zseniális vagy, köszönöm! Újra fordítottam az mc-t a javításoddal, és valóban megjavult. :)
Előzmény: NevemTeve (14)
NevemTeve Creative Commons License 2005.12.05 0 0 14
van egy olyan gyermek, hogy /usr/local/src/mc*/vfs/fish.c, abban fish_linear_start függvény
abban volt: "ls -ln /%s 2>/dev/null | (n"
abban lett: "ls -lnL /%s 2>/dev/null | (n"

elküldtem egy levélkét, meglátjuk...
Előzmény: locsemege (8)
NevemTeve Creative Commons License 2005.12.01 0 0 13
Ha az X (vagy a gpm) copy/paste funkcióját akarod használni, akkor Shift+Egérgombbal kell végezni a kijelölést/beillesztést.
A mcedit saját file-ok közötti másolási módja a File menüben a "Copy to file" és "Insert file" menüpontok használata.
thuram Creative Commons License 2005.12.01 0 0 12
Jah rájöttem elnézést, rosszul fogalmaztam meg a kérdést:(.

Szóval én az mc editorából szeretnék másolni egy másik mc editor (F4 el megnyitott fájl) tartalmába.
Előzmény: thuram (11)
thuram Creative Commons License 2005.12.01 0 0 11
Nálam ez nem megy:(

F3 al kijelölöm(lehet hogy ez a gond?) majd az F5 el tudom másolni de csak azon az "mc"-n belül, amit egy másik fülön nyitottam már az F5 nek nincs hatása:(, F15 m nincsen, shift-F5 re pedig valami fájlt akar beszurni. (Ez a gnome terminal alatt, nem tudom, hogy számíte de hátha)
Előzmény: NevemTeve (10)
NevemTeve Creative Commons License 2005.12.01 0 0 10
Egy másik kérdés, hogy mc ablakai közötti másolásra van bill-kombináció
F5 illetve F15 (shift F5)
Előzmény: thuram (9)
thuram Creative Commons License 2005.12.01 0 0 9
Hu nem is tudtam erről a shell lehetőségről.. Van arra mód, hogy az mc után paraméterben megadjam, hogy mi legyen a bal illetve jobb ablakban? Egy másik kérdés, hogy mc ablakai közötti másolásra van bill-kombináció, vagy csak egér +shift (legalábbis nálam aszem ez müködik)..
Előzmény: locsemege (4)
locsemege Creative Commons License 2005.12.01 0 0 8
Mert Te fogod kijavítani, vagy mert nem lehet tudni, hogy ez az mc, ssh, bash hibája-e? Már azért érdekel, mert bugot jelenteni sokszor akár hozzá nem értők is szoktak, pusztán a jelenség leírásával. Engem csak a nyelvtudás hiánya :( tartott vissza.
Előzmény: NevemTeve (7)
NevemTeve Creative Commons License 2005.12.01 0 0 7
Ahhoz mindössze meg kellene találni a hibás programrészt... meglátjuk lesz-e rá érkezésem...
Előzmény: locsemege (6)
locsemege Creative Commons License 2005.12.01 0 0 6
Van annyi időd - és kedved -, hogy jelented a bugot a fejlesztők felé?
Előzmény: NevemTeve (5)
NevemTeve Creative Commons License 2005.12.01 0 0 5
Igen, ssh-val megy, olyasmi van benne, hogy

ssh -l user remote.host "echo FISH:; /bin/sh"

A másik, és sokkal fontosabb, hogy remekül lehet ugyan használni két gép közötti másoláshoz akár, de rosszul kezeli a szimbolikus linkeket. Látszik is, mi a hiba. Ha a remote gépen az adott directory-ban van egy symlink, ott az mc-vel azt a file-t látom, ahová a link mutat. Ez eddig nem is lenne nagy baj. Ha viszont másolom, vagy megnyitom a file-t, hibás lesz, ugyanis a file-ból annyi byte-ot hoz át, amennyi a symlink hossza.
Ellenőriztem, tényleg...
Előzmény: locsemege (4)
locsemege Creative Commons License 2005.11.30 0 0 4
Nem tudom, használja-e valaki mc alatt Shell link... nevű kapcsolódást remote géphez. Én szoktam. Az egyik kérdésem, hogy ezt milyen szerver valósítja meg a remote részéről. Valami fish-re látok utalást, de a service-ok között ezt nem látom. Vajon ssh-n megy?

A másik, és sokkal fontosabb, hogy remekül lehet ugyan használni két gép közötti másoláshoz akár, de rosszul kezeli a szimbolikus linkeket. Látszik is, mi a hiba. Ha a remote gépen az adott directory-ban van egy symlink, ott az mc-vel azt a file-t látom, ahová a link mutat. Ez eddig nem is lenne nagy baj. Ha viszont másolom, vagy megnyitom a file-t, hibás lesz, ugyanis a file-ból annyi byte-ot hoz át, amennyi a symlink hossza. Tehát azt a file-t nyitja meg, ahová a link mutat, de nem a file hosszával, hanem a symlink hosszával. Mivel nem tudok angolul, arra szeretnék késztetni valakit, akit esetleg szintén érint a probléma, hogy a fejlesztőket dobja már meg egy bug reporttal. Valószínűleg nagyon könnyű javítani a hibát, hiszen a hossz megállapításánál a link lett használva ahelyett, hogy végigrohanna a célig.

Sajnos a cal nevű progiban is van egy bug, ami bosszant. Ha például a mai napon azt mondjátok neki, hogy cal -m3, akkor a december utolsó sora balra el lesz csúsztatva. Valószínűleg az aktuális napot inverzben jelző vezérlőkódokat is beleszámítja a hosszba. Egy lehetséges javítás:

cal -m3 | cat

Ekkor nem jelöli az aktuális napot.
NevemTeve Creative Commons License 2001.02.26 0 0 3
Azon belül is Fake half tabs
Előzmény: Solt (1)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!