转载:vi/vimvim技巧

vi/vim虐我千百遍,我待vi/vim如初恋

Linux系统管理与Shell编程
本专栏是面向无Linux基础,或者想提升自己的同学。可以帮助0基础的想学Linux的朋友掌握到很硬的Linux知识,完全没基础的也可以学明白,我会结合大量的图片和gif图片的形式来说明一些问题,可以让你更清晰的了解整个过程。
TrueDei
订阅
</div>
    <article class="baidu_pl">
    <!--python安装手册开始-->
            
             <div id="article_content" class="article_content clearfix">
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-211130ba7a.css">
                        <div id="content_views" class="markdown_views prism-atom-one-dark">
                <!-- flowchart 箭头图标 勿删 -->
                <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                    <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                </svg>
                                        <p></p><div class="toc"><h3><a name="t0"></a><a name="t0"></a>文章目录</h3><ul><li><a href="#_3" rel="nofollow" target="_self">一、通过这篇文章你能学到什么?</a></li><li><a href="#_30" rel="nofollow" target="_self">二、我为什么要写这篇文章?</a></li><li><a href="#_36" rel="nofollow" target="_self">三、先来个自我介绍</a></li><li><a href="#vivim_49" rel="nofollow" target="_self">四、vi和vim的区别</a></li><li><a href="#_90" rel="nofollow" target="_self">五、正题</a></li><ul><li><a href="#vivim_91" rel="nofollow" target="_self">(一)vi/vim编辑器的模式</a></li><ul><li><a href="#1VI_92" rel="nofollow" target="_self">1、VI模式</a></li><li><a href="#2VIM_107" rel="nofollow" target="_self">2、VIM模式</a></li></ul><li><a href="#vim_123" rel="nofollow" target="_self">(二)vim的使用</a></li><ul><li><a href="#1_126" rel="nofollow" target="_self">1、如何打开一个文件进入编辑(正常模式---&gt;输入模式)</a></li><li><a href="#2_161" rel="nofollow" target="_self">2、如何保存或退出文件(末行模式)</a></li></ul></ul><li><a href="#vim_263" rel="nofollow" target="_self">六、vim的绝技</a></li><ul><li><a href="#_277" rel="nofollow" target="_self">(一)显示行数</a></li><li><a href="#_307" rel="nofollow" target="_self">(二)配置自己喜欢的主题</a></li></ul><li><a href="#_372" rel="nofollow" target="_self">七、技能提升</a></li><ul><li><a href="#Python_373" rel="nofollow" target="_self">(一)Python代码补全以及提示</a></li><li><a href="#HTML_466" rel="nofollow" target="_self">(二)HTML代码补全以及提示</a></li></ul><li><a href="#_590" rel="nofollow" target="_self">八、补充知识</a></li><ul><li><a href="#SELinux_591" rel="nofollow" target="_self">(一)SELinux</a></li><li><a href="#vivim__607" rel="nofollow" target="_self">(二)vi/vim 键盘图</a></li><li><a href="#java_615" rel="nofollow" target="_self">(三)配置java环境变量</a></li><li><a href="#VmwareLinux_682" rel="nofollow" target="_self">(四)写给我班女生Vmware装Linux的教程(超详细)</a></li><li><a href="#linux_685" rel="nofollow" target="_self">(五)给工作室团队培训的linux基础(视频)</a></li></ul><li><a href="#Linux_689" rel="nofollow" target="_self">九、论:学习Linux的方法</a></li></ul></div><p></p>

一、通过这篇文章你能学到什么?

看一篇文章最重要的就是能学到什么,那你肯定再犹豫,你能学到什么?

可以很肯定的告诉你:

  • 1、恭喜你从此不在受vi的虐;
  • 2、恭喜你从此对她/他爱不释手;
  • 3、恭喜你从此会越来越喜欢她/他;

