2

Я пытаюсь настроить vim для запуска скрипта Python внутри буфера. Я попытался conqueterm, и мне удается получить то, что я хочу, когда я набираю эту команду:

:ConqueTerm python -i test.py

Теперь я хочу связать эту команду с ключом, чтобы выполнить текущий файл / буфер в другом буфере. Но когда я бегу:

:ConqueTerm python -i %

Я получаю новый пустой буфер, но ничего не отображается. Что я могу сделать, чтобы выполнить скрипт?

Я использую Gvim 7.3 и Python 2.7 на Windows 7

3 ответа3

4

После некоторых исследований я нашел следующее решение:

map <F8> :exe "ConqueTermVSplit python -i " . expand("%")

проблема вызвала расширение%.

0

Чтобы легко развернуть % , при вводе команды в vim вы можете использовать Ctrl+R и затем %. Это расширит символ % в командную строку.

0

Обычно используйте одну из команд :map для привязки ключа к команде.

:map Q :ConqueTerm python -i %^V^M

Вместо Q вы можете использовать что угодно, что аналогично команде : Из текста справки VIM:

{lhs}   means left-hand-side    *{lhs}*
{rhs}   means right-hand-side   *{rhs}*

:map    {lhs} {rhs}             |mapmode-nvo|           *:map*
:nm[ap] {lhs} {rhs}             |mapmode-n|             *:nm* *:nmap*
:vm[ap] {lhs} {rhs}             |mapmode-v|             *:vm* *:vmap*
:xm[ap] {lhs} {rhs}             |mapmode-x|             *:xm* *:xmap*
:smap   {lhs} {rhs}             |mapmode-s|                   *:smap*
:om[ap] {lhs} {rhs}             |mapmode-o|             *:om* *:omap*
:map!   {lhs} {rhs}             |mapmode-ic|            *:map!*
:im[ap] {lhs} {rhs}             |mapmode-i|             *:im* *:imap*
:lm[ap] {lhs} {rhs}             |mapmode-l|             *:lm* *:lmap*
:cm[ap] {lhs} {rhs}             |mapmode-c|             *:cm* *:cmap*
                    Map the key sequence {lhs} to {rhs} for the modes
                    where the map command applies.  The result, including
                    {rhs}, is then further scanned for mappings.  This
                    allows for nested and recursive use of mappings.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .