Python_vim_2.打开文件

7 篇文章 0 订阅
本文介绍了如何使用VI编辑器打开或新建文件,包括在终端中通过VI命令直接编辑已存在或新建文件。演示了VI编辑器的界面及基本操作,如保存、退出、撤销和重做。此外,还展示了如何通过指定行号快速定位错误代码,提高开发效率。在遇到VI强制退出导致交换文件产生时,解释了如何处理这种情况并恢复编辑。
摘要由CSDN通过智能技术生成

 1. 打开或者新建文件

介绍一下怎么样用vi打开或者新建文件,在工作中,如果希望在终端中使用vi来编辑一个文件,就可以在命令提示符后面先输入vi 这个命令,然后增加一个空格, 空格后面跟上要编辑的文件名就可以.

如果这个文件是已经存在的,就会使用vi编辑器,直接打开这个文件.

如果这个文件名是不存在的,就会新建一个文件.

 

做一下演练,在备课的时候,在桌面下准备了一个rand_num.py 的python 文件,

 

之前要打开这个文件是在图形界面下双击这个文件打开.

 

那现在假设是使用ssh登录到远程服务器.

那如果想要编辑这个文件应该先来敲一个vi的命令,在命令后面跟上要编辑的文件名,

 

现在回车,

 

回车之后就可以看到一个vi的编辑界面了.

在左侧有代码的行数, 右侧显示的内容跟gedit 中看到的内容是完全一样的.

 

在这个界面下就可以进行编辑工作.

那现在输入一个特殊的命令:q,

 

退出vi编辑器, 回车, 又回到了终端窗口.

 

如果现在想要新建一个文件,先把getid关掉,然后重新回到终端窗口,如果想新建一个文件,同样使用vi这个命令,在后面跟上一个要建立的文件名,

 

现在回车, 回车之后,

 

又是一个vi的编辑器打开了,并且在下方会提示hello.py 是一个新文件.

那现在在这个文件中简单增加一些内容,写完之后,

 

按一下回车,

 

现在桌面上并没有hello.py这个文件,那现在就把这个文件做一个保存, 保存之后, 桌面上多了一个hello.py 的文件,

 

那现在双击打开, 看到的内容跟在终端中看到的内容是完全一样的,

 

演示一下vi到底快在那里, 那现在老师啊,假如开发中有一个需求,希望第1行代码重复20遍,现在就把光标放在第1行,

 

连续敲两个y,然后呢,敲个19p.

刚刚并没有使用鼠标,而代码中一下子就多了19行,

 

那现在把文件保存一下,

 

回到gedit 来确认一下,现在点击, 点击之后提示这个文件发生变化, 是否重新载入.

 

那现在就点击重新载入,刚刚对代码进行的修改完全在gedit 中能够看到了.

 

而且刚刚对代码的修改是咻的一下就完成了.

那如果在编辑文件中对刚刚的修改后悔了,就摁一个u,按下u 之后, 刚刚新增的这些代码全部不见了.

 

现在再保存一下,

 

再回到gedit 来确认一下, 点击再次重新载入,

 

这个文件又恢复到了初始状态,

 

那如果又后悔了,刚刚要添加的代码还要恢复回来,再摁一下Ctrl + R,一下又回来了,

 

现在再保存一下,

 

然后回到gidit,又提示重新载入,

 

现在老师点击代码又恢复回来了,

 

现在输入 :x, 把文件保存并且退出一下.

 

 


 

2. 打开文件并且定义指定行

分享一个vi 非常实用的技巧,就是使用vi打开一个文件的同时,立即将光标定位到需要的行,

 

在开发中,很难保证编写的代码都是正确的,但是如果在运行程序时,通常能够准确的知道具体是哪一行代码出现了错误.

那现在试想一下,假设在打开这个文件的同时,立即能够定位到这行出错的代码,那么修改错误能够更加的迅速.

那具体怎么做呢?同样使用vi, 在vi后面跟上要编辑的文件名,然后在后面跟上一个加号,在加号后面来指定出错的代码行数就可以.

做个演练,hello.py 这个文件现在是能够正常执行的.

使用Python3的解释器来执行一下这个程序,做个演示,

 

现在回车,回车之后, 在终端中连续输出了hello python ,

 

现在先使用vi编辑器,在hello.py 中增加一个错误.

譬如要把光标定位在16行,写一下16g, 光标跳过来了,

 

