проблема отображения vimrc;выполнить отображение сценариев Python не работает из vimrc - PullRequest
0 голосов
/ 27 марта 2011

ГРР.Я борюсь с кривой обучения Vim.
И пытаюсь получить простое отображение в моем vimrc для выполнения скрипта Python текущего буфера.Отображение правильно сформировано и работает после того, как я ввожу его в командную строку в Vim.Это отображение: <br> map <code><buffer> <S-e>: w <CR> :! usr / bin / env python% <CR>
Но оно не загружается из моего vimrc :( Я используюbasic .vimrc_sample с добавленным только этим отображением. Что странно в том, что я могу получить другое отображение, работающее с vimrc:
map <code><S-t> itest <Esc>
Это работает, но не исполнитель сценария?Что дает?
Ubuntu 10.10 Python 2.6 Vim 7.2

Помощь очень ценится!

Ответы [ 2 ]

2 голосов
/ 27 марта 2011

Я подозреваю, что у вас есть что-то до map: <buffer> аргумент означает, что отображение определено только для текущего буфера, поэтому добавление его в vimrc без чего-то вроде autocmd FileType python до того, как оно станет странным. Возможно, это причина того, что это не работает: вы как-то переключаетесь на другой буфер перед тестированием этого отображения.

Некоторые дополнительные вещи для беспокойства:

  1. Никогда не используйте map, где вместо него можно использовать noremap.
  2. Возможно, вы не хотите, чтобы это отображение было определено для визуального (по крайней мере, без <C-u> до w) и выбора режимов, и определенно не хотите, чтобы оно было определено для режимов, ожидающих оператора, поэтому используйте nnoremap.
  3. <S-e> и E эквивалентны.
  4. Вы можете объединить w и !... в одну команду, используя символ трубы: :w | !/usr/bin/env python %<CR>.
  5. Вы забыли косую черту до usr.
0 голосов
/ 27 марта 2011

Иисус, закон Мерфи.
После поиска ответа в течение часа, 1 минуты после публикации этого вопроса я решил его. Проблема была <buffer> в отображении.
Удаление этого сделало отображение работы таким образом:
nnoremap E w:<code><CR> :! python% <CR>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...