注意:技巧出现了
大家都知道从20分提高到80分很容易,但是从80分提升到98分可以说很难了。
那么手速呢?如何把提升刚才的速度?在其他地方你可能体会不到,在我这篇文章里,会给你神一般的操作。

提速是完全有可能的。

因为我高中的时候,在参加比赛的时候,最重要的就是速度了。别人需要半个小时完成的,我可以使用几分钟就完成,真的毫不夸张。

如果你在阅读的时候发现了下面这个图片出现了就注意了,有技巧出现了
在这里插入图片描述

我会使用大量的GIF图片的形式,例如:
在这里插入图片描述
我做了几十个gif的图片,而且都配有字幕,相信你更容易理解。
在这里插入图片描述

二、我为什么要写这篇文章?

我为什么要写这篇文章:

  • 1、笔记记录
  • 2、让大家少走弯路
  • 3、很多朋友都想让我把学习以及使用Linux的技巧分享给大家,我不能辜负大家的期望,决定把自己使用6年的经验分享给大家,从今天的vi编辑器开始。
  • 4、希望大家能使用vi/vim可以飞快的完成一些配置的修改。

三、先来个自我介绍

vi:我是vim的哥哥,同时是广大Linux/Unix爱好者和使用者的文本编辑器的利器;
vim:我是vi的弟弟,同时也是广大Linux/Unix爱好者和使用者的文本编辑器的利器,但是比哥哥vi的功能强大不少;

真可谓:一浪更比一浪强,就一下子把它拍在沙滩上了。

来自第三者的总结:
所有的Linux/Unix系统都会内嵌vi文本编辑器,而其他的编辑器则不一定会存在。如果你亲自安装过早期版本的话,可能会发现当我安装文本界面的时候,是无法使用vim的,当然了还有其他的一些,因为默认是不会安装的,而vi就不一样了。这就是vi的地位了

但是目前vim才是更受欢迎的,也是使用最多的,为什么受欢迎,请往下看

四、vi和vim的区别

它们多模式编辑器不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

vim的这些优势主要体现在以下几个方面:

1、多级撤消

我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

 
 
  • 1

2、易用性

vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

 
 
  • 1

3、语法加亮

vim可以用不同的颜色来加亮你的代码。

 
 
  • 1

4、可视化操作

就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

 
 
  • 1

5、对vi的完全兼容

某些情况下,你可以把vim当成vi来使用。
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。
vi使用于文本编辑,但是vim更适用于coding。 

 
 
  • 1
  • 2
  • 3

vi有3个模式:插入模式命令模式低行模式

  • 插入模式:在此模式下可以输入字符按ESC回到命令模式
  • 命令模式:可以移动光标删除字符等。
  • 低行模式:可以保存文件退出vi设置vi查找等功能。

使用vi打开的一个python代码:

在这里插入图片描述
使用vim打开的:
在这里插入图片描述
码代码还有提示(需要后来配置才可以)
在这里插入图片描述

五、正题

(一)vi/vim编辑器的模式

1、VI模式

(1)命令行模式 (command mode/一般模式)

       任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi进入命令行模式;我们在shell环境(提示符为$)下输入启动vi命令,进入编辑器时,也是处于该模式下。

在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,vi会响铃报警。

(2)文本输入模式 (input mode/编辑模式)

       在命令模式下输入插入命令i(insert)附加命令a (append)打开命令o(open)修改命令c(change)取代命令r替换命令s可以进入文本输入模式

在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令行模式下,按”ESC”键即可。

(3)末行模式 (last line mode/指令列命令模式)
末行模式也称转义模式。

       在命令模式下,用户按:键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,vi自动回到命令模式。

2、VIM模式

(1)正常模式 (Normal-mode)

       启动vim后默认处于正常模式(即命令行模式)。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。

(2)插入模式 (Insert-mode)

       在正常模式中按下i,a, o, I,A,O键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。

(3)命令模式 (Command-mode)

       在正常模式中,按下:(英文冒号)键,会进入命令模式。
在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

(4)可视模式 (Visual-mode)

       在正常模式中按下vV<ctrl>+v,可以进入可视模式。

可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

(二)vim的使用

这里就不长篇大论了,我非常不喜欢这样,大家应该也不喜欢。应该都喜欢

1、如何打开一个文件进入编辑(正常模式—>输入模式)

也牵扯到模式转换,首先你使用vim打开一个文件之后,默认进入的是正常模式,也就是默认的模式,如果你想编辑的话,就得需要进入编辑模式

例子1:修改selinux的配置文件
命令vim /etc/selinux/config
过程:就是下面这样子
解析:当你打开的时候,就是在默认的模式下,你不能修改但是可以执行删除、复制等。
在这里插入图片描述

打开成功的界面:
请记住这个界面,现在就是打开成功的状态。你现在是动也动不了,出也出不去。
现在就是在正常模式,因为默认就是在正常模式的。如果忘记了,请往上翻一点,重新看一下正常模式的概念。

在这里插入图片描述

例子2进入插入模式(需要在例子1的基础上完成)
命令小i小a小o大I大A大O
解释
小i:在当前光标所在字符的前面,转为输入模式;
小a:在当前光标所在字符的后面,转为输入模式;
小o:在当前光标所在行的下方,新建一行,并转为输入模式;
大I:在当前光标所在行的行首,转为输入模式;
大A:在当前光标所在行的行尾,转为输入模式;
大O:在当前光标所在行的上方,新建一行,并转为输入模式;

这里只介绍小i小o,其余的就不一一使用例子来说明了,如果你有兴趣可以亲自去试试,我最长用的就是小i小o

实战1-2-1小i:在当前光标所在字符的前面,转为输入模式;
在这里插入图片描述
实战1-2-2小o:在当前光标所在行的下方,新建一行,并转为输入模式;
通俗点讲,就是另起一行。
在这里插入图片描述

2、如何保存或退出文件(末行模式)

当你编辑之后最多有两个动作:保存不保存
而这两个动作又细分了几个,如下:都是由:w:保存,q:退出,!:强制组成
:q :退出;
:q!:不保存退出;
:w:保存;
:w!:强行保存;
:wq:保存退出;
:wq!:强制保存并退出。

什么时候用(自己体会):

  • 当我修改文件成功后,确认无误时,会直接使用wq或者wq!遇到一些权限问题的时候会使用强制);
  • 当我修改文件,发现自己修改的配置的错误太多,那么就会使用q!
  • 当我打开一个文件,只是为了查看这个文件的内容时,那么会使用q
  • 当我打开一个文件,只是为了查看这个文件的内容时,不小心动了一些东西,那么会使用q!
  • 当修改了一个文件,不想退出的话,那就使用ww!

具体实例,请往下看:

这里我只介绍一个保存退出。其余的几个不介绍了,下面这个图大概做了半个小时哦,看到这了,就点个赞,鼓励一下俺呗。

实战2-1-1:把/etc/selinux/configenforcing模式修改为disabled模式
关于selinux的介绍可以到最后补充知识查看。

我们知道enforcing模式是强制打开selinux的,而disabled模式模式是关闭selinux的,当然了开启是非常安全的,但是很麻烦,所以干脆关闭算了。

具体看下面过程图:
总结步骤如下:6小步,一气呵成
1、使用vim /etc/selinux/config打开selinux的配置文件
2、按i进入编辑模式
3、使用删除键删除掉默认的enforcing
4、写入:disabled
5、按ESC退出编辑模式
6、输入:wq保存并退出
在这里插入图片描述

在这里插入图片描述

注意:技巧出现了
大家都知道从20分提高到80分很容易,但是从80分提升到98分可以说很难了。
那么手速呢?如何把提升刚才的速度?

提速是完全有可能的。
因为我高中的时候,在参加比赛的时候,最重要的就是速度了。别人需要半个小时完成的,我可以使用几分钟就完成,真的毫不夸张。

先看一下现在还是给大家做演示的录制的gif,上面使用了18秒,使用这个技巧之后用了11秒
在这里插入图片描述

实战2-1-2:现在升级实战2-1-1的操作。使用一些技巧速度提升n倍

其实所谓的技巧就是知人善任;如果你当过团队的队长,你肯定是会领导别人的。但是你现在是一名工具使用者,那你就要知道这个工具可以干啥。
这里主要介绍如果使用vim进行复制粘贴还有删除的操作。

如果你完全掌握了,很有自信的话,可以跳过。如果不熟悉,相信我的话,请往下看:

操作的过程全是使用vim打开文件中的文字

对应表:

操作对应指令
复制y或者按v进入Visual模式,然后可视化选中进行复制
粘贴p
删除d

其他的技巧全是在这三个上面扩展的。

1、复制

(1)直接使用y命令复制
这里为什么加直接两个字呢,因为还有第二种方法,先看这种。

  • 复制一整行
    第一步:在你需要复制的行上按yy,就是两次y进行复制一行;
    第二步:在你需要粘贴的地方按p,进行粘贴。
    在这里插入图片描述

  • 复制一行中的某几个字
    第一步:在你需要复制的行上按y需要复制的字数,就是一次y然后输入数字,然后按左右方向键👈,👉
    第二步:在你需要粘贴的地方按p,进行粘贴。
    在这里插入图片描述

  • 复制多行
    第一步:在你需要复制的行上按y需要复制的行数,就是一次y然后输入数字,然后按上下方向键👆,👇
    第二步:在你需要粘贴的地方按p,进行粘贴。
    在这里插入图片描述

(2)使用试图模式选中需要复制的,然后使用y命令复制
在这里插入图片描述
2、粘贴
直接放这里,经过上面应该很熟悉了:p
3、删除
d:删除
这个删除的功能也和复制是一模一样的。把上面的y,替换成d就完全可以了。
请看:
在这里插入图片描述

在这里插入图片描述

六、vim的绝技

常用的:就不一个一个的去尝试了,你可以自己操作一下,爽一爽

set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限
set nu 或者set number"显示行号
syntax on "语法高亮度显示
set autoindent "vim使用自动对齐(自动缩进)
set cindent"(cindent是特别针对 C语言语法自动缩进)
set smartindent "智能的选择对齐方式,对于类似C语言编写上有用
set tabstop=4 "设置tab键为4个空格
set shiftwidth=4 "设置当行之间交错时使用4个空格
set ai! " 设置自动缩进
set showmatch "设置匹配模式输入一个左括号时会匹配相应的右括号
set ruler "在编辑过程中,在右下角显示光标位置的状态行

(一)显示行数

如果没有行数的话,会很不方便的。当你遇到一个错误,显示在第几行第几列,如果没有行号,那你可费劲去数吧。会烦死的。

如果是vi的话,则需要编辑/etc/virc文件
如果是vim的话,则需要编辑/etc/vimrc文件

步骤:
第一步:vim /etc/vimrc
第二步:找到一个空白的行,输入:set number
第三步:保存、退出

还有必要演示吗?相信你已经知道怎么办了。

算了

还是演示下吧。

我要服务到家。

注意:我在插入的时候,这次使用的是o不是i,使用o的作用是可以空一行然后插入。
在这里插入图片描述

如果不想使用删掉即可。

(二)配置自己喜欢的主题

你也许使用过IDEA,你也许使用过Pycharm,也许你使用过Visual Studio Code;
你的主题也许是这样子的:(提前说明,这个不是我的哦,是我网上找的)
在这里插入图片描述
你的主题也许是这样子的:
在这里插入图片描述
你的主题也许是这样子的:
在这里插入图片描述

你相信吗,vim也是可以的
在这里插入图片描述

反正是相信。

说直白点,就叫调颜色,好听点叫配置主题。

vim设置主题非常方便,也非常简单。完全可以只要一条colorscheme指令就可以搞定。
常用的:就不一个一个的去尝试了,你可以自己操作一下,爽一爽

colorscheme得用法
1、查看当前vim应用的主题

运行vim编辑器,命令模式输入:colorscheme回车,然后就会看到当前的主题。
在这里插入图片描述

2、临时调整主题(使用自带的主题方案)

如果临时设置主题的话,就可以输入colorscheme 指定主题名称就可以了。
主题的格式都是*.vim,都是以vim为后缀

默认自带的主题:
默认放在:/usr/share/vim/vim74/colors目录中
如下所示,这些什么什么.vim的文件都是主题
在这里插入图片描述

真的像变脸一样:
在这里插入图片描述

3、永久调整主题(使用自带的主题方案)
需要编辑vim的配置文件vim /etc/vimrc
写入:colorscheme 指定主题名称就可以了。
如下:
在这里插入图片描述

4、使用自己下载的或者自己配置的主题

主题方案:自己搭配哦

vimcolors官方:vimcolors
vim官方收集的方案:vim官方收集的方案

下面我随便使用一个:
第一步:git clone git://github.com/altercation/vim-colors-solarized.git # 随便克隆一个配色方案
第二步:cp vim-colors-solarized/colors/solarized.vim /usr/share/vim/vim74/colors # 将下载下来的配色方案移动到 colors文件夹中(里面是放各种配色方案的)

如果没有git命令,请yum -y install git安装(Centos7中是这样,其他系统请自行百度)
在这里插入图片描述

第三步:应用主题
在这里插入图片描述

七、技能提升

(一)Python代码补全以及提示

简化步骤:

cd ~  #cd ~就等于cd 跟自己的家目录

wget https://github.com/rkulla/pydiction/archive/master.zip

unzip master.zip

mkdir -pv ~/.vim/tools/pydiction

cp -r pydiction-master/after ~/.vim

cp pydiction-master/complete-dict ~/.vim/tools/pydiction

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

位置可以不固定,这里存放在用户的家目录了

具体步骤:

[root@truedei code]# 
[root@truedei code]# wget https://github.com/rkulla/pydiction/archive/master.zip
--2020-03-25 01:27:04--  https://github.com/rkulla/pydiction/archive/master.zip
正在解析主机 github.com (github.com)... 13.250.177.223
正在连接 github.com (github.com)|13.250.177.223|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://codeload.github.com/rkulla/pydiction/zip/master [跟随至新的 URL]
--2020-03-25 01:27:05--  https://codeload.github.com/rkulla/pydiction/zip/master
正在解析主机 codeload.github.com (codeload.github.com)... 13.229.189.0
正在连接 codeload.github.com (codeload.github.com)|13.229.189.0|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [application/zip]
正在保存至: “master.zip”
<span class="token punctuation">[</span>                      <span class="token operator">&lt;=</span><span class="token operator">&gt;</span>              <span class="token punctuation">]</span> 475,441     28.8KB/s 用时 16s    

2020-03-25 01:27:23 (29.4 KB/s) - “master.zip” 已保存 [475441]

