python】【Python基础】vim文件怎么安装系统

2020-11-11 09:45发布

4条回答
爱梦 - 拿来吧你
2楼 · 2020-11-11 09:54

首先我们需要通过使用命令“Vim 文件名.py ”进入Vim编辑器,例如vim first.py。通常情况下vim直接编辑一个文件,如果这个文件是已经存在的,那么它就会打开这个文件;如果这个文件是不存在的,那么它就会去新建一个文件。

通过vim first.py进入到vim编辑器后,我们会看到左下角有个黄色方块。这个黄色方块的标志是意味着我们现在处于命令模式。在命令行模式下我们是无法编辑文件内容的。

要想编写文件内容,我们得进入插入模式,那么如何进入插入模式呢。按键盘字母A进入插入模式。当我们看下底部出现蓝色方块标志就证明我们进入了插入模式。

当我们编辑完想要退出插入模式的时候怎么办呢,只需按ESC即可退出插入模式。此外我们还可以在命令模式下按“Shift+:”进入末行模式。

在末行模式下,可以输入字母‘q’强制退出vim编辑器。还可以通过输入‘wq’保存文件并退出vim编辑器。如果我们不想保存这个文件可以输入‘q!’退出编辑器。(注:这些都必须在英文输入法的情况下输入的)

在末行模式下我们输入‘wq’保存的时候会出现一个编写格式校准的提示,这个主要用于规范代码书写格式,不会影响代码的运行。所以大家可以忽略,但是如果对自己代码书写要求比较高的可以按照提示去修改。

在命令模式下,我们可以通过按字母‘yy’进行复制,把自己想要复制的语句选中,然后按yy进行复制。按字母‘p’可以将复制好的内容粘贴到对应的位置。

我们将这些文件内容保存好之后,要怎么去运行它呢。很简单,只需要在Linux系统下输入python3 first.py ,然后按回车既可以运行。

魏魏姐
3楼 · 2020-11-11 10:16

首先我们需要知道Linux分为很多种类,有德班,乌班图,redhat ,在亚太地区以Redhat为主,每种版本的命令各有不同。

安装包又分为二进制包和源码包,其中二进制包安装速度最快,可直接执行不用编译,源码包不能直接执行,需要编译,可对源码包进行修改,源码包依赖性强。

二进制包下载方式:cd /etc/yum.repeat/ yum intstall -y vim

源码包也就是rpm包,需要先挂载磁盘 然姐进入package目录使用命令: rpm -ivh vim


我是大脸猫
4楼 · 2020-11-13 14:01

Vim

详细Vim快捷键大全

Vim的配置以spf-13为例子

项目地址: https://github.com/spf13/spf13-vim

Vim的安装

  • Linux, *nix, Mac OSX Installation

The easiest way to install spf13-vim is to use our automatic installer by simply copying and pasting the following line into a terminal. This will install spf13-vim and backup your existing vim configuration. If you are upgrading from a prior version (before 3.0) this is also the recommended installation.

Requires Git 1.7+ and Vim 7.3+

curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh1

If you have a bash-compatible shell you can run the script directly:

