Come ridurre al minimo l'uso dei tasti freccia durante la digitazione del codice?

StackOverflow https://stackoverflow.com/questions/1023002

  •  06-07-2019
  •  | 
  •  

Domanda

Quando si digita il codice, normalmente chiudo le parentesi, torno dentro, esco, scrivo punto e virgola, ecc:

Potrei iniziare con (| is the caret):

System.out.println()|

Quindi vai a sinistra:

System.out.println(|)

Quindi questo:

System.out.println(foo()|)

Ancora una volta indietro di uno spazio:

System.out.println(foo(|))

Le virgolette sono simili:

System.out.println(foo(""|))

... etc.

La mia mano destra si muove costantemente tra la riga iniziale e i tasti freccia. Ho provato VIM e anche se conosco le basi, mi sembra ancora molto imbarazzante.

Come dovrei farlo? Devo solo digitare da sinistra a destra (parentesi aperta, quindi contenuto, quindi parentesi chiuse, quindi punto e virgola)?

Grazie.

È stato utile?

Soluzione

Innanzitutto, c'è molta velocità da guadagnare in Vim usando h, j, k e l invece dei tasti freccia. Vedi Learning Vim in the Pragmatic Way per un panoramica delle chiavi.

Tuttavia, ciò che probabilmente vuoi in questo caso è AutoClose plugin. Inserisce automaticamente la parentesi (o la virgoletta) di chiusura insieme all'apertura e posiziona il cursore tra loro. Quindi vai da

System.out.println(|)

a

System.out.println(foo(|))

a

System.out.println(foo("|"))

Se poi digiti ")), il cursore sarà " passerà sopra " i caratteri di chiusura invece di inserirne di nuovi. Tuttavia, un modo più veloce per arrivare alla fine della linea è probabilmente <Esc>A.

System.out.println(foo(""));

Quindi, per riassumere, si può produrre quanto sopra digitando System.out.println(foo("<Esc>A;.

Per modificare i caratteri associati, anziché inserirli, vedere surround.vim .

Altri suggerimenti

Bene, questo è Java, se usi un IDE più o meno buono dovresti essere in grado di completare automaticamente, in quel modo quando scrivi " System.out.println " e premi invio per accettare il completamento automatico, le parentesi verranno visualizzate e il cursore sarà nel mezzo (oh, e ci saranno anche le virgolette!)

Se sei già in vim, prova a giocare con i tasti h, j, kel. Fanno la stessa cosa dei tasti freccia ma sono molto più convenienti. Cercare di abituarsi a digitare per probabilmente aiuterebbe anche, ma è qualcosa che richiede un certo sforzo.

Puoi salvare i tasti tenendo premuto il tasto Ctrl e usando i tasti freccia. Invece di spostare un personaggio, sposta una parola alla volta. Questo funziona anche in backspacing. Quindi Ctrl-Backspace eliminerà l'intera parola anziché solo l'ultimo carattere.

Non farlo.

La tua abitudine di terminare qualcosa che hai iniziato - che si tratti della parentesi di chiusura, della parentesi, del controvento o della chiamata .Close () da abbinare .Open () o di eliminare / liberare la chiamata per il tuo nuovo / malloc - è eccellente. Anche se intendi & Quot; chiudi & Quot; il tuo oggetto in un ambito diverso (come una funzione di terminazione), la tua abitudine ti costringe a pensare a liberare correttamente le risorse.

Sì, ci sono utili editor che ti consentono di programmare più velocemente, che dovresti assolutamente usare, ma non lasciarli diventare una stampella che ti consenta di dimenticare di chiudere oggetti / rilasciare risorse.

La risposta diretta alla tua domanda: la maggior parte dei bravi editor di programmatori possono essere personalizzati / configurati, quindi dovrai solo leggere alcune informazioni sulla configurazione avanzata dell'editor di tua scelta: vim, emacs, l'editor di Visual Studio.

Prova AutoHotKey e il mio script:

*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}"
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}"
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}"
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}"
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}"
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}"
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}"

LAlt & amp; Maiusc :: ('linea opzionale')

Si tratta di tenere premuto LAlt + premere qualcosa tra: i, k, j, l (tasti freccia), u, o (home, end) o h (elimina). L'ultima riga è facoltativa se non si desidera cambiare la lingua della tastiera. layout di LAlt + Shift

Puoi usarlo anche in combinazione con modificatori come shift e ctrl.

divertiti;)

Consiglierei vim ... dato che sarà di grande aiuto! Inoltre, cerca qualcosa che chiuderà automaticamente la parentesi, le parentesi quadre e le parentesi graffe per te ... Ho qualcosa in vim che lo fa e aiuta con questo tipo di problema perché sono già dentro la parentesi.

Un altro voto per Vim. Inoltre, ci sono alcuni ottimi plugin per IDE più standard che usano le combinazioni di tasti Vi. Di tanto in tanto utilizzo jVI in Netbeans di tanto in tanto.

Scoprirai che più usi Vim, più facile sarà sui tuoi polsi. Scoprirai anche che una ricerca / sostituzione sufficientemente intelligente può farti risparmiare parecchi tasti, così come un'azione globale può regex-y.

Associa: tabn e: tabp a qualcosa di simile e e costringiti a fare cose senza mollare e usare un editor GUI appropriato.

Digitavo in modo completamente lineare (sì, in senso assoluto), non riuscivo mai a capire come mai gli elementi di chiusura della scrittura venivano creati immediatamente.

Tuttavia, ora uso Eclipse - li crea per me mentre vado, quindi alla fine di qualcosa con un) ")) pasticcio ho appena premuto end e digitare un;, non c'è bisogno di affrontare manualmente a tutti. Il che a volte mi confonde, ma va bene.

Trovo che il tastierino numerico renda la navigazione molto semplice perché i tasti home e pgup sono così vicini. Per digitare effettivamente i numeri basta usare la riga superiore della tastiera (che è difficile da imparare, sono d'accordo, ma sufficientemente veloce dopo un po ').

L'unico lato negativo di questo per me è usare le tastiere dei laptop e usare le macchine di altre persone in cui devo disattivare il blocco numerico ogni volta.

Un buon IDE (galileo è quasi qui) chiuderà automaticamente parentesi, parentesi, ecc. e inserirà in modo intelligente anche un punto e virgola alla fine dell'istruzione. Non c'è bisogno di usare le frecce!

Ovviamente per una stampa in Eclipse puoi semplicemente digitare sysout ma è probabilmente una cattiva abitudine da prendere.

Ma stai attento! Se diventi troppo veloce, i tuoi colleghi ti faranno sempre guidare: P

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top