vim
是一款多模式文本编辑器,其和eclipse,vs 2017
这类编程软件不同,vim
支持文本的编辑和调试,但是并不支持运行。
在命令模式下,只能输入命令,vim
会根据命令返回对应的结果。
( 1 ) (1) (1)光标的简单移动
在命令模式下,上下左右四个键能进行光标的移动,但是我们一般不使用上下左右键进行光标移动,而是使用kjhl
。
k->上
j->下
h->左
l->右
( 2 ) (2) (2)光标的跳跃移动
命令:shift ^
功能:光标跳到当前所在行的行首
命令:shift $
功能:光标跳到当前所在行的行尾
命令:gg
功能:让光标切换到起始行
gg
大家可以类比游戏中的gg
,回到起始状态。
命令:G
功能:让光标切换到末尾行
命令:数字 shift g
功能:让光标切换到指定行
命令:w
功能:逐个单词进行光标向右移动
ps::当前行走完会跳到下一行
命令:b
功能:逐个单词进行光标向左移动
ps::当前行走完会跳到上一行
( 2 ) (2) (2)复制,粘贴,剪切
命令:p
功能:粘贴
命令:数字 p
功能:执行n次粘贴操作
命令:yy
功能:复制光标所在行
命令:数字 y
功能:复制光标所在行和后面的n行
命令:dd
功能:剪切光标所在行
多行剪切
在命令模式下按住v,用hjkl选择剪切的内容,最后按d进剪切
ps::剪切可以搭配粘贴p
进行使用。
( 2 ) (2) (2)大小写转换
shift ~
功能:光标位置字符大写变成小写,若是小写就变成大写
( 3 ) (3) (3)删除
命令:x
功能:删除光标位置的字符
命令 :u
功能:撤销当前命令的操作
命令:ctrl r
功能:撤销刚刚的撤销操作
命令:r 替换以后的字符
功能:替换光标位置的字符
命令:数字 r 替换以后的字符
功能:从光标位置开始n个字符替换成指定的字符
命令:shift r
功能:进入替换模式,可以进行连续的替换
ps::Esc退出替换模式
( 1 ) (1) (1)显示行号
命令:set nu
功能:显示行号
命令:set nonu
功能:关闭行号
( 2 ) (2) (2)多文件分屏
格式:vs 文件名
功能:可以进多文件操作
命令:ctrl ww
将光标切换到另一个屏
ps::光标在哪个屏幕,就是对该屏的文件进行操作,当想退出时输入q
,对应光标所在文件就会退出。
并且多文件操作不是局限于一个。
多文件操作还可以搭配复制粘贴这类功能进行使用。
插入模式就和记事本一样,没有什么特殊的命令需要记住。
命令模式->插入模式:i
插入模式->命令模式:Esc
命令模式->底行模式:shift :
底行模式>命令模式:Esc
ps::底行模式和插入模式之间不可以直接转换,都需要通过切换到命令模式,所以命令模式也称作核心。
首先需要知道:vim
的配置只会影响当前的登录用户,对其他的用户不会有影响。
1.进入当前用户的工作目录~
,如果没有.vimrc
这个隐藏文件,就通过touch .vimrc
先创建一个.vimrc
的文件
vim
的配置都写在这个文件里。
root
的配置文件为vimrc
。
( 1 ) (1) (1)使用root
身份进程家目录~
( 2 ) (2) (2)`使用vim
进入目录 /etc/sudoers
( 3 ) (3) (3)找到Allow root to run any commands anywhere
这句话,我的大概在100行左右
( 4 ) (4) (4)添加信任关系,我当前用户名为tailin
( 5 ) (5) (5)通过wq!
退出vim
在学习yum
安装软件之前,我们需要先铺垫一些知识:
服务器一词在计算机的世界中经常被提到,但是对于服务器我们又感觉说不清其到底是什么?
关于服务器我们可以将其看作是一台大型计算机,类比于我们的电脑,只不过这台大型计算器没有鼠标,键盘....
这类设备。在一家公司中,一台服务器从买回来到开机一般都不会关机,7x24
小时全天候的为我们提供服务。
在服务器上部署了很多的服务,就像电脑上下载的软件。我们平常使用qq,微信都是对应公司的服务器在我们提供服务,为我们提供数据。
但是服务器并不是只通电就能够使用的,一台服务器必须搭配上操作系统才能正常使用。我们电脑搭配的系统一般是windows
,而服务器搭配的操作系统一般是Linux
。
在Linux上安装软件有三种方式:
( 1 ) (1) (1)源码安装
( 2 ) (2) (2)rpm安装
在安装一个软件的时候往往需要安装和其具有依赖关系的软件,对于这种软件,前两种方式都不能很好的解决这个问题,所以我们并不推荐前面的两种安装方式。
关于这种依赖关系我们可以这样理解:
在使用vs 2017
进行编程的时候,我们需要在vs
上进行代码的编译,运行。
因此在下载vs
的时候我们不是只下载了vs 2017
这个外壳,还需要下载很多的标准库软件,如c语言标准库。这些标准库也就是vs 2017
的依赖软件。
在Linux
上有一种非常简单的安装方式:
( 3 ) (3) (3)yum安装
yum
会自动进行安装软件,并且安装和其带有依赖关系的软件。
yum install tree....
这类命令大家可能都有敲过,但是yum
究竟是什么呢?他是如何帮助我们进行安装软件的呢?接下来我们开始揭开yum
的真正面纱。
第一个问题:yum究竟是什么?
回忆下我们使用手机是如何下载软件的,过程一般如下:
1.打开应用商店。
2.搜索想要安装的软件。
3.系统自动为我们安装好软件。
大家是否有想过这样一个问题:我们下载游戏的时候下载的究竟是些什么?
首先,对于一款游戏,其必定带有自己的数据。这些数据不是存在我们的手机上,而是存储在对应提供软件的公司数据库中,我们需要通过服务器去访问这些公司,公司通过服务器将数据传输到我们的手机上。
在手机上我们下载软件使用的程序是应用商店,而Linux
上下载软件的应用商店就是yum
。这便是yum
的真面目。
yum是如何为我们安装软件的?
前面我们说了,yum
是Linux
上的应用商店。在下载软件的时候我们需要和对应软件的服务器进行交互,但是问题来了yum
怎么知道下载软件的服务器是什么?
原来,在yum
这个软件商店上存储着一系列的yum
源(也就是Linux
中的一系列文件),对于yum
源我们可以将其看作是存储软件的仓库,里面存储着所有可安装软件的名称和服务器地址,在下载软件的时候yum
会到yum
源里查找下载软件的服务器地址。yum
在找到软件的服务器的地址以后就需要和对应软件的服务器进行数据的交互:
扩展的yum
源一般是放在epel
里,所以如果我们想要扩展我们的yum
源。
可以安装扩展的yum源
。
命令:sudo yum install -epel -release
我们的yum源一般是在/etc/yum.repos.d/
目录下:
可以进入目录查看自己的yum
源
cd /etc/yum.repos.d/
第一板斧:sudo yum list
功能:以列表的形式显示Linux上可以正常安装的软件。
并且yum list
可以搭配grep
进行使用,假设我们需要下载tree
软件,我们可以这样进行检索
第二板斧:sudo yum install 软件名
如果不想要系统询问,直接带-y
选项,我就是要安装,你可别问我了。
第三板斧:sudo yum remove 软件名
功能:卸载软件
系统会询问你是否要删除。
如果不想要系统的询问,带-y
选项就好了。
还有一个软件大家可以安装以下
sudo yum install lrzsz
装了这个软件以后可以实现windows
和Linux
的文件交互。
( 1 ) (1) (1)
命令:sz linux上的文件
功能:将Linux上的文件发送到windows上
( 2 ) (2) (2)
命令:rz
功能:将windows上的文件发送到Linux上
( 3 ) (3) (3)
将windows
的文件直接拖拽到Linux
上