sh <(curl https://j.mp/spf13-vim3 -L)1

此过程会比较长,包括插件的下载还有安装,这个过程将近1个多小时

  • Installing on Windows

On Windows and *nix Git and Curl are required. Also, if you haven’t done so already, you’ll need to install Vim. The quickest option to install all three dependencies (Git, Curl, Vim and spf13-vim) is via Chocolatey NuGet. After installing Chocolatey, execute the following commands on the command prompt:

Install with cmd.exe(run as admin mode)

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"1
C:\> choco install spf13-vim1

一直Y,整个过程大概2h左右

Vim插件的介绍

  • #### Vundle(The best plugin manager)

Vundle is an excellent system built on the same principles as Pathogen, but with an integrated plugin management system that is Git and Github aware.

spf13-vim uses the Vundle plugin management system to have a well organized vim directory (Similar to mac’s app folders). Vundle also ensures that the latest versions of your plugins are installed and makes it easy to keep them up to date.

  • #### NERDTree(file navigation)

NERDTree is a file explorer plugin that provides “project drawer” functionality to your vim editing. You can learn more about it with :help NERDTree or checkout my post on NERDTree.

Use Ctrl+e to toggle NERDTree

  • #### ctrlp(fast file finder)

Ctrlp replaces the Command-T plugin with a 100% viml plugin. It provides an intuitive and fast mechanism to load files from the file system (with regex and fuzzy find), from open buffers, and from recently used files.

Use Ctrl+p to toggle Ctrlp

  • #### neocomplcache(autocomplete++)

NeoComplCache is an amazing autocomplete plugin with additional support for snippets. It can complete simulatiously from the dictionary, buffer, omnicomplete and snippets. This is the one true plugin that brings Vim autocomplete on par with the best editors.

Use Ctrl+n to toggle neocomplcache

  • #### Tagbar(tag generation and navigation)

spf13-vim includes the Tagbar plugin. This plugin requires exuberant-ctags and will automatically generate tags for your open files. It also provides a panel to navigate easily via tags

Use ,tt to toggle neocomplcache

关于在Mac端ctags无效的解决方法

https://brew.sh/

https://github.com/universal-ctags/ctags

https://github.com/universal-ctags/homebrew-universal-ctags


在Windows端,如果想切换到别的盘符进行操作的话,使用

:NERDTree D:\\

进行目录的跳转


Preview: To preview markdown format you need to install bluecloth gem

在使用previewMarkdown的时候出现了
Preview: To preview markdown format you need to install bluecloth gem

解决方法:

  • sudo gem install redcarpet

  • sudo gem install bluecloth

Linux出现的问题

can’t find header files for ruby at /usr/lib/ruby/include/ruby.h

解决方法:sudo apt-get install ruby-dev

提示找不到tag文件

用法:    1.生成标签文件(cmd到项目的目录中执行)
        在当前目录下(运行$提示符后面的命令): 
        $ctags -R .
      -R表示recursive,递归,为当前目录及其子目录中的c文件生成标签文件。最后一个.表示在当前目录。
        运行完当前目录会多一个文件tags,就是c标签的索引文件。    2.跳转        1)用vim打开一个已经建过标签的c文件    
        2)ctrl+] 找到光标所在位置的标签定义的地方        3)ctrl+t 回到跳转之前的标签处    3.窗口显示方法
         命令Tagbar toggle打开相应的方法窗口显示
    注意:此时运行vim,必须在"tags"文件所在的目录下运行。否则,运行它会找不到"tags"文件,而需要在vim中用":set tags="命令设定"tags"文件的路径。对于一个稍微大点的项目,你可能在任何一个目录下打开vim,然而在每个目录下都生成一个tags文件并不 是个好主意,那么如何解决呢?方法是在.vimrc中增加一行:
        set tags=tags;/
    这是告诉vim在当前目录找不到tags文件时请到上层目录查找。123456789101112131415

窗口切换快捷键

Ctrl+w+w

关闭分屏

关闭当前窗口。
Ctrl+W c
关闭当前窗口,如果只剩最后一个了,则退出Vim。
Ctrl+W q1234

打开多个窗口了之后,怎么快速切换

:buffers 列表 :bn下一个 :bp 上一个 :b17

取消查找遗留的边框

set: nohlseach1

VIM编辑多行

vim进了多行编辑模式:之后按CTRL+V进入visual block模式(列编辑)。光标移到某行行首,进入visual block模式,上下键选择行,按I(i的大写字母),输入##,然后按键,这样就在多行行首添加##了。也可以在多行的固定位置添加固定字符。

如果要删除这些##,进入visual block模式,选中这些##,按d即可。123

全局搜索Ack

