Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试创建自定义vim函数_Vim - Fatal编程技术网

尝试创建自定义vim函数

尝试创建自定义vim函数,vim,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> c

这是我的~/.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
filetype插件缩进
语法高亮
语法启用
“打电话
函数!CallMake()
:!制造
端功能
:map:CallMake()调用
:imap:CallMake()调用
“”“调用run.sh
功能!CallRun()
:!./run.sh
端功能
:map:call CallRun()调用
:imap:CallRun()调用
“测试
地图:ls
地图!:ls
“”“重新映射密钥”
“交换;和:在正常模式下
nnoremap;:
nnoremap:;
“使用jk退出插入模式
imap jk
“在键入命令时显示命令
设置showcmd
“启用鼠标
设置鼠标=a
“显示行号
设定数
“”“搜索选项
高亮显示
置之不理
“”“选项卡
设置tabstop=4
设置shiftwidth=4
设置扩展选项卡
科勒颜色
问题是,当我按F5、F6或F7时,得到的只是终端铃。 有人知道我做错了什么吗

我使用默认的Ubuntu10.10终端,如果其中任何一个重要的话,我将使用zsh作为shell

这里的目标是使F5调用当前目录中的make,并使F6调用 ./run.sh在当前目录中。如果有比我现在做的更好的方法, 我也想知道这件事


谢谢您的帮助:)

这里的问题可能是您的终端。 要测试该属性,请尝试以下操作: 在您映射的地方,
,intead of

map <F5> :call CallMake()<CR>
map:CallMake()调用
类型

map ctrl-v:CallMake()调用
其中
ctrl-v
表示显式键入ctrl-v,然后键入键
F5


如果在此之后,
F5
映射工作正常,则表示您的终端配置错误。

这里的问题可能是您的终端。 要测试该属性,请尝试以下操作: 在您映射的地方,
,intead of

map <F5> :call CallMake()<CR>
map:CallMake()调用
类型

map ctrl-v:CallMake()调用
其中
ctrl-v
表示显式键入ctrl-v,然后键入键
F5


如果在此之后,
F5
映射起作用,则表示您的终端配置错误。

这是有效的!当我键入“ctrl-v”并后跟F5时,我的函数将被调用。如果有人知道从何处开始配置终端,请告诉我。您使用的是哪个系统和哪个终端?带有默认终端的Ubuntu 10.10 what does“printenv术语“给你?我不知道为什么它不起作用。它对我来说很好。其他终端,如konsole或xterm,也会发生同样的情况吗?这很有效!当我键入“ctrl-v”时“然后是F5,我的函数被调用。如果有人知道从哪里开始配置终端,请告诉我。你在使用哪个系统和什么终端?Ubuntu 10.10和默认终端“printenv TERM”给了你什么?我不知道为什么它不工作。这对我来说很好。其他终端如konsole或xterm是否也会发生同样的情况?