经过一段时间的市场调研,发现了linux系统的重要性。虽然要对这个系统了解的透彻任重而道远,但是起码把一些基础的概念和命令行先拿下。因此咱修改了咱的目前学习内容,R先放一放,需要作图先用例程来修改,因为前面学习的内容已经算是入门了,一般的画图程序还都是能看懂的,等咱们把目前的重点拿下之后再深入搞它。
所以说咱目前的学习重点就是四个:
1、万年不变的python:每天第一件就是python,先再暑假前搞完《笨办法》,目标是熟练处理各种文件信息。暑假后开始一边深入各种类和方法的源文件,一边开始啃爬虫。
2、时局所迫的专业内容:咱还是要拿这个硕士文凭的呀,既然不能是顺便拿下,拿也要分出一点时间来,最好跟数据分析关系大一点,顺便发一篇文章,找工作读博都算很大的筹码。
3、新开始的linux:刚刚分析过,市场需求嘛,而且学起来应该能很大程度提升咱的工作效率,先搞起来!搞起来!暑假前者一个月把鸟哥的私房菜看完,暑假后学点深入的。
4、目测要纠结一辈子的英语:新概念英语第四册,每天学它一个小时,加油把~废话不多说,本帅正式宣布,linux板块即日起:
vim简介
vim作为文本编辑器的优势:
所有的unix-like系统都会内置vi
编辑速度超快,具有程序编辑能力,自动检测语法
很多软件接口主动调用vi(最重要)
vim的基本三种模式是:编辑模式、命令行模式、一般命令模式。vim用起来也有一段时间了,太基础的我不话痨,后面说的都是我目前不知道或者不熟练的内容。
vim命令:vim的命令是真的多,好多基本的我现在还没有掌握,这里不一一列举,还是要在使用中提高,想看可以参考:
vim的缓存和警告信息
使用vim的同时,在该目录会建立一个名为.filename.swp
的文件。vim工作被非正常中断时,这个文件会保存下来,再次打开这个文件时会产生警告信息。如下进行测试:
在~/study/shell/
目录下新建文件vim_broken
,写入一句话并且正常保存关闭vim:
然后我们再次打开这个文件,再添加一句话,不保存关闭vim,而是直接关闭这个ubuntu系统:
重启系统,打开~/study/shell/
目录发现,没有那个swp缓存文件。。。
又采用了别的办法,编辑过程中在一半命令行使用ctrl-z
中断vim,然后查看目录文件,发现还是没有swp文件:
所以咱就不知道咋回事了,但是之前会碰到这种情况,保留的swp文件会实时记录编辑中的文件的改动,不正常中断后再次打开文件会显示警告并且可以选择更新文件内容或者放弃更改。但是之后别忘了删除这个swp文件,不然它会每次都警告你。
这一点可能是我的子系统设置或者vim配置被我搞乱了,因为一系列的.vimrc
配置文件都是从网上找的,具体都设置了什么功能印象不太深,可能就在这里设置了不产生缓存文件。这个目前无伤大雅,知识点已经拿下,后面再深入研究。
vim的扩展功能
vim的扩展功能主要考插件的支持,可以使用Vundle来方便地管理和使用插件,再vim中使用命令PluginInstall
进入插件管理并安装插件:
可以使用命令:PluginSearch
来查找想安装的插件并安装:
但是建议再配置文件中写入Plugin '插件名'
语句来统一安装(如下图第5行):
总之,vim的各种扩展功能和功能设置都提前配置在~/vimrc
文件里就行了,比如设置行号,脚本文件头等。我推测这个文件其实是vim启动的时候自动运行的,相当于依次把这些语句在vim中配置出来,这样保存在文件中,每次使用vim,vim就会根据这个文件自动配置成我们喜欢的样子,很方便,后面有机会和需求还要多研究一下这个。
另外在根目录还有个.viminfo
文件,这个文件是记录自己进行过地操作,方便作业的,比如记录上次的光标位置,在所有文件显示曾经查找过的关键词等。可惜的是打开这个文件啥都看不了(最下面一行):
区块编辑和多文件编辑
使用ctrl+v
来选择矩形区块(反白)然后进行操作:
命令 | 操作 |
---|---|
v | 选择字符 |
V | 选择行 |
Ctrl+v | 选择区块 |
使用vim同时打开多个文件时:
命令 | 操作 |
---|---|
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
这个很有用,文件之间的信息交流十分的方便,注意使用:q
关闭文件的时候会全部关闭。除此之外可以使用多窗口功能:
命令 | 操作 |
---|---|
:sv | 垂直分屏 |
:vs | 水平分屏 |
命令 | 操作 |
---|---|
Ctrl+w+方向键 | 光标移到上、下、左、右边的窗口 |
命令补齐
最好的应该是插件Youcompleteme
,但是这个插件安装非常麻烦。另外鸟哥说到的使用Ctrl+x+
组合键的补齐功能在我这也碰到了问题:
并且这种非自动地补齐也不那么方便,只能偶尔帮助回忆关键词。因为这部分内容不是特别重要,不需要浪费特别多时候,留着后续解决。
中文编码、换行符和语系编码的问题
vim显示中文混乱只需要关注两点:
- 打开的文件的中文编码方式
- 我的终端(bash)的语系(和变量LANG、LC_ALL有关)
DOS(^M ) 和 L i n u x ( )和Linux( )和Linux()的换行符不同,可以使用工具进行转化:
- dos2unix [-kn] file [newfile]
- unix2dos [-kn] file [newfile]
- 这个工具可以用apt下载
上图可以看到,转换后man_db.conf
文件的大小改变的,就是因为多的那个^M
符号。
语系编码的转换可以使用iconv工具:
iconv -f 原本编码 -t 新编码 filename [-o newfile]
后台任务
在bash中执行操作的时候,可以中断当前操作,放入后台,并且可以查询后台所有的中断进程、继续执行任务:
命令 | 操作 |
---|---|
Ctrl-z | 中断当前任务 |
jobs | 查看所有中断的任务 |
fg n | 继续某个任务 |
上图我们用vim打开两个文件准备编辑时中断操作,然后查看中断的两个操作,并且继续执行。
学习感悟:linux学习任重道远,不仅有一定难度,还有很多细节需要注意,加油!