我读了this stack thread关于如何在vim中永久保存映射的内容。
我转到/etc/vim/vimrc
并在文件的第一行添加了:map ,k :!python % <enter>
。当我用vim打开一个新的python文件时,命令通过在屏幕底部显示:!python % <enter>
来响应。但它不会自动执行。如何修复此命令以自动执行“输入”?
答案 0 :(得分:2)
我认为您宁愿使用本地版本~/.vimrc
进行本地设置,而不是编辑文件/etc/vim/vimrc
中的全局设置。在那里你可以添加:
let maplocalleader=","
map <localleader>k :!python %<cr>
我建议不要按照ZyX对ghoti的回答see
的评论中的说明使用^M
修改强>
ZyX的评论让我将上面的代码更改为
filetype plugin on
augroup ft_python
au!
au FileType python nnoremap ,k :!python %<cr>
augroup END
让,k
不要搞乱其他东西
filetype plugin on
说如果文件有某种文件类型我们想要完成任务 - 在我们的例子中是python augroup ft_python
说我想拥有一组自动命令:=“使用该组名打开文件时调用的命令au!
删除所有自动命令au Filetype python
为所有python类型的文件声明自动命令= au
augroup END
离开群组ft_python并返回常规设置这样就可以让,k
在python中充当'compile'但是当我不小心在另一个文件中按,k
说一个c源代码时,它什么都不做(或者我不做的事情)告诉,k
我的.vimrc中的其他地方的c源代码。)
答案 1 :(得分:0)
输入一个文字回车字符 - 按Ctrl + V,然后在写地图时输入:
:map ,k :!python %^M
输入序列Ctrl + V后,您会看到回车显示为^M
,然后按回车键。
Ctrl + V键告诉vim插入您键入的下一个字符。
答案 2 :(得分:0)
我要找的答案是将:map :!python % <enter>
粘贴到~/.vimrc