[Hilfe] Einige Fragen zur Vim-Shell-Konfiguration in Vim
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 16:36:51
0
1
633

Ursprünglicher Titellink: Neu gepostet von Craftsmanship Community CodingStyle

Ich habe Vim Shell endlich auf meinem eigenen Vim installiert, aber jetzt stoße ich immer noch auf einige Konfigurationsprobleme. Ich bin speziell hierher gekommen, um um Rat zu bitten, vielen Dank im Voraus!

Bitte beachten Sie das Dokument: vimshell.txt auf Github

Die Tastenkombinationen schlagen manchmal fehl, wenn das laufende Terminal beendet wird

Wie in der Referenzdokumentation erwähnt, ist <C-c> eine Tastenkombination zum Beenden eines laufenden Skripts. Diese Tastenkombination löst eine Funktion aus, die eine Unterbrechungsanforderung sendet. Es scheint jedoch, dass diese Tastenkombination nur in zwei Situationen funktioniert:

  • Wenn Vim Shell auf Benutzereingaben wartet, hat das Drücken von <C-c> den gleichen Effekt wie die Eingabetaste, und Vim Shell erstellt eine neue Zeile

  • Bei Verwendung des integrierten Zeitbefehls. Wenn Sie beispielsweise time python test.py,在等待的时候按下<C-c>,脚本立即结束;
    但是,在其他的情况下就没有作用了,例如在Vim Shell中输入exe python test.py的时候,或者在Vim Command中输入VimShellInteractive python test.py in Vim Shell eingeben, ist diese Tastenkombination nutzlos. Warum das?

So senden Sie den Pfad und den vollständigen Namen des zu bearbeitenden Textes an Vim Shell

Das Problem ist einfach, aber ich kann es nicht lösen. Jetzt kann ich VimShellInteractive python test.py in den Vim-Befehl eingeben, um das test.py-Skript auszuführen, das ich bearbeite. Aber wie sollte ich vimrc konfigurieren, wenn ich die Tastenkombination zum Ausführen von Python-Skripten mit einem Klick implementieren möchte? Die Hauptfrage ist, wie ich den vollständigen Pfad und Dateinamen der Datei, die ich bearbeite, an VimShell übergeben kann. Danke!

Weiming 20.5.2016

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(1)
小葫芦

第二个问题:

下面窗口第47行有答案


补充:你可以试试这个 https://github.com/thinca/vim-quickrun
可以自动识别你的文件类型调用相应的解释器,
前提是不要在Windows 下写 #!shebang
5/22/2016


QuickRun 补图

嗯,刚刚试了,js 也可以 q 快速运行, Java 可以自动 javac Class.java 然后 java Class
都不需要自己写文件名,其他文件类型也可以自己定义

我自己改了一点点设置

    let g:quickrun_config = {}
    let g:quickrun_config._ = {
            \ 'outputter/buffer/split': ''
            \ }

    autocmd FileType quickrun resize 10
    map <Leader>q :QuickRun<CR>

5/24/2016


shebang 是指脚本文件第一行

    #!/bin/bash

这个样子的内容,比如我第一张截图 #!/usr/bin/env python,在Linux 下 shell 会调用这个程序,并将脚本文件作为第一个参数。
QuickRun 完美兼容 shebang
第一张截图那样的代码,QuickRun 会尝试运行 /usr/bin/env python /path/to/file.py
然而 Windows 没有env,也不认反斜杠路径分隔符

当然Windows 本身也不存在shebang 的概念
总之在Windows 下写脚本不需要加上#!shebang
PS: 你可以在Windows 下看看 Python\Scripts\ 目录下的 *.py, 这些文件都有加入 #!shebang

5/24/2016

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage