2010-06-29 22 views
7

Quelque chose de drôle se passe avec mon vim. Je l'utilise à travers xterm. Je veux être capable d'auto-remplir les noms de fichiers que j'essaie d'ouvrir.L'achèvement du nom de fichier dans vim avec xterm ne fonctionne pas comme prévu

Par exemple:

# Cursor is | character 
:o exam| 
:o exam|<TAB> 
:o examplefile.txt| 

J'étais sûr soutenu vim, mais il ne fonctionne pas pour moi. Quand je frappe <TAB> un caractère ^I est inséré au lieu de compléter le nom du fichier:

:o exam|<TAB> 
:o exam^I| 
:o exam^I|<TAB> 
:o exam^I^I| 

Cependant, <TAB> fonctionne très bien dans bash en xterm - il complète correctement les noms de fichiers et ne étendre à ^I.

Mon terminal est-il mal configuré? Ai-je besoin de stty vaudou? Ou est-ce autre chose entièrement?

Modifier

:e-t travail pour moi - semble être que :o ne fonctionne pas ...

+0

Pour être complet: assurez-vous que vous n'avez pas de mode compatible (': h 'cp'') - l'auto-complétion sur la ligne de commande ne fonctionne que lorsque': set nocp'. Certains systèmes que j'ai vus ont été expédiés avec/etc/vimrc contenant 'set cp', ce qui fait que VIM fonctionne plus comme un vi. – Dummy00001

Répondre

6

: o est pas vraiment soutenu dans vim. Essayez de taper: h: o, vous verrez ceci:

Vim ne prend pas en charge le mode ouvert, puisque ce n'est pas vraiment utile. Pour les situations où ": open" commencerait en mode ouvert Vim quittera le mode Ex, qui permet d'exécuter les mêmes commandes , mais met à jour l'intégralité de l'écran au lieu d'une seule ligne. Je pense que vous êtes déroutant: o et: e (ils ne sont pas identiques)

+2

Il semble que: o ne se termine pas par une tabulation. – hobbs

+1

Non pris en charge, voir par ex. la documentation http://vimdoc.sourceforge.net/htmldoc/vi_diff.html#:open ou ce fil de discussion http://bbs.archlinux.org/viewtopic.php?pid=774684 –

2

edit fonctionne pour moi:

:e exam|<TAB> 
+0

Hrm ... ça marche aussi pour moi! Une idée de ce que la différence avec ': o' pourrait être? – nfm

+1

Il semble que ': o' ne soit pas utile - quoi que ce soit supposé faire, probablement une option héritée, donc moins de fonctionnalités ... J'utilise toujours': e' pour les fichiers 'edit', donc je n'ai jamais remarqué. – stefanB