[root@truedei code]# ll
总用量 472
-rw-r–r--. 1 root root 0 3月 23 22:35 a.txt
-rw-r–r--. 1 root root 475441 3月 25 01:27 master.zip
drwxr-xr-x. 7 root root 92 3月 25 01:14 vim-colors-solarized
-rw-r–r--. 1 root root 18 3月 24 19:16 zh.py
[root@truedei code]#
[root@truedei code]# unzip master.zip
Archive: master.zip
41c7143133f67e17a18317f6e45d12ac220d2736
creating: pydiction-master/
inflating: pydiction-master/README
inflating: pydiction-master/README.md
creating: pydiction-master/after/
creating: pydiction-master/after/ftplugin/
inflating: pydiction-master/after/ftplugin/python_pydiction.vim
inflating: pydiction-master/complete-dict
inflating: pydiction-master/pydiction.py
[root@truedei code]# ll
总用量 472
-rw-r–r--. 1 root root 0 3月 23 22:35 a.txt
-rw-r–r--. 1 root root 475441 3月 25 01:27 master.zip
drwxr-xr-x. 3 root root 91 1月 6 2016 pydiction-master
drwxr-xr-x. 7 root root 92 3月 25 01:14 vim-colors-solarized
-rw-r–r--. 1 root root 18 3月 24 19:16 zh.py
[root@truedei code]#
[root@truedei code]# mkdir -pv ~/.vim/tools/pydiction
mkdir: 已创建目录 “/root/.vim”
mkdir: 已创建目录 “/root/.vim/tools”
mkdir: 已创建目录 “/root/.vim/tools/pydiction”
[root@truedei code]#
[root@truedei code]# cp -r pydiction-master/after ~/.vim
[root@truedei code]#
[root@truedei code]# cp pydiction-master/complete-dict ~/.vim/tools/pydiction/
[root@truedei code]#
[root@truedei code]#

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

安装完之后输入利用编辑器软件打开 ~/.vimrc之后将以下代码复制上去
一定要确保有(如果想要所有用户生效的话,要放在/etc/vimrc中)以下两行代码

filetype plugin on  
let g:pydiction_location='~/.vim/tools/pydiction/complete-dict'  

 
 
  • 1
  • 2

可选参数,所有的都可以写这里随便写几个,比较好用的tab键等:

set autoindent
set tabstop=4  
set shiftwidth=4  
set expandtab  
set number

 
 
  • 1
  • 2
  • 3
  • 4
  • 5

测试结果:
在这里插入图片描述

(二)HTML代码补全以及提示

1、插件下载地址:https://www.vim.org/scripts/script.php?script_id=453
在这里插入图片描述
如是直接使用windows下载好的,然后传入到linux中
在这里插入图片描述

我使用的工具是CRT:很方便,简洁,我很喜欢,路由器交换机,都可以通过这个来配置。我就不打广告了。关于怎么使用这个工具连接linux,可以到最后查看哦。我放了教程。
在这里插入图片描述
2、配置
如果没有文件夹,就需要你先进行创建哦,这里就不啰嗦了

cd emmet-vim
cp plugin/emmet.vim ~/.vim/plugin/
cp autoload/emmet.vim ~/.vim/autoload/
cp -a autoload/emmet ~/.vim/autoload/

 
 
  • 1
  • 2
  • 3
  • 4

3、测试
第一步:vim index.html
第二步:输入html:5
第三步:按ctrl+y然后按,
过程效果如下:很爽,是不是,继续往下看
在这里插入图片描述

在这里插入图片描述
基本规则:

  1. E 代表HTML标签
  2. E#id 代表标签E有id属性
  3. E.class 代表E有class属性
  4. E[attr=foo] 代表某个特定属性
  5. E{info} 代表标签E包含的内容是info
  6. E>N 代表N是E的子元素
  7. E+N 代表N是E的同级元素
  8. E^N 代表N是E的上级元素

简单举例教程:
先图为证:
在这里插入图片描述
输入:p.class#id,
生成:

<p id="id" class="class"></p>

 
 
  • 1

输入h1{文字}, 生成:

<h1>大家好这是h1标签</h1>

 
 
  • 1

输入h1+h2, 生成:

<h1></h1>
<h2></h2>
<p></p>
<a href=""></a>

 
 
  • 1
  • 2
  • 3
  • 4

输入img^a, 生成:

 <img src="" alt="">
    <a href=""></a>

 
 
  • 1
  • 2

输入h1>h2, 生成:

<h1>
    <h2></h2>
</h1>

 
 
  • 1
  • 2
  • 3

输入(.foo>h1), 生成:

<div class="foo">
    <h1></h1>
</div>

 
 
  • 1
  • 2
  • 3

输入div.item, 生成:

<div class="item"></div>

 
 
  • 1

或者直接输入 .item, 生成:



 
 
  • 1

输入ul>li*9, 生成:

<ul>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
</ul>

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

输入ul>li.item$*3, 生成:

<ul>
   <li class="item1"></li>
   <li class="item2"></li>
   <li class="item3"></li>
</ul>

 
 
  • 1
  • 2
  • 3
  • 4
  • 5

其他常用快捷键:

<ctrl-y>, 展开简写式
<ctrl-y>d Balance a Tag Inward(选中包围的标签?)
<ctrl-y>D Balance a Tag Outward
<ctrl-y>n 进入下个编辑点
<ctrl-y>N 进入上个编辑点
<ctrl-y>i 更新<img>图像尺寸
<ctrl-y>m 合并文本行
<ctrl-y>k 删除标签
<ctrl-y>j 分解/展开空标签
<ctrl-y>/ 注释开关
<ctrl-y>a 从URL生成anchor标签
<ctrl-y>A 从URL生成引用文本

八、补充知识

(一)SELinux

selinux是linux的一个负责linux安全的内核模块。

SELinux 有三种工作模式,分别是:

  1. enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
  1. permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
  1. disabled:关闭 SELinux。

SELinux 工作模式可以在 /etc/selinux/config 中设定。
如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。
enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。

(二)vi/vim 键盘图

英文版:
在这里插入图片描述

中文版:
在这里插入图片描述

(三)配置java环境变量

下载在这里插入图片描述

解压:

[root@truedei ~]# tar -zxvf jdk-8u221-linux-x64.tar.gz 

 
 
  • 1

移动到特定目录:

[root@truedei ~]# mkdir /usr/java
[root@truedei ~]# mv jdk1.8.0_221/ /usr/java/

 
 
  • 1
  • 2

那么现在的安装目录就是:/usr/java/jdk1.8.0_221/

安装之前需要卸载掉以前的默认安装:

rpm -qa |grep java可以列出和java相关的已经安装的安装包