假设现在不小心在代码中增加了一个缩进, 16行的print异军突起,

 

那现在输入:w 来保存一下这个文件.

 

然后输入:q 退出vi,

 

 

现在使用解释器来执行一下hello.py , 看看会出现什么情况,按一下向上, 再向上,回车,

 

这次回车之后, Python解释器直接告诉有了错误, 告诉在代码的第十六行出现了错误.

错误是print 函数前面多了一个缩影, 现在在执行这个程序时,已经能够准确的知道第16行代码有错误.

 

 

既然知道第16行代码有错误,那么在使用vi这个编辑器编辑hello.py 这个文件时,就可以在文件名后面跟上一个加号,然后再跟上出错的代码行数16,

 

现在回车, 回车之后, 光标直接定位到16行,

 

而刚刚python 的解释器告诉16行多了一个缩进,既然多了一个促进,就把这个缩进做个减少.

减少完成之后, 再在输入:x, 保存退出回到终端.

 

再来使用python 解释器运行一下程序,

 

程序又能够正常运行了,

 

这个就是使用vi在打开文件时,如果希望定位到具体某一行,就可以在文件名后面跟上一个加号,并且在加号后面跟上一个对应的代码行数就可以.

那现在做一个小扩展,刚刚在打开文件时,在后面跟上一个加号,并且指定了一个行数.

那如果不指定行数会怎样呢?来现在把行数16删掉,

回车,回车之后光标直接定位到21行,也就是文件的末尾, 

 

 

那现在把光标向上移动,譬如把hello python中的这个python 做一个替换, 替换成一个 hello world,

 

程序替换完成,

 

输入 :x 来保存退出, 现在运行下程序.

 

最后一行输出hello world.

通过这个演练可以知道如果程序开发一半离开了, 下一次想要继续开发, 就可以增加一个加号直接定位到文件的末尾,

 

继续之前没有完成的工作.

那现在看一下如果使用vi接上一个文件名, 回车,光标是在这个文件的开始位置.

 
 

3. 删除交换文件

介绍一下在使用vi时,什么时候会看到下面这个界面,

 

并且告诉一旦看到下面这个界面, 应该怎么处理,如果正使用vi编辑某一个文件的时候,vi 被被强行退出了, 譬如用q命令或者其他方式把vi强行退出了.

那么下一次在使用vi编辑这个文件的时候,很有可能就会看到下方这个屏幕来.

做个演练,现在桌面上有两个文件,

 

现在老师ls -la 查看一下桌面目录下的文件情况,

 

现在桌面目录下只有hello.py 和 rand_num.py 这两个文件.

现在使用vi把hello.py 这个文件打开,打开之后把第一行的python做一个修改, 把python 替换成world,

 

修改完成之后, 现在还没有保存文件.

现在要点击一下终端窗口这个叉叉,如果点击这个叉叉会把整个终端全部关掉,那既然终端都被关掉了,现在运行的vi也同样被强行终止了.

 

那现在就点击叉叉,然后强行关闭终端.

 

关闭之后, 现在再来打开终端,现在先使用cd 这个命令进入桌面文件夹,

 

然后使用ls -la查看一下文件情况, 现在回车,

 

回车之后, 桌面目录下多了一个文件, 这个文件是以点 开头的.

以点开头的文件是一个隐藏文件, 同时hello.py 后面有一个 .swp, 这个文件就是在使用vi 编辑某一个文件的时候, vi 这个编辑器会自动建了一个交换文件, 这个交换文件的目的是vi 内部使用的, 主要是为了保障对当前这个文件的编辑速度.

如果现在用vi 命令再次打开hello.py 文件, 回车之后就看到了刚刚在笔记中看到的画面,

 

发现了一个交换文件,并且告诉这个交换文件产生的日期, 同时在下方有一些选项,要想继续能够顺利的编辑hello.py ,通常要选择删除交换文件这个选项,

 

要选择这个选项,必须要通过键盘来实现.

因为在vi中鼠标是不能使用的,直接按下键盘中字母d就可以.

在按下字母d的时候,应该确认一下当前的输入法处于英文状态.

 

现在按一下字母d,

 

现在hello python 文件又回来了,并且之前做的修改全部丢失.

现在让我们退出一下,

:q 

然后呢,使用ls -la 来查看一下这个交换文件是否还存在,

如果现在用vi 打开hello.py, 又可以顺利的打开这个文件.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值