學習環境配置: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.pswp.cn/news/284866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284866.shtml
英文地址,請注明出處:http://en.pswp.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中圖層的…