2009-04-28 9 views
-1

Im face à certains problèmes, j'ai regardé autour dans le forum et n'a pas trouvé toutes les solutions discutées. Je suis désolé si ceux-ci ont été résolus plus tôt.Choses que je voudrais pouvoir faire en VIM lors de la programmation Ruby

  • Y a-t-il un moyen de rendre la ligne VIM cassée après 80 caractères? I ne veut pas que le texte enveloppe mais crée une nouvelle ligne. Et je souhaite que ce soit rompre le dernier mot complet. Donc au lieu de pour dans le précédent et o dans la ligne suivante, peut-il rompre avec foo dans la ligne suivante?

  • Lorsque je termine mon commentaire et que j'appuie sur Entrée, j'obtiens un # dans la nouvelle ligne. C'est cool mais quand je supprime # et que je veux démarrer une ligne de code, je n'obtiens pas la syntaxe mettant en évidence là. Il pense toujours ce que je suis en train de taper un commentaire. Est-ce un bug ou est-ce que je le fais mal?

  • Une chose est que j'ai mis le shiftwidth à 4. Mais quand je presse Ctrl + S pour enregistrer le document, le curseur passe au début de la phrase . J'ai ensuite besoin de revenir manuellement à ma position d'origine pour commencer le code . Y a-t-il un moyen de résoudre ce problème?

Merci d'avoir lu ceci. Je suis nouveau à Ruby et Vim. J'espère que vous m'aider moi.

+0

pouvez-vous lister toutes les extensions VIM que vous utilisez? –

+0

": noms de script", puis collez-le à un site de collage en ligne. – Rook

+0

Ce n'est pas "RUBY": http://stackoverflow.com/questions/6053240/how-should-i-capitalize-ruby –

Répondre

5

Ctrl-S? Ce n'est pas connu de moi. Dans vim/gvim, un fichier est généralement enregistré par

:w filename.ext (if none's been given yet) 

ou

:saveas filename.ext 

(pour toutes ces commandes essayer ": help: w" ou ... le même principe).

Je ne connais pas la partie commentaire, puisque je ne fais pas Ruby, mais il serait assez sage pour vous de vous procurer un plugin commenter agréable (je pense que j'utilise LineCommenter) - facilite le commentaire . Il suffit d'écrire le commentaire, et d'ajouter le # plus tard (réglez-le pour travailler en mode normal et en mode visuel, il fonctionne magnifiquement).

Quant à la rupture de la partie du texte, qui pourrait être résolu en ajoutant

:set tw=80 
+0

peut-être que CTRL-S est une chose gvim? – rampion

+0

Le problème avec: set tw = 80 méthode est que la ligne se brise seulement après l'espace blanc. Cela laissera le mot précédent, qui dépasse la limite de largeur en place. Y a-t-il un moyen de briser le mot lui-même? – unj2

+0

Non. J'utilise GVim, et il n'y a pas de telle clé. C'est probablement quelque chose cartographié. – Rook

5

« wrapscan » est la fonction vim qui enveloppe un mot entier à la ligne suivante; Il se peut qu'il ne soit pas défini par défaut dans votre configuration - ce n'est probablement pas le cas. Donc, en plus : set tw = 78 vous voulez probablement essayer un de ces:

:set wrapscan 
:set wrap  <- just a shorter version 
:set nowrap <- to turn the wordwrap feature back off 

Soit dit en passant, au lieu de définir la largeur du texte (tw) à un certain nombre de caractères (plus petits que la fenêtre) , vous pourriez plutôt définir la marge que vous voulez laisser sur le côté droit de la fenêtre comme ceci:

:set wrapmargin=1 

Si wrapmargin est réglé sur autre chose que 0, textwidth doit être ignorée.J'utiliserais ": w" pour enregistrer et continuer à éditer (ou ": w filename" s'il s'agit d'un nouveau fichier) et "ZZ" ou ": wq" pour sauvegarder et quitter lorsque vous avez terminé - aucun d'entre eux ne bougera la position du curseur. Je ne suis pas sûr d'où vient votre continuation "#", mais je m'assurerais également de les définir s'ils ne le sont pas déjà (vous pouvez vérifier les variables en tapant ": set "sans autres options):

:set syntax=ruby 
:set filetype=ruby 
:syntax enable 

Si vous avez commencé avec un document vide, puis a ajouté: "#!/usr/bin/ruby" à lui, vim ne vous remarquez éditez rubis jusqu'à ce que vous enregistrer & quittez et rouvrez le fichier. Il y a d'autres cas où la coloration de la syntaxe n'est pas très brillante ou a besoin d'un coup de pouce mais oui, cela me semble être un bug.

Questions connexes