Vim:按enter键执行不需要的功能
我最近在我的Vim:按enter键执行不需要的功能,vim,Vim,我最近在我的vimrc中添加了一些函数,以便在按下某些按键时能够输入模板文本。我的vimrc看起来像: set scrolloff=1000 filetype plugin indent on set tabstop=4 set shiftwidth=4 set expandtab autocmd BufNewFile,BufRead *.json set ft=javascript function! Pyf() " template for new function in Py
vimrc
中添加了一些函数,以便在按下某些按键时能够输入模板文本。我的vimrc
看起来像:
set scrolloff=1000
filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab
autocmd BufNewFile,BufRead *.json set ft=javascript
function! Pyf()
" template for new function in Python
r~/vim/templates/py_function.py
endfunction
nmap <C-b> :call Pyf()<CR>
function! Pye()
" template for new exception in Python
r~/vim/templates/py_exception.py
endfunction
nmap <C-n> :call Pye()<CR>
set colorcolumn=80
set scrolloff=1000
文件类型插件缩进
设置tabstop=4
设置shiftwidth=4
设置扩展选项卡
autocmd BufNewFile,BufRead*.json set ft=javascript
功能!Pyf()
“Python中新函数的模板
r~/vim/templates/py_function.py
端功能
nmap:调用Pyf()
函数!Pye()
“Python中新异常的模板
r~/vim/templates/py_exception.py
端功能
nmap:callpye()
设置colorcolumn=80
自从添加了用于插入模板的函数之后,每当我尝试使用Vim
编辑文件并按enter键时,最后一个函数(Pye())就会执行并填充文本。如果没有vimrc更改,按enter键只会将光标移动到下面的一行。我希望坚持这种行为,同时仅在进行指定的击键时保持模板文本插入。我该怎么做
谢谢您在vimrc中的某个地方有一个映射到
<代码>是
(回车键)。这是vim处理输入的一个限制。将nmap
更改为noremap
什么是:verbose map
@FDinoff的输出,它说::::::call Pye()上次设置自~/。vimrc@SandeepY您可能需要使用合适的模板插件。还需要注意的是,还有其他控制键组合可能会进行奇怪的交互。例如,
是tab,而
是escape。我尝试搜索了许多,但无法满足于今天得到积极支持的搜索。例如,我理想的模板插件可以使用函数名、参数名作为输入并生成函数的模板。有什么建议吗?