按键 | 功能|
|:—:|:—:|
| ? | 显示键盘映射 |
| o | 打开文件 |
|O | 打开文件关闭QuickFix窗口 |
| go | 预览文件,但焦点留在ack搜索结果上|
|t | 在新标签页打开文件 |
| T | 在新标签页打开但不切换到那个标签页 |
| h | 分屏打开 |
| H | 分屏打开,但焦点停留在ack搜索结果上 |
| v | 竖直分屏打开 |
|gv|竖直分屏打开,但焦点停留在ack搜索结果上|
|q|关闭QuickFix窗口|

windows

在Windows下安装它们可以使用Chocolatey,安装方法如下:首先以管理员权限打开cmd窗口,然后运行下列命令,首先以管理员权限打开cmd窗口(管理员那个终端才有效),然后运行下列命令

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"1

安装完了之后

choco install ack 1

Mac

brew install ack1

如果出现一下乱码

'perl' 不是内部或外部命令,也不是可运行的程序1

下载安装ActivePerl,配置环境变量即可解决此问题。
下载地址

SpaceVim

该配色使用的是gruvbox

如果想更换成此主题
- 在vimrc文件中增加

 "gruvbox主题"Plugin 'morhetz/gruvbox'set bg=dark
colorscheme gruvbox12345

然后全局搜索let g:airline_theme,改成如下颜色防止颜色不协调

  let g:airline_theme = 'dark'1

终端运行
PluginInstall完成之后,重启就可以了

怎么打开最进打开过的文件

启动Vim的时候Ctrl+o即可

标记

使用标记可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退 和 前进 。

m{a-z}: 标记光标所在位置,局部标记,只用于当前文件。

m{A-Z}: 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效。

`{a-z}: 移动到标记位置。

‘{a-z}: 移动到标记行的行首。

`{0-9}:回到上[2-10]次关闭vim时最后离开的位置。

`: 移动到上次编辑的位置。”也可以,不过`精确到列,而”精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i。

`”: 移动到上次离开的地方。

`.: 移动到最后改动的地方。

:marks 显示所有标记。

:delmarks a b – 删除标记a和b。

:delmarks a-c – 删除标记a、b和c。

:delmarks a c-f – 删除标记a、c、d、e、f。

:delmarks! – 删除当前缓冲区的所有标记。

:help mark-motions 查看更多关于mark的知识。

Linux版本中粘贴系统剪切板内容失败

- 首先,查看vim版本是否支持clipboard

vim --version | grep "clipboard"1

clipboard前面有一个小小的减号,说明不支持。

如果不支持的话,需要安装图形化界面的vim,或者重新编译vim
sudo apt-get install vim-gnome1

安装完成后再次执行:

vim --version | grep "clipboard"1

发现已经支持clipboard

那么我们的目的是要复制到系统剪切板则需要选中内容后输入命令:”+y

粘贴到特定的寄存器也是同理。例如”+p将系统剪切板的内容拷贝到vim中(非编辑模式下)。

快速跳转插件Easymotion

vim-easymotion

配置如下:

let g:EasyMotion_smartcase = 1
"let g:EasyMotion_startofline = 0 " keep cursor colum when JK motion
map (easymotion-linebackward)
map (easymotion-j)
map (easymotion-k)
map (easymotion-lineforward)
" 重复上一次操作, 类似repeat插件, 很强大
map (easymotion-repeat)12345678
  • 用法1: 跳转到当前光标前后的位置(w/b)

  • 用法2: 搜索跳转(s)

  • 用法3: 行级跳转(jk)

  • 用法4: 行内跳转(hl)

  • 用法5: 重复上一次动作(.)

建议

1.还可以f和t, 不过建议简单化, 一个w/b走天下.

2.如果你不经常使用s, 可以将s改键, nmap s (easymotion-s), 这样你只需要输入s就可以进行搜索快速跳转(强迫症表示不能忍….)
具体做法见官方文档

3.默认作为这个插件的快捷键其实挺好的, 貌似没有其他插件会导致冲突, 还可以配置一整套, 强迫症很满意

4.可以配置2/n个字符的搜索跳转, 更精准, 按需自取(个人觉得太复杂了没必要) 文档和文档

