如何使用Vim编写和调试Python代码
如何使用Vim编写和调试Python代码 1.部署环境要想在Ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置: http://www.52php.cn/article/p-afeodlue-b.html
2.问题解决方案在安装过程中,可以遇到如下问题
https://www.zhihu.com/question/48957347/answer/113515412
http://blog.csdn.net/jeff_liu_sky_/article/details/53955888
3.使用PDB调试Python
http://caimaoy.com/caimaoy_gitbook/python/python_debug.html
https://docs.python.org/2/library/pdb.html
方法:运行 python -m pdb myscript.py (Pdb) 会自动停在第一行,等待调试,这时你可以看看帮助 (Pdb) h 说明下这几个关键 命令
>断点设置 (Pdb)b 10 #断点设置在本py的第10行 或(Pdb)b ots.py:20 #断点设置到 ots.py第20行 删除断点(Pdb)b #查看断点编号 (Pdb)d 2 #删除第2个断点
>运行 (Pdb)n #单步运行 (Pdb)s #细点运行 也就是会下到,方法 (Pdb)c #跳到下个断点 >查看 (Pdb)p param #查看当前 变量值 (Pdb)l #查看运行到某处代码 (Pdb)a #查看全部栈内变量
>如果是在 命令行里的调试为: import pdb def tt(): pdb.set_trace() for i in range(1,5): print i
>>> tt() #这里支持 n p c 而已 > <stdin>(3)tt() (Pdb) n 4.知识补充
sudo apt-get remove vim-tiny sudo apt-get update sudo apt-get install vim
vim 是 vi 的最流行的加强版。它在 vi 的基础上增加了很多功能,但就不与 vi 完全兼容了。 set compatible 就是让vim 关闭所有扩展的功能,尽量模拟 vi 的行为。搜索 但这样就不应用 vim 的很多强大功能,所以一般没有什么特殊需要的话(比如执行很老的 vi 脚本),都要在 vim 的配置开始,写上 set nocompatible,关闭兼容模式。由于这个选项是最最基础的选项,会连带很多其它选项发生变动(称作副作用),所以它必需是第一个设定的选项
set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式。set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可。
set 命令为 shell 设定参数变量。许多命令的输出是以空格分隔的值,如果要使用其中的某个数据域,使用 set 非常有效。 #!/bin/sh echothe date is $(date) set$(date) echothe month is $2 输出: the date is Wed Apr 23 15:34:16 CST 2014 the month is Apr
关闭文件类型检测
Vim把它所有的配置存在两个相当简单的地方:一个简明的~/.vimrc文件和全是纯文本文件的~/.vim目录。 到处都可以运行,可以进行diff比较,社区成熟有很多插件。我愿意多花点精力如果它确实能节约我很多时间。
noremap是不会递归的映射 (大概是no recursion) 例如 noremap Y y noremap y Y 不会出现问题 前缀代表生效范围 inoremap就只在插入(insert)模式下生效 vnoremap只在visual模式下生效 nnoremap就在normal模式下(狂按esc后的模式)生效 这样可以减少快捷键所用到的键位组合的个数 一个组合可以有多种用途 就不用费劲心思思考 该映射哪个没被绑定过的键了
一个是在普通模式(normal mode)下生效的映射,一个是在插入模式(insert mode)下生效。 这样可以在不同模式下使用同一个按键产生不同的效果。
noremap 和 map 的区别是,被映射的序列不会再被递归映射。
虽然Vim支持tab操作,仍有很多人更喜欢缓冲区和分割布局。你可以把缓冲区想象成最近打开的一个文件。Vim提供了方便访问近期缓冲区的方式,只需要输入:b <buffer nameor number>,就可以切换到一个已经开启的缓冲区(此处也可使用自动补全功能)。你还可以通过ls命令查看所有的缓冲区。
专业贴士: 在:ls命令输出的最后,Vim会提示“敲击Enter继续查看”,这时你可以直接输入:b <buffer name>,立即选择缓冲区。这样可以省掉一个按键操作,也不必去记忆缓冲区的名字。
在本机上正经写代码: PyCharm,社区版免费,专业版 $199 每年。 在本机上写几行脚本: ipython 或者 pyipython。 在服务器调试的时候微调代码:vim
??
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |