学习环境配置:Manjaro、MSYS2以及常见软件

0.前言

  在说Manjaro之前,要先说一下Linux发行版。对于各大发行版而言,内核只有版本的差异,最重要的区别就是包管理系统。常见的包管理系统包括:Pacman,Apt , Yum和Portage。在学习Linux的过程中,和大数人一样,一开始接触的是Ubuntu。之后是Ubuntu的衍生版Elementary OS和Xubuntu。放弃Ubuntu的原因有很多,其一是Ubuntu并不友好,侧边栏在软件过多时一点都不好用,其二是Ubuntu没有桌面图标,设置比较繁琐。但是真正让我开始考虑其他发行版的原因是:有一些软件在Ubuntu上安装比较困难,没有现成的包可用,而且apt的下载速度总是不够理想。

  Elementary OS比Ubuntu漂亮,之后我了解到这是Xfce和Gnome的差异。总的来说,我个人觉得Xfce的界面确实比较友好一点,至于KDE也觉得不好用。Xubuntu是基于Xfce的Ubuntu的衍生版,所以我也用过了一小段时间。

  至于接触ArchLinux,有一定的偶然。ArchLinux的原版对于初学者来说,安装是有一点困难的。我最初试了几次,都失败了。后来虽然成功安装了,但是配置GUI总是不理想。于是开始尝试ArchLinux的发行版,如ArchBang和Manjaro。最后选择了Manjaro的Xfce版。

  下面是http://distrowatch.com/最近的状态:

  

  作为ArchLinux的发行版,ArchBang和Manjaro都在其中,其热度可见一斑。而Manjaro大概是满足我的基本需求:比较友好的界面(Xfce),比较快的软件更新速度(Pacman)。虽然我装过一次Gentoo的发行版Sabayon Linux,但是界面比较丑。

1.Manjaro的安装与配置

  Manjaor的官网:https://manjaro.org/。进入:https://manjaro.org/get-manjaro/,然后下载Manjaro XFCE 32-bit 。

  本文假定你具备在VMware安装Linux或者通过U盘在物理机上安装Linux的能力,参考:Manjaro 安装记,Manjaro 安装配置。

  安装完成后可以设置一下Teminal和Mousepad。

  Teminal设置:14号Droid Sans Mono字体,透明度约0.5。如图所示:

  

  Mousepad设置:14号Droid Sans Mono字体,颜色方案:Classic。如图所示:

  

  记得换成国内比较快的源。系统->软件更新->首选项->官方软件仓库。选择China按速度排序。

  

   也可以自己设置mirrorlist,文件位于:/etc/pacman.d/mirrorlist。我的mirrorlist:

 1 ##
 2 ## Manjaro Linux repository mirrorlist
 3 ## Generated on 01 January 2017 09:55
 4 ##
 5 ## Use pacman-mirrors to modify
 6 ##
 7 
 8 ## Location  : China
 9 ## Time      :  0.033
10 ## Last Sync : 
11 Server = http://ftp.cuhk.edu.hk/pub/Linux/manjaro/stable/$repo/$arch
12 
13 ## Location  : China
14 ## Time      :  0.190
15 ## Last Sync : 
16 Server = http://mirrors.tuna.tsinghua.edu.cn/manjaro/stable/$repo/$arch
17 
18 ## Location  : China
19 ## Time      :  1.414
20 ## Last Sync : 
21 Server = http://mirrors.ustc.edu.cn/manjaro/stable/$repo/$arch
View Code

  软件安装:使用GUI或者Pacman。Pacman使用见ArchLinux的Wiki。

  

2.MSYS2的安装和配置

  在很多情况下,需要在Windows下使用一些Linux下的常见软件,如grep,awk , gcc , gmp , gsl等。虽然Windows10提供了Windows Subsystem for Linux(WSL),但是依然不成熟。常见的方案是:MSYS,GnuWin32以及 Cygwin。不过,cygwin比较繁琐。使用MSYS2算是一个比较好的方案。

  MSYS2的官网:http://msys2.github.io/。配置参考:MSYS2开发环境搭建,MSYS2的源配置。

  MSYS2的源配置:mirrorlist.msys、mirrorlist.mingw64和mirrorlist.mingw32。

 1 ##
 2 ## MSYS2 repository mirrorlist
 3 ## Changed on 2014-11-15
 4 ##
 5 ##中国科学技术大学开源软件镜像
 6 Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MSYS2/$arch
 7 ##北京理工大学镜像
 8 Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
 9 ##日本北陆先端科学技术大学院大学 sourceforge 镜像
10 Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
11 ##The UK Mirror Service Sourceforge mirror
12 Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
13 ## Primary
14 Server = ftp://148.251.42.38/MSYS2/$arch
15 ## Sourceforge.net
16 Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
View Code
 1 ##
 2 ## 64-bit Mingw-w64 repository mirrorlist
 3 ## Changed on 2014-11-15
 4 ##
 5 ##中国科学技术大学开源软件镜像
 6 Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/x86_64
 7 ##北京理工大学镜像
 8 Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
 9 ##日本北陆先端科学技术大学院大学 sourceforge 镜像
10 Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
11 ##The UK Mirror Service Sourceforge mirror
12 Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
13 ## Primary
14 Server = ftp://148.251.42.38/MINGW/x86_64
15 ## Sourceforge.net
16 Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
View Code
 1 ##
 2 ## 32-bit Mingw-w64 repository mirrorlist
 3 ## Changed on 2014-11-15
 4 ##
 5 ##中国科学技术大学开源软件镜像
 6 Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/i686
 7 ##北京理工大学镜像
 8 Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
 9 ##日本北陆先端科学技术大学院大学 sourceforge 镜像
10 Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
11 ##The UK Mirror Service Sourceforge mirror
12 Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
13 ## Primary
14 Server = ftp://148.251.42.38/MINGW/i686
15 ## Sourceforge.net
16 Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
View Code

  如果只是使用32的x86软件,可以在pacman.conf中屏蔽掉mingw64。

1 [mingw32]
2 Include = /etc/pacman.d/mirrorlist.mingw32
3 
4 # [mingw64]
5 # Include = /etc/pacman.d/mirrorlist.mingw64
6 
7 [msys]
8 Include = /etc/pacman.d/mirrorlist.msys

  Mintty设置:14号Consolas字体,透明度:高。如图所示:

  

  安装Clang和Vim示例:

  

3.其他软件和配置

  Vim的配置.vimrc示例:

 1 syntax on
 2 set hls is
 3 set number
 4 set ruler
 5 set cindent
 6 set tabstop=4
 7 set shiftwidth=4
 8 set softtabstop=4
 9 set autoindent
10 set smarttab
11 set smartindent
12 set cursorline
13 set nobackup
14 set noswapfile
15 set mouse=a
16 set helplang=cn
17 set backspace=indent,eol,start
18 
19 augroup filetypedetect
20 au BufNewFile,BufRead *.asy setf asy
21 augroup END
22 filetype plugin on
23 
24 "--------------------------------------"
25 func CodeFormat()
26     let lineNum = line(".")
27     if &filetype == 'c'
28         exec "%! astyle -A3Lfpjk3NS\<CR>"
29     elseif &filetype == 'cpp'
30         exec "%! astyle -A3Lfpjk3NS\<CR>"
31     elseif &filetype == 'java'
32         exec "%! astyle -A2Lfpjk3NS\<CR>"
33     else 
34         echo "Can't support".&filetype."file type."
35     endif
36     exec lineNum
37 endfunc
38 "--------------------------------------"
39 map <S-F> <Esc>:call CodeFormat()<CR>
40 "--------------------------------------"
41 func CodeRun()
42     exec "w"
43     if &filetype=="c"
44         exec "!clear&&tcc -run %"
45     elseif &filetype=="cpp"
46         exec "!clear&&g++ -o %< && ./%<"
47     elseif &filetype=="java"
48         exec "!clear&&javac % && java %<"
49     elseif &filetype=="python"
50         exec "!clear&&python %"
51     endif
52 endfunc
53 "--------------------------------------"
54 map <F5> <ESC> :call CodeRun()<CR>
55 imap <F5> <ESC> :call CodeRun()<CR>
56 vmap <F5> <ESC> :call CodeRun()<CR>

  Windows下Mintty和Vim配置右键菜单示例Vim.reg:

1 Windows Registry Editor Version 5.00
2 
3 [HKEY_CLASSES_ROOT\*\shell]
4 
5 [HKEY_CLASSES_ROOT\*\shell\Vim]
6 @="Vim"
7 
8 [HKEY_CLASSES_ROOT\*\shell\Vim\Command]
9 @="D:\\Software\\MSYS2\\usr\\bin\\mintty.exe -e D:\\Software\\MSYS2\\usr\\bin\\vim.exe %1"

  如图所示,用Mintty结合Vim打开C语言文件:

  

  打开opengl.c的效果:

  

4.其他可能需要的软件:

  流程图软件Graphviz , 代码阅读软件Understand , 文档阅读SumatraPDF(可与GhostScript结合) ,搜索软件Everything。

  矢量图形描述语言:Asymptote。代码编辑器请使用Notepad++,代码格式化结合NppStyle使用。Python集成包请使用:Anaconda。

  

  

 

转载于:https://www.cnblogs.com/wurui1994/p/6279501.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS微课1000例】0017:ArcGIS测量距离和面积工具的巧妙使用

文章目录 1 交互式测量2 测量要素ArcGIS提供了快速测量距离和面积的工具,通过测量工具可对地图中的线和面进行测量。 工具条: 测量工具位于【工具】工具条上,如下图所示: 测量界面: 功能按钮简介: 可使用此工具在地图上绘制一条线或者一个面,然后获取线的长度与面的面…

[转]HTTP/3 未来可期?

2015 年 HTTP/2 标准发表后&#xff0c;大多数主流浏览器也于当年年底支持该标准。此后&#xff0c;凭借着多路复用、头部压缩、服务器推送等优势&#xff0c;HTTP/2 得到了越来越多开发者的青睐&#xff0c;不知不觉的 HTTP 已经发展到了第三代。本文基于兴趣部落接入 HTTP/3 …

只让输入数字、字母、中文的输入框

1.输入框只能输入字母和下横线的正则表达式 <input type"text" onkeyup"this.valuethis.value.replace(/[^_a-zA-Z]/g,)" onpaste"this.valuethis.value.replace(/[^_a-zA-Z]/g,)"> 2.只能输入数字和英文 <input type"text" …

华为手机logcat不出日志解决方案

进入拨号界面输入&#xff1a;*#*#2846579#*#* 依次选择ProjectMenu---后台设置----LOG设置---LOG开关 点击打开转载于:https://www.cnblogs.com/liugangBlog/p/8058259.html

Android之启动奔溃提示异常java.lang.SecurityException: Permission Denial: startForeground

1 问题 适配Android高版本,启动奔溃,提示异常 java.lang.SecurityException: Permission Denial: startForeground from pid=1824, uid=10479 requires android.permission.FOREGROUND_SERVICEat android.os.Parcel.createException(Parcel.java:

【ArcGIS微课1000例】0018:ArcGIS设置相对路径和数据源

文章目录 ArcGIS设置相对路径ArcGIS设置数据源ArcGIS设置相对路径 菜鸟们在使用ArcGIS时经常会碰到将地图文档(.mxd)拷贝到别的电脑上或改变一个路径时,出现数据丢失的现象,具体表现为图层前面出现一个红色的感叹号,如下图所示。 出现以上问题的根本原因是数据GSS.tif的原…

AI 之 OpenCvSharp 安卓手机摄像头识别人脸

OpenCvSharp是OpenCv的包装器&#xff0c;相当于底层是OpenCv只是用.Net的方式调用底层的接口的实现&#xff0c;所以&#xff0c;从OpenCv的知识架构来讲&#xff0c;源码是一样一样的。就是换个语言写而已。1. OpenCvSharp 尽可能地以原生 OpenCV C/C API 风格为蓝本。2. Ope…

C#中二进制和流之间的各种相互转换

一. 二进制转换成图片间的转换 12345MemoryStream ms new MemoryStream(bytes); ms.Position 0; Image img Image.FromStream(ms); ms.Close(); this.pictureBox1.Image二. C#中byte[]与string的转换代码 1. 123System.Text.UnicodeEncoding converter new System.Text.Uni…

ASCII码16进制对照表

ASCII码对照表 ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息互换标准代码&#xff0c;ASCⅡ&#xff09;是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统&#xff0c…

如何获得带时间的ping的结果

ping 192.168.1.91 | awk {print strftime("%Y-%m-%d %H:%M:%S") "\t" $0} 转载于:https://blog.51cto.com/351842/2051815

iVX低代码平台系列制作APP简单的个人界面

一、前言 我们知道&#xff0c;目前市场上开发app或者小程序这些应用&#xff0c;都离不开一个个人界面&#xff0c;就是类似下面的这种界面&#xff0c;我们可以利用iVX低代码平台来开发&#xff0c;简单快速&#xff0c;如果还有不知道iVX低代码平台是啥的&#xff0c;猛戳这…

王高利:Apache Httpd负载均衡Tomcat并实现Session Sticky和Session Cluster

Apache Httpd负载均衡Tomcat并实现Session Sticky和Session Clusterhttp://anyisalin.blog.51cto.com/10917514/1766736转载于:https://blog.51cto.com/wanggaoli/1770659

对比C#聊聊C++大一统的初始化运算符 {}

一&#xff1a;背景 最近发现 C 中的类型初始化操作&#xff0c;没有 {} 运算符搞不定的&#xff0c;蛮有意思&#xff0c;今天我们就来逐一列一下各自的用法以及汇编展现&#xff0c;本来想分为 值类型 和 引用类型 两大块&#xff0c;但发现在 C 中没这种说法&#xff0c;默认…

[转]【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

前言 很多小伙伴反馈说&#xff0c;高并发专题学了那么久&#xff0c;但是&#xff0c;在真正做项目时&#xff0c;仍然不知道如何下手处理高并发业务场景&#xff01;甚至很多小伙伴仍然停留在只是简单的提供接口&#xff08;CRUD&#xff09;阶段&#xff0c;不知道学习的并发…

【ArcGIS微课1000例】0019:什么是Shapefile文件?Shapefile文件之全解

文章目录 Shapefile文件组成Shapefile文件创建Shapefile文件大小限制Shapefile文件注意事项ESRI Shapefile(shp),或简称shapefile,是美国环境系统研究所公司(ESRI)开发的一种空间数据开放格式。该文件格式已经成为了地理信息软件界的一个开放标准,这表明ESRI公司在全球的…

扼杀 304,Cache-Control: immutable

随着近些年社交网站的流行&#xff0c;越来越多的人学会了“刷”网页 ── 刷微博&#xff0c;刷朋友圈&#xff0c;刷新闻&#xff0c;刷秒杀页。这里的“刷”&#xff0c;就是刷新的意思&#xff0c;在浏览器里&#xff0c;你可以通过点击刷新按钮&#xff0c;或者用快捷键&a…

Eolink是国产API接口管理的无冕之王

一、传统API接口管理的缺陷 1、前言 项目开发我们都知道在一个项目团队中是由很多角色组成&#xff0c;最常见团队的就是前端开发工程师、客户端开发工程师、服务端开发工程师组成一个团队&#xff0c;团队之间进行合作&#xff0c;一般我们都离不开API接口管理和测试&#x…

linux下永久添加静态路由

在linux下永久添加静态路由有两种方法&#xff1a; 添加路由的命令&#xff1a; 1&#xff0c;route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0#添加一条静态路由 route add default gw 192.168.0.1#添加默认路由 route del -net 192.168.1.0/24 gw 192.…

【ArcGIS微课1000例】0020:关于ArcCatalog,你知道多少?

文章目录 一、ArcCatalog简介1. ArcCatalog启动和关闭2. ArcCatalog界面3. 菜单栏4. 目录树5. 搜索窗口6. 主窗口7. 工具栏二、ArcCatalog主要功能1. 文件夹连接2. 添加空间数据库连接3. 文件类型的添加和移除4. 文件特性的显示设置5. 导出数据6. 查看数据7. ArcCatalog中图层的…