常用编辑器_IDE实用技巧(pycharm、sublimeText、vim、vscode、Jupyter、iTerms2)
pycharm
1,关于tab键与4个空格:
由于不同平台间,tab键值设置有所区别,据相关介绍,官方在缩进方面推荐使用4个空格。方便起见,可设置tab自动转换为4个空格。
- 1.1在pycharm中:
通过file-->settings-->editor-->code style-->python中进行设置
table size :4
indent:4
continuation indent:8
2,pycharm 设置新建文件自动填充内容:
File-->settings-->editor-->File and code templates 根据具体需要,添加/更改自动填充内容
- File-->settings-->editor-->File and code templates Python Script
- 配置举例
-
#!/usr/bin/env python
#-*- coding:utf-8 -*-
-
- 配置举例
- File-->settings-->editor-->File and code templates HTML File
- 配置举例
-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Title</title>
</head>
<body>
</body>
</html>
-
- 配置举例
3,关于pycharm侧边栏的显示
如果要pycharm在侧边栏中,显示文件中包含的类、函数等信息,在侧边栏的设置选项中,点击激活 “show members”
4,新建process设置问题
当pycharm出现新建项目后,在左侧的项目栏中不显示项目目录时,File-->settings-->project stucture--> 在sources中,通过add content root 添加项目所在的路径,并设置为 Sourses即能显示。
5,pycharm中起多进程的问题
在pycharm中,如果是 2018.3之后版本 想同时运行同一个程序(启用多进程)的时候,会报出 not allowed to run in parallel 的提示,并且不能开启。解决方法,Run -> Edit Configurations -> Allow parallel run
6,关于pycharm激活
关于pycharm证书有效期,常见的激活方式,有邮箱激活、激活码激活、破解插件以及自搭建服务器等
其中,破解插件激活后,由于官方资源网站访问限制,所以,升级插件需要使用更换镜像网站。常用的有清华的镜像网站,阿里镜像网站等。需要注意的是,如果不更换的话,在settings中,查看插件列表时,会直接出现load list error异常,需要在settings->Project Interpreter->AvailablePackages->Manage Repositories中,将默认的官方资源网站更换为,国内镜像。
另外,如果利用cmd等终端,使用pip进行插件安装或更新出现time out等异常时,也可以进行尝试更换资源为镜像网站。具体的,widows系统中,在电脑->user(用户)->Administrator->新建pip目录(文件夹)->新建pip.ini文件,录入如下内容,完成设置
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
7,pycharm使用期间常见异常
- ubuntu pycharm 中报异常,ModuleNotFoundError:No module named 'distutils.core'
- 异常解读
- 解决方式: python2 版本,执行sudo apt-get install python-pip python3版本,执行sudo apt-get install python3-pip
- pycharm或pip出现time out 异常
- 异常解读:官网资源限制
- 解决方式:资源网站更换为镜像网站。
-
Exception in thread "main" java.lang.ClassNotFoundException: org.sqlite.JDBC
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at com.intellij.database.remote.RemoteJdbcServer.main(RemoteJdbcServer.java:14).- 异常解读:
- 解决方法:进入添加sqlite的界面,在左下角download所需插件
sublime
下载地址:http://www.sublimetext.cn/ http://www.sublimetext.com/
简介:
- 轻量级编译器
- 界面与基本使用
- 编写代码之后,ctrl+s进行文件保存
- 修改当前文件的编辑类型
- 在sublime右下角点击文件类型,选择合适的文件类型进行编辑。常见的新建文件之后,如果没有选择对应的文件类型,则安装的插件不能正常使用,例如在编辑html文档时,不将编辑类型修改为html则自动补全等功能不能正常使用。
- sublimetext有强大的插件支持
- 准备
- 从Tools中,找到package Control并安装上
- 在preference中找到安装好的package Control并打开,选择需要安装的插件
- 在下拉菜单中,选择需要的操作类型,常用的插件操作选项有
-
1 list packages 查看已经安装的插件 2 install packages 安装插件 3 remove packages 移除插件
-
- 插件内容支持文档 https://packagecontrol.io
- 常用插件
-
1 ChineseLocalization , 完全汉化插件 2 Monokai Extended 主题,推荐使用 3 HTML5,HTML5标签拓展 4 JsFormat,javascript格式化 5 CSS Format,CSS格式化 6 Tag,HTML格式化 7 Brackethighlighter,标签对标记 8 SideBarEnhancements ,增强型侧边栏 9 BufferScroll,代码折叠状态保留 10 StyleToken , 标记颜色代码功能: 11 Emmet,前端神器 12 TortoiseSVN,SVN你懂的 13 QuoteHTML,把HTML拼接成js插入字符串,神器 14 Clipboard Manager,增强型剪贴板,可访问历史剪贴板记录 15 FileHeader,文件模板 , 可自动更新修改时间 16 AutoPrefixer,浏览器私有属性前缀补全 (Node.js依赖) 17 ColorConvert,RGBA颜色转换,十六进制颜色转换为RGBA颜色 18 Better Completion,全能代码提示 19 LiveStyle,双向更改无刷新实时预览 , 包含chrome插件 Emmet LiveStyle 20 SFTP , 需要激活 ,看这里 Sublime Text SVN/SFTP 插件序列号通过微信自动获取 21 *jQuery,jQuery 代码提示(Better Completion 已可替代此插件) 22 *Sass以及SASS Build,使用Sass必备,ctrl+b执行编译 23 *yui compressor,JS和CSS压缩 (JRE依赖),ctrl+b执行编译推荐使用面向未来的前端自动化工具(相对成熟的Grunt,以及后起之秀 Gulp ,还有百度 FIE),以上两个星标插件都可被自动化工具所取代。Gulp教程移步这里:Gulp 自动化你的前端 24 其他: 25 ConvertToUTF8,GBK编码兼容 26 IMESupport,输入法不跟随时安装 27 TrailingSpaces,多余空格标记,强迫症患者福音 28 Hasher,符号转义,ctrl+shift+p 选择 Entity Encode 29 PackageResourceViewer,插件修改必备,ctrl+shift+p 调用 Open Resource
-
- 常用的快捷操作
-
1 选择类 2 3 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。 4 5 Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。 6 7 Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。 8 9 Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。 10 11 Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。 12 13 Ctrl+M 光标移动至括号内结束或开始的位置。 14 15 Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。 16 17 Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。 18 19 Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。 20 21 Ctrl+Shift+] 选中代码,按下快捷键,展开代码。 22 23 Ctrl+K+0 展开所有折叠代码。 24 25 Ctrl+← 向左单位性地移动光标,快速移动光标。 26 27 Ctrl+→ 向右单位性地移动光标,快速移动光标。 28 29 shift+↑ 向上选中多行。 30 31 shift+↓ 向下选中多行。 32 33 Shift+← 向左选中文本。 34 35 Shift+→ 向右选中文本。 36 37 Ctrl+Shift+← 向左单位性地选中文本。 38 39 Ctrl+Shift+→ 向右单位性地选中文本。 40 41 Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。 42 43 Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。 44 45 Ctrl+Alt+↑ 向上添加多行光标,可同时编辑多行。 46 47 Ctrl+Alt+↓ 向下添加多行光标,可同时编辑多行。 48 49 编辑类 50 51 Ctrl+J 合并选中的多行代码为一行。举个栗子:将多行格式的CSS属性合并为一行。 52 53 Ctrl+Shift+D 复制光标所在整行,插入到下一行。 54 55 Tab 向右缩进。 56 57 Shift+Tab 向左缩进。 58 59 Ctrl+K+K 从光标处开始删除代码至行尾。 60 61 Ctrl+Shift+K 删除整行。 62 63 Ctrl+/ 注释单行。 64 65 Ctrl+Shift+/ 注释多行。 66 67 Ctrl+K+U 转换大写。 68 69 Ctrl+K+L 转换小写。 70 71 Ctrl+Z 撤销。 72 73 Ctrl+Y 恢复撤销。 74 75 Ctrl+U 软撤销,感觉和 Gtrl+Z 一样。 76 77 Ctrl+F2 设置书签 78 79 Ctrl+T 左右字母互换。 80 81 F6 单词检测拼写 82 83 搜索类 84 85 Ctrl+F 打开底部搜索框,查找关键字。 86 87 Ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找,略高端,未研究。 88 89 Ctrl+P 打开搜索框。举个栗子:1、输入当前项目中的文件名,快速搜索文件,2、输入@和关键字,查找文件中函数名,3、输入:和数字,跳转到文件中该行代码,4、输入#和关键字,查找变量名。 90 91 Ctrl+G 打开搜索框,自动带:,输入数字跳转到该行代码。举个栗子:在页面代码比较长的文件中快速定位。 92 93 Ctrl+R 打开搜索框,自动带@,输入关键字,查找文件中的函数名。举个栗子:在函数较多的页面快速查找某个函数。 94 95 Ctrl+: 打开搜索框,自动带#,输入关键字,查找文件中的变量名、属性名等。 96 97 Ctrl+Shift+P 打开命令框。场景栗子:打开命名框,输入关键字,调用sublime text或插件的功能,例如使用package安装插件。 98 99 Esc 退出光标多行选择,退出搜索框,命令框等。 100 101 显示类 102 103 Ctrl+Tab 按文件浏览过的顺序,切换当前窗口的标签页。 104 105 Ctrl+PageDown 向左切换当前窗口的标签页。 106 107 Ctrl+PageUp 向右切换当前窗口的标签页。 108 109 Alt+Shift+1 窗口分屏,恢复默认1屏(非小键盘的数字) 110 111 Alt+Shift+2 左右分屏-2列 112 113 Alt+Shift+3 左右分屏-3列 114 115 Alt+Shift+4 左右分屏-4列 116 117 Alt+Shift+5 等分4屏 118 119 Alt+Shift+8 垂直分屏-2屏 120 121 Alt+Shift+9 垂直分屏-3屏 122 123 Ctrl+K+B 开启/关闭侧边栏。 124 125 F11 全屏模式 126 127 Shift+F11 免打扰模式
-
-
常见异常及解决
-
emmet失效
-
1 汉化插件和emmet有冲突,使用emmet时需要将汉化插件chineseLocalizations卸载掉
-
2 保证pyv8已经下载
-
3 在view标签下的syntax,选择html
-
-
插件下载异常
- 提示信息
- Sublime Text Error while loading PyV8 binary:exit code 1 Try to manually install Pyv8 formhttps://github.com/emetio/pyv8-binaries
- 解决方案
- 去gihub下载 PyV8,连接地址:https://github.com/emmetio/pyv8-binaries#readme
-
a.windows系统:解压文件至Packages\PyV8文件夹内(通过菜单中的,找到对应的插件管理文件Preferences – Browser Packages),重启解决。
-
b.linux/ubuntu,找到相应的路径,根据我在unbuntu14.04下面,解决如下:
-
(1)在当前用户中使用命令:ll
-
(2)你会发现一个.config的隐藏文件夹
-
(3)然后依次进去找到sublime_text
-
(4)Packages创建PyV8文件夹,把刚才下载的文件解压进去,重启解决。
-
- 提示信息
-
- 准备
vim
- vim属于文本编辑器,没有排版功能,是全屏幕文本编辑器,没有菜单,只有命令。可以执行输出、删除、查找、替换、快操作等众多文本操作。
- vim基本模式
- 默认进入的是命令模式。进入其他模式,都需要从命令模式中进入。其他模式回到命令模式,直接“ESC”即可。从命令模式到插入模式,“a,i,o”;从命令模式到末行模式,“:”;从命令模式到替换模式,‘R’。
- 命令模式,在此模式下,用户可以输入命令进行文件存盘、移动光标、删除字符、撤销命令和重复命令等操作,还可以设置vim的编辑环境。此模式下不能进行编辑。
- 光标操作
- 移动 : h j k l,左下上右
- 行开头:home
- 行末尾:end
- 光标移动到文件末尾:G
- 光标移动到文件开头:gg
- 移动一个单词:w
- 保存退出:ZZ
- 粘贴复制
- 复制一行yy,复制n行nyy
- 粘贴p,P
- 删除
- 删除字符x向后删除,X向前删除
- 删除一行,dd ,ndd
- 删除一个单词 dw
- 撤销操作
- 撤销上一步操作 u
- 查找
- 一般字符,/ 查找的内容,如果内容中有特殊字符,需要进行转义。
- 光标操作
- 插入模式,编辑模式在插入模式下也可以删除字符,插入字符。
- a,当前光标字节之后插入,A在当前行的最后插入
- i,当前光标字节之前插入,I在当前行的最前面插入
- o,当前行末尾再起一行插入,O在当前行之前新起一行插入
- 末行模式,可以进行保存文件、退出vim、进行查找和替换等操作
- 退出操作:
- 非保存退出 : q
- 保存不退出:w
- 保存退出:wq
- 强制退出不保存:q!
- 替换操作
- :s/old/new/ 只替换光标所在行的第一个old
- :s/old/new/g 替换光标所在行的所有old
- :%s/old/new/ 替换全文中每一行的第一个的old为new
- :%s/old/new/g 替换全文中的所有old为new
- :1,3s/old/new/g 替换1到3行所在行的所有old
- :.,3s/old/new/g 替换光标所在行到第三行的所有old,‘ . ’代表光标所在行号
- :3,s/old/new/g 替换3行到最后行的所有old
- 其他操作
- set nu 显示行号
- set nonu 取消行号显示
- :!command 在vim编辑器中执行一条命令,但不退出当前编辑。
- :!ls 目录 :查看指定目录下的文件与子目录,按指定操作能返回编辑文件
- 退出操作:
- 替换模式,在此模式下可以进行替换字符操作
- 多文件编辑
- 配置文件
- viminfo 存储vim的历史编辑命令
- vimrc 个人定制文件
vscode
网上内容介绍比较详细了,参见,
- vscode的常用设置,从file>>>preferences>>>settings中找到Edit in settings.json 进入文件之后,录入如下内容,进行一般化设置
-
1 { 2 "liveServer.settings.donotShowInfoMsg": true, 3 "editor.codeActionsOnSave": {}, 4 5 "files.associations": { 6 "*.vue": "vue", 7 "*.wpy": "vue", 8 "*.wxml": "html", 9 "*.wxss": "css" 10 }, 11 "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe", 12 "git.enableSmartCommit": true, 13 "git.autofetch": true, 14 // Tab键自动补全 15 "emmet.triggerExpansionOnTab": true, 16 "emmet.showAbbreviationSuggestions": true, 17 "emmet.showExpandedAbbreviation": "always", 18 "emmet.includeLanguages": { 19 "vue-html": "html", 20 "vue": "html", 21 "wpy": "html", 22 "javascript":"html" 23 }, 24 //主题颜色 25 //"workbench.colorTheme": "Monokai", 26 "git.confirmSync": false, 27 "explorer.confirmDelete": false, 28 "editor.fontSize": 14, 29 "window.zoomLevel": 1, 30 "editor.wordWrap": "on", 31 "editor.detectIndentation": false, 32 // 重新设定tabsize 33 "editor.tabSize": 2, 34 //失去焦点后自动保存 35 "files.autoSave": "onFocusChange", 36 // #值设置为true时,每次保存的时候自动格式化; 37 "editor.formatOnSave": false, 38 //每120行就显示一条线 39 "editor.rulers": [ 40 ], 41 // 在使用搜索功能时,将这些文件夹/文件排除在外 42 "search.exclude": { 43 "**/node_modules": true, 44 "**/bower_components": true, 45 "**/target": true, 46 "**/logs": true, 47 }, 48 // 这些文件将不会显示在工作空间中 49 "files.exclude": { 50 "**/.git": true, 51 "**/.svn": true, 52 "**/.hg": true, 53 "**/CVS": true, 54 "**/.DS_Store": true, 55 "**/*.js": { 56 "when": "$(basename).ts" //ts编译后生成的js文件将不会显示在工作空中 57 }, 58 "**/node_modules": true 59 }, 60 // #让vue中的js按"prettier"格式进行格式化 61 "vetur.format.defaultFormatter.html": "js-beautify-html", 62 "vetur.format.defaultFormatter.js": "prettier", 63 "vetur.format.defaultFormatterOptions": { 64 "js-beautify-html": { 65 // #vue组件中html代码格式化样式 66 "wrap_attributes": "force-aligned", //也可以设置为“auto”,效果会不一样 67 "wrap_line_length": 200, 68 "end_with_newline": false, 69 "semi": false, 70 "singleQuote": true 71 }, 72 "prettier": { 73 "semi": false, 74 "singleQuote": true 75 } 76 } 77 78 }
-
- vscode常用插件
- 汉化插件,chinese(simple) language for visual code
- 语言插件,例如,支持vue的插件、futter的插件,支持go的插件,
anaconda&Jupyter
Jupyter Notebook是当前一种十分流行的基于网页的开发环境,本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。
- anaconda是包含了多个数据分析、机器学习的集成环境
- 官网,https://www.anaconda.com/
- 下载地址,https://repo.anaconda.com/archive/
- 安装步骤,参考,https://zhuanlan.zhihu.com/p/108506007
- 常见安装异常:
- anaconda安装完成后,运行时可能会出现卡在installing Applications ……这种情况,可能是由于引用的vscode升级地址有误导致的。从应用文件中,找到/Applications/anaconda3/bin/anaconda-navigator,手动点击执行以下。如果时报错类似于,“versions=[vsdata.get('productVersion')],AttributeError: 'str' object has no attribute 'get'”,可确认是上面描述的问题。按提示,到
/Applications/anaconda3/lib/python3.7/site-packages/anaconda_navigator/api/anaconda_api.py中修改一下获取VSCODE_ENDPIOINT的地址信息。具体修改如下
-
VSCODE_ENDPOINT = ( # 'https://vscode-update.azurewebsites.net/api/update' 'https://update.code.visualstudio.com/api/update' '/{}/stable/version'.format(VSCODE_SUBDIR) )
-
Mac电脑conda打开终端报:anaconda/navigator/a.tool: line 1: syntax error near unexpected token `(‘ ………………
-
这个错误原因是因为Mac环境是zsh,需要切换成bash环境。关掉终端,从新打开一个命令终端,输入chsh -s /bin/bash,
-
重新运行anaconda下的命令即可。
-
-
- anaconda安装完成后,运行时可能会出现卡在installing Applications ……这种情况,可能是由于引用的vscode升级地址有误导致的。从应用文件中,找到/Applications/anaconda3/bin/anaconda-navigator,手动点击执行以下。如果时报错类似于,“versions=[vsdata.get('productVersion')],AttributeError: 'str' object has no attribute 'get'”,可确认是上面描述的问题。按提示,到
- jupyter是anaconda提供的一个基于浏览器的可视化开发工具。
- jupyter基本使用
- 终端执行 jupyter notebook,使用默认浏览器,打开jupyter编辑器
- 浏览器中,到目录文件夹下,新建python源文件,就可以进行编辑执行。
- cell,是最小的编辑单位。有两个主要模式
- code模式,是编写程序逻辑
- markdown模式,是添加对应的笔记内容
- cell常用操作快捷键
- a,b添加cell
- 删除cell ,x
- cell模式修改,
- m转化为markdown模式
- y转化为code模式
- 添加自动补全与代码提示
- 以bash运行anaconda-navigator,
- 依次执行,
- pip install jupyter_contrib_nbextensions
- jupyter contrib nbextension install
- pip install jupyter_nbextensions_configurator
- jupyter nbextensions_configurator enable
- 启动jupyter notebook后,再浏览器编辑器中,打开Nbextensions,开启Hinterland
-
iTerms2是macbook中常用的终端
- 使用perferences可方便地定义基本的属性信息,包括字体、背景等
- 使用ssh连接ubunt、linux等出现长时间不操作直接断开链接。可以通过配置/etc/ssh/ssh_config文件内容
-
# 断开时重试连接的次数 ServerAliveCountMax 5 # 每隔5秒自动发送一个空的请求以保持连接 ServerAliveInterval 5
-
……………… ClientAliveInterval:指定服务器向客户端检测是否活动状态的间隔时间,默认为0,将它修改为60,就是每60秒检测一次。 ClientAliveCountMax:指定服务器向客户端检测无响应最大次数,达到次数断开连接,默认为3,可将该参数改为5。
-