[英]vimrc mapping problem; execute python script mapping not working from vimrc
GRR。 我正在努力學習Vim的學習曲線。
並嘗試在我的vimrc中獲取一個簡單的映射來執行當前緩沖區的python腳本。 映射格式正確,並在我將其輸入Vim中的命令行后工作。 這是映射:
map <buffer>
<Se>
:w <CR>
:!usr/bin/env python % <CR>
但它不會從我的vimrc加載:(我使用的是基本的.vimrc_sample,只附加了這個映射。有什么奇怪的是我可以從vimrc獲得不同的映射:
map
<St>
itest <Esc>
這個可行,但不是腳本執行者嗎? 是什么賦予了?
Ubuntu 10.10 Python 2.6 Vim 7.2
非常感謝幫助!
我懷疑你在map
之前有一些東西: <buffer>
參數意味着只為當前緩沖區定義了映射,所以在沒有類似autocmd FileType python
類的東西之前將它添加到vimrc是很奇怪的。 也許這就是為什么它不起作用的原因:你在測試這個映射之前以某種方式切換到另一個緩沖區。
還有一些需要注意的事項:
noremap
map
。 w
之前沒有<Cu>
)和選擇模式,並且絕對不希望為操作員掛起模式定義它,因此請使用nnoremap
。 <Se>
和E
是等價的。 :w | !/usr/bin/env python %<CR>
在一個命令中組合w
和!...
:w | !/usr/bin/env python %<CR>
。 usr
之前忘記了斜線。 耶穌,墨菲定律。
在搜索了一個小時的答案后,發布此q后1分鍾我解決了它。 問題是映射中的<buffer>
。
刪除它使映射工作,因此:
nnoremap E w:
<CR>
:!python % <CR>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.