5.这个插件专心做好跳转就好, 没必要把搜索的活给做了

Vim窗口切换

鼠标在各个窗口间循环移动:
ctrl+w+(小写的 hjkl), “非线性”的跳转的: ctrl_w+t(top : 左上角, +b: bottom, 右下角), p: preview: 上一个子窗口.
set mouse=a 所有all 的状态下都可以使用 鼠标..

窗口本身的位值的移动:
ctrl_w + r: 窗口本身, 不是鼠标指针顺时针 (向下, 向右 移动), R : 则是逆时针反方向(向上, 向左)移动.
ctrl_w+x: 左右上下对应位置的窗口 对调. 要注意窗口必须是 对应的, 如果不对应将无法对换, 比如左边一个大窗口, 右边有两个小的 子窗口, 则左右不能互换.

窗口本身 的位置移动, 而且大小也发生”最大化”变化
Ctrl_w+ HJKL( 注意是大写的字母 H, J, K, L , 表示要按shift才能实现的)… 要注意, 可以通过 windows 窗口 “贴边” 最大化来理解, H和 L 就是 向左或向右 最大化贴边 显示; 而 JK 则是 向上 或 向下 贴边 最大化显示. 最大化后 就不能 再次操作复原窗口了, 其实也没有必要

调整窗口的水平/垂直尺寸?
用ctrl+ w 结合 >, <调整水平尺寸, 用+ - 调整垂直尺寸, 这个是微调. 也可以用纯粹的命令用 :resize +/- n, 或者 vertical resize +/- n (支持命令简写, 但是要能够使命令被唯一确定才行. 通常要用5,10,15, 20的大小间隔来调…太小了没有意义)

除了这些调整/ 遍历鼠标的方法, 还有一个关闭子窗口的问题. 关闭的方式, 除了命令外, 还有窗口关闭 的方式: 用ctrl+w + q(quit), c(close), o(other)等.

VIM注释插件nerdcommenter

nerdcommenter

使用:  
1、 \cc 注释当前行和选中行  
2、 \cn 没有发现和\cc有区别  
3、 \c<空格> 如果被选区域有部分被注释,则对被选区域执行取消注释操作,其它情况执行反转注释操作  
4、 \cm 对被选区域用一对注释符进行注释,前面的注释对每一行都会添加注释  
5、 \ci 执行反转注释操作,选中区域注释部分取消注释,非注释部分添加注释  
6、 \cs 添加性感的注释,代码开头介绍部分通常使用该注释  
7、 \cy 添加注释,并复制被添加注释的部分  
8、 \c$ 注释当前光标到改行结尾的内容  
9、 \cA 跳转到该行结尾添加注释,并进入编辑模式  
10、\ca 转换注释的方式,比如: /**/和//  
11、\cl \cb 左对齐和左右对其,左右对其主要针对/**/  
12、\cu 取消注释  12345678910111213

It requires Vim 7.3.885 or later with Lua support (“+lua”)

方案一:

brew install vim --with-lua方案二:

brew uninstall vim
brew install luajit
brew install vim --with-luajit


哗啦啦的花花
5楼 · 2020-12-04 15:04

首先我们需要知道Linux分为很多种类,有德班,乌班图,redhat ,在亚太地区以Redhat为主,每种版本的命令各有不同。

安装包又分为二进制包和源码包,其中二进制包安装速度最快,可直接执行不用编译,源码包不能直接执行,需要编译,可对源码包进行修改,源码包依赖性强。

二进制包下载方式:cd /etc/yum.repeat/ yum intstall -y vim

源码包也就是rpm包,需要先挂载磁盘 然姐进入package目录使用命令: rpm -ivh vim


相关问题推荐

  • 回答 1

    可以试下在cmd命令行执行,编辑器中对turtle的支持度不是很好。

  • 回答 6

    人工智能是一门起步晚却发展快速的科学。20 世纪以来科学工作者们不断寻求着赋予机器人类智慧的方法。现代人工智能这一概念是从英国科学家图灵的寻求智能机发展而来,直到1937年图灵发表的论文《理想自动机》给人工智能下了严格的数学定义,现实世界中实际要...

  • 回答 7

    代理ip网址http://www.goubanjia.com/http://www.ip181.com/https://www.kuaidaili.com/python 环境安装requests库安装bs4库proxies设置代理服务器地址proxies = {&#39;http&#39;:  &#39;http://61.155.164.110:3128&#39;}http://www.goub......

  • 回答 2

    要求:用户正确输入用户名和密码便成功登陆,分别有三次机会输入用户名和密码,超过3次便锁定分析:用两个while循环即可,代码如下:user_name = Brettpassword = 1314i = 0n = 0Is_exit = False  #进入循环标志while not Is_exit:User_name = input(please ...

  • 回答 2

    MacOS设置环境变量path的完全总结  一、MacOS加载bash shell 环境变量的加载顺序   mac 一般使用bash作为默认shell,Mac系统的环境变量,加载顺序为:1、系统级别的/etc/profile                                              ...

  • 回答 4

    当你运行代码的时候,需要你指定闹钟的时间,然后闹钟就会在指定的时间想起来。电脑pytho加载time模块,获取此时此刻的时间:import timet = time.localtime()print(t)时间是以字典的形式出现的。从字典里面提取时间信息:now = time.strftime(%H %M, t).spli...

  • 回答 5

    在几千条数据中有正负数,筛选出同一供应商下正负数相加为零的数据,正负数相加有可能为一正一负相加为零,也有可能是一正多负,也有可能一负多正,总体是将可以所有正负数相加为零的数据标注颜色出来。excel论坛上说计算量太 ...可以用pandas来处理...

  • 回答 2
    已采纳

    import sqlite3p = sqlite3.connect(file:memDB1?mode=memory&cache=shared, uri=True)p.execute('CREATE TABLE tbTest (fld1, fld2)')p.execute(INSERT INTO tbTest VALUES ('fld1', 'fld2'...

  • 回答 13

    Java企业级解决方案较多且成熟,国内搜索网站上对于各种问题的解答较多,相比而言,Python成熟企业级解决方案没Java多,资料多以外文为主。国内web开发大环境一直以Java为主,从业者人口基数众多,小白学习Java无论是书籍还是视频资料一搜一大把,从业者技术...

  • 回答 27

    当然可以了,不只是可以处理表格,而且是非常高效的额处理表格,能大大减轻工作量学会使用Python处理表格的话之前接了一个国企的case,说让我们给出一个解决方案关于数据处理方面的,去了他们天津的公司,一个部门7个人,7个人的工作我看了一下,我和我的同事...

  • 回答 22

    1、兼职处理数据2、兼职查询资料3、兼职P图

  • 回答 26

       Python是一门编程语言。相比于其他编程语言, Python爬取网页文档的接口更简洁;Python的urlib2包提供了完整的访问网页文档的API ;并且python中有优秀的第三方包可以高效实现网页抓取,可用极短的代码完成网页的标签过滤功能。所以Python被很多人称为爬虫。...

  • 回答 17

    可以的,python语法简单。刚开始学习可以试一下

  • 回答 25

    这两个其实现在用的都很普遍,java可能更好用一些吧

  • 回答 19

    1.if 语句1)基本用法:if 要判断的条件:    条件成立的时候,要做的事情else:    条件不成立的时候,要做的事情 if和else语句以及各自的缩进部分都是一个完整的代码块示例:2)if ,elifif 要判断的条件:    条件成立的时候,要做的事情elif 条件2...

  • 回答 26

    首先,从应用领域来看,Python语言涉及范围广,应用路径宽。其中包括:  (1)Web和Internet开发  (2)科学计算和统计  (3)人工智能  (4)桌面界面开发  (5)软件开发  (6)后端开发  (7)网络爬虫...

没有解决我的问题,去提问