Switch to full style
Teme vezane za GNOME grafičko okruženje.
Odgovori

Re: ponašanje kursora kod ctrl+left

16 ožu 2016, 01:00

Rade u svakom normalnom shellu!

Re: ponašanje kursora kod ctrl+left

17 ožu 2016, 04:10

Aha, to si htio reći. Nisam shvatio, sori. Uglavnom, i te komande se ponašaju na meni neželjeni način.

Re: ponašanje kursora kod ctrl+left

03 svi 2016, 16:03

Parcijalno rješenje za Ctrl+Right slijedi...

Za bash (za zsh sam isto našao da može) treba bindati taj key na drugu funkciju. Birajte, ili bashrc ili inputrc.
U ~/.bashrc ide ovo:
Kod:
bind '"\e[1;5C": vi-forward-word'
bind '"\e[5C": vi-forward-word'
bind '"\eOc": vi-forward-word'


U ~/.inputrc ide ovo:
Kod:
$include /etc/inputrc
"\e[1;5C": vi-forward-word
"\e[5C": vi-forward-word
"\eOc": vi-forward-word


U editoru SublimeText v2 se može unijeti pod "Preferences/Key bindings - User" ovo:
Kod:
[
{ "keys": ["ctrl+right"], "command": "move", "args": {"by": "words", "forward": true} }
]


Još da skužim za Eclipse i općenito GTK...
Ja sam početnik pa ako nešto urokate ne znam ništa. :)
Zadnja izmjena: Smola; 04 svi 2016, 15:00; ukupno mijenjano 1 put/a.

Re: ponašanje kursora kod ctrl+right

04 svi 2016, 14:59

Za GTK je najbolje napraviti custom temu npr. "~/.themes/Vi" te unutra staviti dva direktorija , za GTK2 i GTK3 te sljedeće datoteke:

~/.themes/Vi/gtk-2.0-key/gtkrc
Kod:
binding "vi-forward-word"
{
  bind "<Control>Right" { "move-cursor" (words, 1, 0) "move-cursor" (logical-positions, 1, 0) }
  bind "<Control><Shift>Right" { "move-cursor" (words, 1, 1) "move-cursor" (logical-positions, 1, 1) }
}

class "GtkEntry" binding "vi-forward-word"
class "GtkTextView" binding "vi-forward-word"


~/.themes/Vi/gtk-3.0/gtk-keys.css
Kod:
@binding-set vi-forward-word
{
bind "<Control>Right" { "move-cursor" (words, 1, 0) "move-cursor" (logical-positions, 1, 0) };
bind "<Control><Shift>Right" { "move-cursor" (words, 1, 1) "move-cursor" (logical-positions, 1, 1) };
}

GtkEntry {
  gtk-key-bindings: vi-forward-word;
}

GtkTextView {
  gtk-key-bindings: vi-forward-word;
}


Nakon toga je potrebno otići u TweakTool i pod "Keyboard and Mouse" za "Key theme" selektirati novu temu "Vi". Nakon toga treba restartati UI (Alt+F2, "r").

Ovo radi i u aplikacijama koje koriste Java Swing. Na žalost, još mi ne radi u Eclipseovom editoru. :(

Relevantne poveznice:
http://vim.wikia.com/wiki/Vi_key_bindings_in_gtk
https://mail.gnome.org/archives/gtk-lis ... 00029.html

Re: ponašanje kursora kod ctrl+right

05 svi 2016, 18:49

Ne znam kako je ovo završilo u Fedora dijelu!? Pričam o bashu i GTK.

Re: ponašanje kursora kod ctrl+right

05 svi 2016, 19:06

Rješenje za Eclipse slijedi...

Problem je u SWT-u koji pokušava oponašati ponašanje platforme. Tamo postoji konstanta "MOVEMENT_WORD" uz koju ide komentar:
Kod:
"The behavior of this constant depends on the platform and on the direction of the movement. For example, on Windows the stop is always at the start of the word. On GTK and Mac the stop is at the end of the word if the direction is next and at the start of the word if the direction is previous.


Konstanta se koristi u metodi org.eclipse.swt.graphics.TextLayout._getOffset(). Potrebno je:
1. Dekompajlirati tu klasu. U mom Eclipseu Mars 4.5.1 je klasa unutar org.eclipse.swt.gtk.linux.x86_64_3.104.1.v20150825-0743.jar.
2. Pronaći kod na liniji 1217 prema kodu iz Eclipsa 4.3 na ovom linku:
http://grepcode.com/file/repo1.maven.or ... .java#1217
3. Izmijeniti
Kod:
if ((movement & SWT.MOVEMENT_WORD) != 0) {
   if (forward) {
      if (logAttr.is_word_end) found = true;
   } else {
      if (logAttr.is_word_start) found = true;
   }
}

u
Kod:
if ((movement & SWT.MOVEMENT_WORD) != 0) {
   if (forward) {
      if (logAttr.is_word_start) found = true; // <------------ "is_word_start"
   } else {
      if (logAttr.is_word_start) found = true;
   }
}

4. Vratiti klasu u onaj JAR i restartati Eclipse.

Nisam previše testirao, a zasad radi.

Re: ponašanje kursora kod ctrl+right

05 svi 2016, 19:12

Budući da tvoj problem nije strogo vezan uz Fedoru, već uz bash/Eclipse i općenito GTK, tema je premještena u podforum "Linux općenito". Svakako potvrdi rade li rješenja koja si naveo.


Edit by Cooleech:
Malo svjetilja slova, da se bolje vidi na tamnoj temi. ;)

Re: ponašanje kursora kod ctrl+right

05 svi 2016, 20:18

@Cooleech - nisam znao da si tako stilski osvješten :bleh

Re: ponašanje kursora kod ctrl+right

06 svi 2016, 10:35

Potvrđujem da radi bez greške na navedenoj okolini.
Još nekoliko napomena:
  • Klasa TexLayout je ima više-manje isti kod za verzije SWT-a koje se isporučuju s Eclipseom 4.3 do 4.5. Za ostale verzije nisam gledao i postoji mala šansa je da je logika potpuno drugačija.
  • Ako nekom zatreba pomoć nek mi se obrati. Ako treba gotov jar za Eclipse 4.5.1 mogu mu i to poslati. Možda budem radio istu stvar i za Eclipse Kepler (ne znam točnu verziju).
  • Ovom izmjenom se i selektiranje svodi na ono u Windowsima, tj. selekcija putem Ctrl+Shit+Right obuhvaća i razmak iza riječi.
  • Ova izmjena obuhvaća sve editore svih ekstenzija u Eclipseu.
  • Za kompajliranje klase trebate uključiti gorenavedeni jar u build-path te još i org.ecipse.swt_3.104.1.v20150825-0743.jar. Sve se može naći u direktoriju eclipse/plugins. Naravno, uzmite verzije koje ste našli tamo.
  • Za dekompajliranje sam koristio jd-gui, a možete koristiti i neki online dekompajler. Potebno je i ubaciti kod iz inner-klase StyleItem, ali ona je toliko jednostavna da je možete lako "kopipejstat". Sve možete provjeriti preko GrepCode stranica.

Re: ponašanje kursora kod ctrl+right

06 svi 2016, 16:48

calisto053 je napisao/la:@Cooleech - nisam znao da si tako stilski osvješten :bleh

Nisan moga pročitat štas napisa, pa et :-D
Odgovori