广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Vim编写和调试Python代码
  • 387
分享到

如何使用Vim编写和调试Python代码

如何使用代码Vim 2023-01-31 01:01:18 387人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

如何使用Vim编写和调试python代码 要想在ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置: https://segmentfault.com/a/1190000003962806  

如何使用Vim编写和调试python代码

要想在ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置:

https://segmentfault.com/a/1190000003962806

 

在安装过程中,可以遇到如下问题

  • Vim 处理BufRead自动命令时发生错误 ,E28:没有高亮群组名:BadWhitespace?

Https://www.zhihu.com/question/48957347/answer/113515412

 

  • 在Ubuntu 16.04 LTS 下用Vim 打造自己的Python IDE 问题总结

http://blog.csdn.net/jeff_liu_sky_/article/details/53955888

 

  • Python debug的概念说明

http://caimaoy.com/caimaoy_gitbook/python/python_debug.html

 

  • Python 使用pdb调试的官方文档

https://docs.python.org/2/library/pdb.html

 

  • 使用pdb调试的基本知识

方法:运行 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

  • Unix衍生系统配置vim

sudo apt-get remove vim-tiny

sudo apt-get update

sudo apt-get install vim

 

  • set nocompatible

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

 

  • :filetype off

关闭文件类型检测

 

  • 使用Vundle作为Vim的扩展管理器

    参考:https://segmentfault.com/a/1190000003962806

    在vim中安装插件::PluginInstall

     

  • 使用call调用函数

 

  • vim的配置信息

Vim把它所有的配置存在两个相当简单的地方:一个简明的~/.vimrc文件和全是纯文本文件的~/.vim目录。

Vim到处都可以运行,可以进行diff比较,社区成熟有很多插件。我愿意多花点精力如果它确实能节约我很多时间。

 

  • noremap

noremap是不会递归的映射 (大概是no recursion)

例如

noremap Y y

noremap y Y

不会出现问题

前缀代表生效范围

inoremap就只在插入(insert)模式下生效

vnoremap只在visual模式下生效

nnoremap就在nORMal模式下(狂按esc后的模式)生效

这样可以减少快捷键所用到的键位组合的个数

一个组合可以有多种用途 就不用费劲心思思考 该映射哪个没被绑定过的键了

 

  • vim配置文件中的nnoremap和inoremap有什么区别

一个是在普通模式(normal mode)下生效的映射,一个是在插入模式(insert mode)下生效。

这样可以在不同模式下使用同一个按键产生不同的效果。

 

noremap 和 map 的区别是,被映射的序列不会再被递归映射。

 

nnoremap是什么意思?——简单来说,nnoremap将一个组合快捷键映射为另一个快捷键。一开始的n,指的是在Vim的正常模式(Normal Mode)下,而不是可视模式下重新映射。基本上,nnoremap <C-J> <C-W><C-j>就是说,当我在正常模式按下<C-J>时,进行<C-W><C-j>操作

 

  • 缓冲区(Buffers)

虽然Vim支持tab操作,仍有很多人更喜欢缓冲区和分割布局。你可以把缓冲区想象成最近打开的一个文件。Vim提供了方便访问近期缓冲区的方式,只需要输入:b <buffer nameor number>,就可以切换到一个已经开启的缓冲区(此处也可使用自动补全功能)。你还可以通过ls命令查看所有的缓冲区。

 

专业贴士: 在:ls命令输出的最后,Vim会提示“敲击Enter继续查看”,这时你可以直接输入:b <buffer name>,立即选择缓冲区。这样可以省掉一个按键操作,也不必去记忆缓冲区的名字。

 

  • 安装YouCompleteMe

  1. 使用vunble安装YouCompleteMe插件

  2. 运行install下载并编译生成ycm_core

    cd ~/.vim/bundle/YouCompleteMe

    ./install.py --clang-completer  # 不需要sudo

  3. 在.vimrc中加入

" YouCompleteMe

set runtimepath+=~/.vim/bundle/YouCompleteMe

let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM 基于标签引擎

let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全

let g:syntastic_ignore_files=[".*\.py$"]

let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全

let g:ycm_complete_in_comments = 1

let g:ycm_confirm_extra_conf = 0

let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']  " 映射按键, 没有这个会拦截掉tab, 导致其他插件的tab不能用.

let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']

let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全

let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全

let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全

let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'

let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查

inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" |            " 回车即选中当前项

nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>|     " 跳转到定义处

"let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项

 

  • 颜色主题

    输入":colorscheme"即可查看当前的配色方案,默认是default

    可以通过:colorscheme 主题名字  修改主题

    主题有:blue darkblue defaultdelek desert elflord evening industry Koehler morning murphy pablo peachpuffron shine slate torte zellner

     

  • Python 虚拟环境:Virtualenv

    用来为一个应用创建一套“隔离”的Python运行环境,确保可以针对不同版本的python库进行编码

     

  • 在写Python的时候,你最喜欢用哪一款IDE?

在本机上正经写代码: PyCharm,社区版免费,专业版 $199 每年。

在本机上写几行脚本: ipython 或者 pyipython。

服务器调试的时候微调代码:vim

 



--结束END--

本文标题: 如何使用Vim编写和调试Python代码

