常用编辑器_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 移除插件
          View Code

           

    • 插件内容支持文档  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
        View Code

         

    • 常用的快捷操作
      •   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 免打扰模式
        View Code
    • 常见异常及解决

      • 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 }
      View Code
  • 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下的命令即可。

      •   

          
  • 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
      客户端/etc/ssh/ssh_config

       

    • ………………
      
      ClientAliveInterval:指定服务器向客户端检测是否活动状态的间隔时间,默认为0,将它修改为60,就是每60秒检测一次。
      
      ClientAliveCountMax:指定服务器向客户端检测无响应最大次数,达到次数断开连接,默认为3,可将该参数改为5。
      服务器端/etc/ssh/ssh_config

       

        

 

posted @ 2018-09-23 17:29  林山风火  阅读(863)  评论(0编辑  收藏  举报