50 votes

MacVim Ouvrir le fichier dans une fenêtre existante

Est-il un moyen de configurer MacVim pour ouvrir un nouveau fichier dans la fenêtre en cours en cours d'exécution MacVim exemple? J'ai actuellement le MacVim préférence "Ouvrir de nouveaux fichiers dans un nouvel onglet dans la fenêtre" set", mais, idéalement, je voudrais juste ouvrir de nouveaux fichiers ":e new_file" œuvres", sans les pattes.

Ma principale motivation est que j'utilise actuellement NERDTree et Bufexplorer pour mon flux de travail et n'avez pas besoin de les onglets à tous. Je suis également en utilisant PeepOpen, ce qui est génial, sauf qu'il s'ouvre toujours des fichiers sur la base MacVim préférences de l'utilisateur, alors le mieux que je peux faire est d'obtenir pour l'ouvrir dans le courant MacVim fenêtre avec un nouvel onglet.

52voto

Björn Winckler Points 326
  1. Mise à jour vers MacVim 7.3
  2. Allez dans les préférences générales
  3. Sous "Ouvrir les fichiers depuis les applications:" choisir "dans la fenêtre en cours"
  4. Dans le menu déroulant sous cette option, sélectionnez "et définissez l'arglist"

28voto

Azriel Points 838

Vous pouvez aussi ajouter:

alias mvim='open -a MacVim'

à votre .bash_profile

Cela me semble la solution la plus simple.

15voto

bryan kennedy Points 1666

Vous pouvez également envisager cette astuce sur la modification de la principale mvim script.

L'amélioration de la mvim pour MacVim

Cette modification est un peu moins sévère et fonctionne aussi:

Ouvrir MacVim onglets à partir de la ligne de commande

Évidemment, ceux-ci sont à la fois un peu sous-optimale de b/c, vous aurez à maintenir le hack quand vous faites un MacVim mise à jour. Mais ils m'ont aidé à un tas dans l'ouverture de plusieurs fichiers à partir du Terminal, dans les nouveaux Mac Vim onglets.

15voto

jmorriscal Points 21

Personnellement, j'utilise une commande comme celle-ci, après avoir tout vu ici et essayé d'expérimenter ce que

 mvim --help 
 

tourné.

Je l'ai trouvé

 mvim --remote-tab-silent foo.txt
 

travaillé pour moi, puis j’ai vite ajouté un alias à mon .profile . Oui, il est correct si vous ne lui envoyez pas un fichier après l'option, mais qui ouvre un fichier vide sans nom de toute façon?

4voto

Will Points 1782

@Björn Winckler réponse vous montre comment le faire pour les fichiers ouverts par le finder et d'autres OS mécanismes d'ouverture.

Si vous voulez qu'il fonctionne avec le mvim commande trouver l' mvim le fichier et les changements de lignes au bas de

if [ "$gui" ]; then
    # Note: this isn't perfect, because any error output goes to the
    # terminal instead of the console log.
    # But if you use open instead, you will need to fully qualify the
    # path names for any filenames you specify, which is hard.
    exec "$binary" -g $opts ${1:+"$@"}
else
    exec "$binary" $opts ${1:+"$@"}
fi

pour

if [ "$gui" ]; then
  # Note: this isn't perfect, because any error output goes to the
  # terminal instead of the console log.
  # But if you use open instead, you will need to fully qualify the
  # path names for any filenames you specify, which is hard.

  #make macvim open stuff in the same window instead of new ones
  if $tabs && [[ `$binary --serverlist` = "VIM" ]]; then
    exec "$binary" -g $opts --remote ${1:+"$@"}
  else
    exec "$binary" -g $opts ${1:+"$@"}
  fi
else
  exec "$binary" $opts ${1:+"$@"}
fi

Ceci rend tous les fichiers ouverts à partir de la ligne de commande ouvrir dans la même fenêtre.

Aussi, si vous souhaitez que le fichier à ouvrir le même tampon que si le fichier est déjà ouvert en lieu et place de la scission ou de l'ajout d'un nouvel onglet

au VimEnter,BufWinEnter * NERDTreeFind de votre gvimrc (afin de ne pas interférer avec votre vim)

(cette dernière partie vous oblige à avoir NERDTree installé)

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