本文链接: https://www.lsjlt.com/news/184939.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Vim编写和调试Python代码
    如何使用Vim编写和调试Python代码 要想在Ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置: https://segmentfault.com/a/1190000003962806   ...
    99+
    2023-01-31
    如何使用 代码 Vim
  • 详解如何使用Python编写vim插件
    前言 vim是个伟大的编辑器,不仅在于她特立独行的编辑方式,还在于她强大的扩展能力。然而,vim自身用于写插件的语言vimL功能有很大的局限性,实现功能复杂的插件往往力不从心,而且运行效率也不高。幸好,vi...
    99+
    2022-06-04
    如何使用 详解 插件
  • 如何使用pdb进行python代码调试
    这篇文章主要讲解了“如何使用pdb进行python代码调试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用pdb进行python代码调试”吧!pdb为python程序实现了一个交互式调...
    99+
    2023-06-27
  • 如何用Python编程在VIM中注释掉代码
    如何用Python编程在VIM中注释掉代码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。例如,要注释以下3行 Python 代码:def say_hello():&n...
    99+
    2023-06-17
  • Python编程不要再使用print调试代码了
    目录1. 快速安装2. 简单案例3. 详细使用3.1 重定向到日志文件3.2 跟踪非局部变量值3.3 设置跟踪函数的深度3.4 设置调试日志的前缀3.5 设置最大的输出长度3.6 支...
    99+
    2022-11-12
  • 如何使用VS代码调试
    小编给大家分享一下如何使用VS代码调试,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Visual Studio 2005中,给程序员提供了十分强大和便捷的VS代码...
    99+
    2023-06-17
  • 如何使用PySnooper调试代码
    本篇内容介绍了“如何使用PySnooper调试代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 快速安装执行下面这些命令进行安装 Py...
    99+
    2023-06-15
  • Linux 上的 Go 编程:如何调试和测试代码?
    Go 是一种强大的编程语言,它的出现为开发者们提供了更快,更可靠的编程体验。然而,即使是最好的编程语言也会有一些问题,因此在编写 Go 代码时,调试和测试是必不可少的。在本文中,我们将深入探讨如何在 Linux 上调试和测试 Go 代码。...
    99+
    2023-07-10
    教程 linux 关键字
  • 如何远程调试Python代码
    这是一篇小记。平时使用python写的代码对外部依赖性都不复杂,这些代码在本地调试,运行没问题之后,就可以放到生产去跑了。然而,最近的一个项目,由于使用了一些内部服务,需要连接到内部的环境进行调试。如果每次都修改代码之后,发布一次到内部环境...
    99+
    2023-01-31
    代码 Python
  • python怎么使用pdb调试代码
    小编给大家分享一下python怎么使用pdb调试代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用pdb调试代码Python有自己的内置调试器-pdb。调试器...
    99+
    2023-06-27
  • 如何在Linux上使用Python编写Numpy代码?
    在Linux上使用Python编写Numpy代码,能够让我们更加高效地处理数学计算和科学数据。Numpy是一个Python库,提供了多维数组对象和用于处理数组的函数。本文将介绍如何在Linux上使用Python编写Numpy代码,希望对初学...
    99+
    2023-10-27
    linux 教程 numpy
  • vscode如何远程调试python代码
    这篇文章主要介绍了vscode如何远程调试python代码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vscode如何远程调试python代码文章都会有所收获,下面我们一起来看看吧。环境配置配置 python...
    99+
    2023-07-06
  • 使用traceview和dmtracedump调试Android代码
     使用traceview和dmtracedump调试Android代码   ✿Android 程序调试工具   Google为我们提供的代码调试工具的...
    99+
    2022-06-06
    Android
  • 如何快速编写Python代码
    本篇内容主要讲解“如何快速编写Python代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速编写Python代码”吧!1."二维列表"...
    99+
    2022-10-19
  • VScode如何运行和调试代码
    本文小编为大家详细介绍“VScode如何运行和调试代码”,内容详细,步骤清晰,细节处理妥当,希望这篇“VScode如何运行和调试代码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。运行环境:VSCode 1.68....
    99+
    2023-07-04
  • 如何进行Python代码的编写
    这篇文章将为大家详细讲解有关如何进行Python代码的编写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python 调用在日常工作中还是非常实用的,只需要Python函数就可以了,如果对P...
    99+
    2023-06-17
  • c++求和代码如何编写
    以下是一个简单的C++代码示例,用于计算从1到n的所有整数的和: #include int main() { int n...
    99+
    2023-10-26
    c++
  • C#开发中如何编写可测试的代码
    C#开发中如何编写可测试的代码简介:随着软件开发的不断发展,测试驱动开发(TDD)以及单元测试已经成为每个开发人员的必备技能。编写可测试的代码是确保代码质量和可维护性的关键。本文将介绍在C#开发中编写可测试代码的一些技巧和最佳实践,同时附上...
    99+
    2023-10-22
    单元测试 测试驱动开发(TDD) Mock对象
  • 调试JavaScript代码如何打印调用堆栈
    小编给大家分享一下调试JavaScript代码如何打印调用堆栈,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!打印调用堆栈可以通过调试面板查看当前代码的调用堆栈,也...
    99+
    2023-06-27
  • PHP如何搭配环境和调试代码
    这篇文章主要介绍了PHP如何搭配环境和调试代码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、第一讲 php环境的搭配和代码调试1、Php...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作