6 Stimmen

Ist es möglich, die bash_completion für :! oder :r ! in VIM zu aktivieren?

Ich kann :shell verwenden, um das aktuelle Verzeichnis einzugeben und Befehle auszuführen. bash_completion funktioniert einwandfrei.

Aber wie funktioniert die bash_completion in :! Befehl o :r ! Befehl Fall?

Hinweis . Ich bin Emacs-Benutzer und Emacs M-! Befehl erlauben solche Dinge nicht (auch M-x-Schale benötigen Sie M-x Begriff um bash_completion zu erhalten).

2voto

ZyX Punkte 50799

Das ist nicht möglich. Worauf sich @Prince Goulash bezieht, ist eine einfache Vervollständigung von Dateinamen, die von vim selbst durchgeführt wird. Wenn Sie wissen, wie Sie die Bash zwingen können, Vervollständigungsvarianten irgendwo hin zu leiten, können Sie eine Vervollständigungsfunktion für einen benutzerdefinierten Befehl erstellen, der wiederum die integrierte :! aber eine Neudefinition der Vervollständigung für integrierte Befehle ist nicht möglich.

Ich persönlich weiß nicht, wie man das mit der Bash macht, und weiß, dass der Versuch, dies in zsh zu tun, zu schmutzigen Hacks führt, bei denen die in zsh eingebauten Befehle umdefiniert werden (wie compadd ), pexpect (python), Expect (perl), expect (tcl), zsh/zpty oder etwas ähnliches zu verwenden, um die Shell im interaktiven Modus laufen zu lassen und einen zsh->vim IPC-Mechanismus zu erfinden (in umgekehrter Richtung ist es viel einfacher) (Ich habe einmal angefangen, an einem ähnlichen Modul für zsh zu arbeiten, habe aber aufgehört, da es zu viele Probleme auf diesem Weg gab).

1voto

Prince Goulash Punkte 14687

Haben Sie

set nocompatible

in Ihrer .vimrc? Dies aktiviert automatisch die ex-mode-Vervollständigung für :! . Um die Liste der möglichen Vervollständigungen zu sehen, können Sie auch Folgendes verwenden

set wildmenu

und untersuchen die wildmode Optionen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X