我阅读了这个堆栈线程,了解如何在 vim 中永久保存映射。我去/etc/vim/vimrc
并:map ,k :!python % <enter>
在文件的第一行添加了。当我用 vim 打开一个新的 python 文件时,命令:!python % <enter>
会在屏幕底部显示。但它不会自动执行。如何修复此命令以自动执行“输入”?
问问题
299 次
3 回答
2
我认为您宁愿使用本地版本~/.vimrc
进行本地设置,也不愿在文件中编辑全局设置/etc/vim/vimrc
。在那里你可以添加:
let maplocalleader=","
map <localleader>k :!python %<cr>
我建议不要^M
按照 ZyX 评论中解释的方式使用 ghoti 的答案,请参阅
编辑
ZyX 的评论让我将上面的代码更改为
filetype plugin on
augroup ft_python
au!
au FileType python nnoremap ,k :!python %<cr>
augroup END
它,k
不会弄乱其他东西
filetype plugin on
表示如果文件具有某种文件类型,我们希望完成一些事情 - 在我们的例子中是 pythonaugroup ft_python
说我想要一组带有该组名的自动命令:=“打开文件时调用的命令”au!
删除所有自动命令au Filetype python
au
为所有 python 类型的文件声明一个 autocommand=augroup END
离开组 ft_python 并返回常规设置
所以这使得,k
在 python 中充当“编译”成为可能,但是当我不小心按下,k
另一个文件说 c 源代码时,它什么也不做(或者我告诉,k
我的 . vimrc).
于 2012-05-26T15:42:24.247 回答
0
:map :!python % <enter>
我一直在寻找的答案是粘贴~/.vimrc
于 2012-05-28T10:00:13.767 回答
0
改为输入文字回车符 - 按 Ctrl + V,然后在编写地图时按 Enter:
:map ,k :!python %^M
您将看到^M
在键入序列 Ctrl + V 后显示回车,然后按回车键。
该 Ctrl + V 键告诉 vim 插入您键入的下一个字符。
于 2012-05-26T15:21:04.103 回答