簡體   English   中英

vimrc映射問題; 執行python腳本映射無法從vimrc工作

[英]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是很奇怪的。 也許這就是為什么它不起作用的原因:你在測試這個映射之前以某種方式切換到另一個緩沖區。

還有一些需要注意的事項:

  1. 切勿使用可以使用noremap map
  2. 您可能不希望為視覺定義此映射(至少在w之前沒有<Cu> )和選擇模式,並且絕對不希望為操作員掛起模式定義它,因此請使用nnoremap
  3. <Se>E是等價的。
  4. 您可以使用管道符號:w | !/usr/bin/env python %<CR>在一個命令中組合w!... :w | !/usr/bin/env python %<CR>
  5. 你在usr之前忘記了斜線。

耶穌,墨菲定律。
在搜索了一個小時的答案后,發布此q后1分鍾我解決了它。 問題是映射中的<buffer>
刪除它使映射工作,因此:
nnoremap E w: <CR> :!python % <CR>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM