尝试创建自定义vim函数

时间:2011-12-20 05:18:14

标签: vim

这是我的〜/ .vimrc

filetype plugin indent on
syntax on
syntax enable

""" <F5> calls make
function! CallMake() 
    :!make
endfunction
:map <F5> :call CallMake()<CR>
:imap <F5> <C-O>:call CallMake()<CR>

""" <F6> calls run.sh
function! CallRun()
    :!./run.sh
endfunction
:map <F6> :call CallRun()<CR>
:imap <F6> <C-O>:call CallRun()<CR>

""" Test
map <F7> :ls<CR>
map! <F7> :ls<CR>

""" Remapped keys
" swap ; and : in normal mode
nnoremap ; :
nnoremap : ;

" exit insert mode with jk
imap jk <Esc>

" show commands as you're typing them
set showcmd

" enable mouse
set mouse=a

" show line numbers
set number

""" Search options
set hlsearch
set ignorecase

""" tabs
set tabstop=4
set shiftwidth=4
set expandtab

colors koehler

当我按下F5,F6或F7是终端铃声时,问题就出现了。 有谁知道我做错了什么?

我正在使用默认的Ubuntu 10.10终端,而zsh作为我的shell,如果其中任何一个都重要。

这里的目标是让F5在当前目录中调用make,然后进行F6调用 ./run.sh在当前目录中。如果有一种比我做得更好的方式, 我也想知道这件事。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

这里的问题可能出在您的终端上。 要测试,请尝试以下操作: 在哪里映射<f5>,其中包含

map <F5> :call CallMake()<CR>

输入

map ctrl-v<F5> :call CallMake()<CR>

其中ctrl-v<F5>表示明确键入ctrl-v,后跟键F5

如果在此之后F5映射工作,则意味着您的终端配置错误。