[root@truedei ~]# 
[root@truedei ~]# rpm -qa |grep java
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
tzdata-java-2018c-1.el7.noarch
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
[root@truedei ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
卸载:这是一个小技巧哦,很多教程都是教你一个一个卸载,悄悄的告诉你一个秘密,可以一块卸载,不过有风险,只要是查到的,就全被卸载了,谨慎使用。如果你使用docker的话,也会应该用到这样类似的指令,其实这就是shell命令的语法

[root@truedei ~]# rpm -e --nodeps $(rpm -qa |grep java)
[root@truedei ~]# rpm -qa |grep java                   
[root@truedei ~]# 

 
 
  • 1
  • 2
  • 3

配置环境变量:

[root@truedei ~]# vim /etc/profile
[root@truedei ~]# 

 
 
  • 1
  • 2

写入:

export JAVA_HOME=/usr/java/jdk1.8.0_221
export CLASSPATH=${JAVA_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin

 
 
  • 1
  • 2
  • 3

重新加载一下:

[root@truedei ~]# source /etc/profile
[root@truedei ~]# 

 
 
  • 1
  • 2

查看是否配置成功:


[root@truedei ~]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
[root@truedei ~]# 

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

(四)写给我班女生Vmware装Linux的教程(超详细)

写给我班女生Vmware装Linux的教程

(五)给工作室团队培训的linux基础(视频)

不太好,大家不要喷我,哈哈:深度工作室第一次培训-Linux基本操作

九、论:学习Linux的方法

大多数教程都是教你怎么使用,那我就来点与众不同的,聊聊学习的方法吧。

请先了解一下:工欲善其事,必先利其器。

意思大概是:要做好一件事,先要使工具锋利。

还有一个很好的话题:为什么中国人说的汉语这么6,为什么说英语却成一直存在的最大的难题。

原因很简单,因为孩子自小没有在英文的环境下长时间生活。

不是还有一句话:近朱者赤近墨者黑

用我们这的一句话就是:真是跟着啥人学啥人

那我想说话的也就是,你如果想学好,首先需要一个环境(可以是虚拟机,也可以是现在很活的Docker,也可以是云服务器)。

然后呢,就是

我觉得用是非常重要的,只学不用等于纸上谈兵。

那该怎么用?很简单:把你windows下的环境都放在linux下
因为咱们刚接触计算机的时候可能都在使用windows操作系统,自然对windows很熟悉,就像中国人一直生活在中国,周围的人都说汉语,就算你不想听,都不行,自然就学到了。

那你全挪到linux环境下,可以想象一下:哈哈,我的天呐,我打开的文件怎么保存,目录该怎么进去。哎呦,我这软件该怎么安装。

你还有可能安装好了,系统崩了。

但是这些都不是问题。我觉的学计算机的好处就是你可以随便的折腾。

我一直很赞同我一个老师说过的一句话:他会把他买的东西提升到最大的价值,例如:电脑的内存扩展,如果最多扩展到64G,他绝对要扩展满。

因为你刚买的计算机现在可能是有价值的,是最新的,是配置不错的,但是过几年,可能就不行了,不如让他发挥最大的作用。(小声说:他可能很有钱,哈哈)

在这里插入图片描述
千万不要死记硬背,划重点了:
1个字:
2个字:多用
3个字:一直用经常用

                                </div><div><div></div></div><div><div></div></div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
                                                    <div class="read-column-mask">
                <a class="about-more" href="https://blog.csdn.net/qq_17623363/category_9860173.html" target="_blank" data-report-query="utm_source=BWXQ_bottombtn" data-report-click="{&quot;mod&quot;:&quot;popu_838&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_17623363/category_9860173.html&quot;,&quot;strategy&quot;:&quot;pc付费专栏文章详情页跳转&quot;,&quot;ab&quot;:&quot;new&quot;}">了解本专栏</a>
                <a class="bt-subscribe-article lock-text" data-id="9860173" data-report-click="{&quot;mod&quot;:&quot;popu_837&quot;,&quot;strategy&quot;:&quot;pc详情购买按钮&quot;,&quot;ab&quot;:&quot;new&quot;}">
                订阅专栏 解锁全文
                </a>
            </div>
                                    <div></div>
                    
        <div class="person-messagebox">
            <div class="left-message"><a href="https://blog.csdn.net/qq_17623363">
                <img src="https://profile.csdnimg.cn/2/A/B/3_qq_17623363" class="avatar_pic" username="qq_17623363">
            </a></div>
            <div class="middle-message">
                                    <div class="title"><span class="tit "><a href="https://blog.csdn.net/qq_17623363" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}" target="_blank">TrueDei</a></span>
                    <!-- 等级,level -->
                    <img class="identity-icon" src="https://csdnimg.cn/identity/vip.png">                        <img class="identity-icon" src="https://csdnimg.cn/identity/blog7.png">                                                    <span class="flag expert">
                            <a href="https://blog.csdn.net/home/help.html#classicfication" target="_blank">
                            <img src="https://csdnimg.cn/release/phoenix/template/new_img/identityExpert.png" alt="">
                                博客专家
                            </a>
                        </span>
                                        </div>
                <div class="text"><span>原创文章 216</span><span>获赞 4155</span><span>访问量 39万+</span></div>
            </div>
                            <div class="right-message">
                                        <a class="btn btn-sm  bt-button personal-watch attented" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;ab&quot;:&quot;new&quot;}">已关注</a>
                                                            <a href="https://im.csdn.net/im/main.html?userName=qq_17623363" target="_blank" class="btn btn-sm bt-button personal-letter">私信
                    </a>
                                </div>
                        </div>
                    
    </div>
</article>
  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值