73 votes

Utiliser Vim au lieu de (ou avec) Xcode pour le développement iOS

Xcode est livré avec un tas de choses qui sont essentielles à la construction de l'iPhone et/ou iPad. En fait, beaucoup d'entre elles, je ne suis même pas au courant de car il en est ainsi "derrière les coulisses".

D'autre part, j'ai été récemment exposés aux avantages de l'utilisation de Vim comme éditeur. Est-il une configuration qui permettrait de faire à l'aide de Vim avec efficacité lors de l'élaboration de l'iOS plates-formes? Ou serait-il si compliqué de combiner les deux, que faire de cette question discutable?

En d'autres termes, si vous avez des conseils, des conseils ou des avertissements lors de l'utilisation de Vim et de Xcode, je suis toutes les oreilles!

100voto

eraserhd Points 781

Le développement pour iOS ou Mac avec Vim peut être vraiment puissant et rapide, surtout si vous utilisez TDD ou voulez des commentaires rapides (voir ici pour une vidéo de démonstration de ce qu'il ressemble à développer avec cette configuration).

Mais il faut un peu de finagling pour le faire fonctionner. Les quelques choses importantes que vous devez savoir:

  • Utiliser l' xcodebuild outil de ligne de commande pour exécuter votre build et les unités de certains vimscript.
  • Utiliser l' clang_complete plugin pour vous donner pleine exécution de code à partir de vim.
  • Utiliser l' ios.vim et cocoa.vim plugins pour la navigation.

C'est mon préféré de méthode de travail. En fait, j'ai commencé un blog et écrit l' ios.vim plugin pour le rendre plus facile pour les personnes de plus.

21voto

abigagli Points 1181

J'ai déjà là...

J'aime vim et régulièrement de l'utiliser dans mon, jour par jour, le développement en C++ sur *nix plates-formes, mais j'aime aussi tous les de Xcode caractéristiques qui, spécialement avec la dernière version de Xcode >= 4.3 et clang backend, donner un vrai plus en termes de l'auto-complétion et le symbole de référencement.

Je crois que j'ai trouvé la solution optimale avec le grand (bien que n'étant pas officiellement pris en charge par Apple) XVim plugin.

En espérant que les futurs Xcode mises à niveau ne sera pas le casser (c'est toujours bien fonctionner avec la dernière des développeurs aperçus de 4,5), cela permet vraiment de garder les doigts en mouvement comme vous l'avez appris à faire dans Vim, tout en travaillant avec Xcode, qui comme je l'ai dit, est pour moi la solution optimale.

7voto

pb2q Points 28514

Vim et XCode co-exister assez bien à condition que vous n'êtes pas en train de modifier les fichiers dans Vim et XCode éditeur en même temps. Si vous le faites alors chaque vous donnera un avertissement sur le fichier en cours de modification externe. Le terminal version de Vim est un peu plus facile à vivre à cet égard: il ne vous avertir lorsque vous essayez d'enregistrer le fichier, en demandant êtes-vous sûr, alors que MacVim, et XCode éditeur, vous avertira à chaque fois que vous revenez au fichier.

XCode ne vous permettent de sélectionner une application externe lorsque vous ouvrez des fichiers par type de fichier. Dans XCode Préférences, allez dans les Types de Fichiers de l'onglet, puis fichier->texte->code source. Éditeur préféré peut être réglé à un programme externe comme MacVim; note que Emacs doit être déjà inclus dans la liste d'une sélection: lorsqu'Emacs est sélectionné XCode lance le Terminal.app avec Emacs dans un terminal. Cet Éditeur Préféré paramètre a le problème que vous aurez une nouvelle fenêtre à chaque ouverture de fichier, qui peut ne pas correspondre à votre flux de travail.

Vim est remote fonctionnalité peut s'avérer utile ici, voyez :help remote. Avec un peu de travail, et la ci-dessus Éditeur Préféré préférence, on devrait être en mesure d'envoyer le fichier à éditer pour toute instance de Vim, y compris un existant Vim au sein d'une xterm. Il me semble que Emacs fournit quelque chose de similaire.

Mais rien de tout cela s'oppose à l'utilisation de Vim sans réglage Éditeur Préféré: il suffit d'ouvrir et de modifier vos fichiers de projet dans Vim comme vous le feriez normalement.

Votre flux de travail peut être à utiliser Vim pour l'édition de code, et de passer à XCode pour la construction du projet, mais Vim peut également exécuter les mêmes outils de construction qui utilise XCode, et avec un peu plus de travail, vous serez même capable de sauter les lignes avec des erreurs. XCode s'appuie sur gdb pour déboguer, qui peut également être utilisé tout à fait bien avec Vim, via le plugin.

Bien sûr, Vim ne peut pas s'attendre à remplacer quelque chose comme Interface Builder, mais juste au sujet de tous les autres aspects de l'iOS dev peut être réalisé avec un Vim seule solution.

Ou simplement l'utiliser Vim pour éditer votre code plus rapide, et de continuer à utiliser XCode pour le reste.

3voto

Même la pensée MacVim avec YouCompleteMe est ma principale de l'environnement pour le développement sur mac OSX, il y a des tâches que je préfère faire dans XCode, comme le débogage et le profilage. Pour ces scénarios, j'utilise XVim qui ajoute VIM capacités d'édition de XCode.

Sur XCode 5.1 XVim s'est écrasé beaucoup. Mais il a progressé et il fonctionne maintenant très bien avec XCode 6 jusqu'à présent. Mais vous obtenez seulement un sous-ensemble de VIM de cette façon, vous ne pouvez pas diviser l'éditeur pour afficher les deux fichiers en même temps. Vous pouvez activer/désactiver très facilement avec Maj-Commande-X.

(Désolé de poster ce que répondre et non pas comme un commentaire, mais la réputation du système de stackoverflow n'a pas rendu possible pour moi)

0voto

Gordon Dove Points 1306

Il y a certainement des avantages de l'utilisation éditeurs externes ( cependant emacs est dix millions de fois mieux que vim:}).

Bâton avec Xcode pour la plupart des choses, mais quand vous avez besoin de la puissance d'emacs, ou, éventuellement, de vim ( en vrac répétitif de l'éditeur de macros est ma principale raison), il suffit d'éditer le fichier en utilisant l'afficher dans le finder et ouvert, ou tout simplement en passant à votre éditeur de naviguer vers le fichier à partir de là. XCode va réaliser lorsque vous basculez en arrière que le fichier a changé.

Pour le code, je collerais avec Xcode, c'est la complétion de code est basé sur plus de la connaissance du code, il a battu son emacs ou vim est des mains vers le bas. Continue le code de vérification est d'une valeur inestimable, et comme déjà mentionné, l'accès direct à la documentation est impressionnant ( cliquez sur l'option si vous ne l'avez pas déjà trouvé).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X