最近的瞎捣鼓

题记: 生命的乐趣在于折腾.

关于 cygwin,git,sublime-text-2和archlinux的一些瞎折腾.

cygwin

安装cygwin

官网下载了一个setup.exe然后安装了。。
我下的是cygwin64。装完之后发现很鸡肋。基本没用。

过了几天,在看博客的时候发现了这个东西其实是个好东西。
因为它可以改造windows的弱渣cmd。~。~
把cygwin的bin加到环境变量里面。
然后cmd就可以用cygwin里面的命令了。例如vi。

发现缺点

但是非常痛苦的,我发现,cygwin里面的命令太少了。
连clear都没有。。擦之。然后,就百度“如何在cygwin里安装clear命令”
然后找到了一个有点坑的办法——写一个脚本,调用”cmd /c cls”,将就着用了。

安装cyg-apt

后来发现一个好东西,那就是apt-cyg。
但是,百度到的所有安装方法都是从googlecode上下载,但是googlecode被墙了。
这里不得不吐槽一句:GFW日了狗了,垃圾百度,搜到的东西全特么是几年前的东西,毛线用都没有。

然后我找了好久好久,最终在github上找到一个项目
然后用git clone下载下来放到cygwin64/bin文件夹里面,然后神器就有了。。
然后继续百度cyg-apt的用法,然后设置软件源为网易的镜像站并更新

1
2
apt-cyg -m http://mirrors.163.com/cygwin
apt-cyg update

然后开始安装自己想要的东西。。例如 emacs

apt-cyg install emacs

装完emacs之后git clone purcell大神的配置

git clone https://github.com/purcell/emacs.d.git

但是坑爹的是 很多效果用不粗来。。例如颜色。
不过不得不说的是 cygwin 让我在windows下的cmd里调试C/C++代码带来了很多方便,例如使用make
写一个makefile在源文件目录下,然后在cmd里面调用make命令就ok了
哦,这里的make有两种方法

  • 如果安装了mingw,可以把/MinGW/bin/mingw32-make.exe复制一份并重命名为make.exe
  • 也可以在cygwin里面用 apt-cyg install make

我也在网上搜了一些makefile文件的语法学习了一下。。找到一个不错教程
给我的C语言代码的编译带来了一定的便利。
这样cygwin在windows下就十分便利了。想要什么基本上都可以有。

git

再说说git吧,一开始我发现cygwin不好用的时候我用的git是windows的exe安装包的版本
然后发现gitbash也是个不错的东西(不过后来有了配置好的cygwin就基本不用了)
其实在有了apt-cyg之后就可以用命令安装git惹

apt-cyg install git

当然在此之前我在网上找了一些git的教程!发现一个很好的教程——廖雪峰主页上的Git教程
看完它你基本上可以很流利的用git惹,不过我没有看完,我现在的水平是够用就行。前几天还把我这一两周来刷的题目的代码给传到了我的github上面。

sublime text

然后是sublime text。这也是我在windows下写代码用的。用了这个基本就不想换别的东西惹。真的很好用。

第一步,安装ST

首先去官网下载sublime text 2。注意!前的windows和windows 64-bit下载链接是exe安装包,后面的portable version是压缩包。建议使用安装包,因为配置起来比较简单。。

第二步,配置专属ST

然后是一系列配置惹。第一个当然是安装 package Control插件的说!
方法太多了!不过还是推荐命令行安装的方法。在sublime text2的命令行输入代码:

1
import urllib2,os;pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

sublime text3 是这个代码:

1
import urllib.request,os,hashlib; h='7183a2d3e96f11eeadd761d777e62404'+'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

输完之后重启sublime text就行了。
然后按Ctrl+Shift+P呼出Sublime Text的命令行,输入install选择package install命令,然后等待出现插件包的列表,在里面选择需要的插件,按回车就可以!
然后就可以用package Control安装插件了,灰常方便的说!
然后不得不提的是几个好用的插件:

  • git &&Github Tools  //虽然我还没弄懂那个tools怎么用
  • theme-Soda     //一款不错的主题
  • PackageResourceViewer //神器,查找package好给力
  • Terminal //这是个神器啊。百度的那些插件介绍根本没有
  • BracketHighlighter //高亮代码 不是必须!
  • VIM Navigation //把Sublime Text加上一些vim的特性 不错

然后来说说为什么我认为那个terminal是神器!
安装完插件之后用PackageResourceViewer进入Terminal的包
找到Terminal.sublime-settings用Sublime Text 打开,把第一个命令改成:
"terminal": "cmd",
然后找到Default (Windows).sublime-keymap,
把所有的设置删掉, 改成:
"keys": ["alt+x"], "command": "open_terminal_project_folder"
保存,然后你会神奇的发现 按下 Alt+x之后cmd自动出现在你当前的工作目录。
其实我是想把这个命令行弄到sublime 里面的,但是没找到办法,先这样将就一下!
这样也不错了,因为我的电脑上现在有cygwin的很多命令,这样编译代码是很方便的。

sublime text这个编辑器真的快被我配置成IDE惹~
至少基本具备了IDE的一些功能,虽然很多都是命令操作!不过这样很好!

然后说说在sublime text 里面怎么编译C/C++文件把!
用的是Sublime Text 里面的build system!
首先用PackageResourceViewer找到C++的package
然后打开C++.sublime-build文件,修改成这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
true"cmd": ["cmd", "/c", "g++ -g -Wall", "${file}", "-o", "${file_path}/${file_base_name}"],
true"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
true"working_dir": "${file_path}",
true"selector": "source.c, source.c++",
true"encoding": "cp936",
"shell": true,
true"variants":
true[
truetrue{
truetruetrue"name": "Run",
truetruetrue"cmd": ["cmd","/c","g++ -g -Wall", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd","/k", "${file_path}/${file_base_name} < input > output && echo. & pause && exit"]
truetrue}

true]
}

这是我自己在百度上找各种方法,发现都不符合我自己的想法之后自己利用已知的命令行知识搞出来的奇葩做法。。因为我写C和C++一般是用来刷题的,然后喜欢用文件输入输入 以前一直要在源代码里加入两行代码:

1
2
freopen("input","r",stdin);
freopen("output","w",stdout);

后来发现了这个build system之后加上我自己学会的重定向知识,直接在命令里面重定向!perfect!
这样编译文件的快捷键是Ctrl+B,编译并运行是Ctrl+Shift+B。真是完美!

archlinux

然后再说说archlinux把! 先吐槽一下百度!这货就是一天坑!
找到的archlinux的教程全特么的几年前的!!日了狗了!
google又需要FQ,麻烦的要死要死的!
我这次是用的VirtualBox虚拟机来安装!

因为以前用VMwareWorkstation装成功过一次。。!
第二次就轻车熟路的找到了官方的wiki,然后找到安装教程,因为步骤我都知道了,所以只需要确认一下命令的参数是否正确!

  • 首先是分区:分区的话就只分一个,分多了麻烦而且没必要!真的。!我采用的是MBR+BIOS引导。不知道为什么GPT+UEFI一直没法安装成功。
  • 然后是挂载分区,修改pacman的源(我用的163的镜像站,谁叫它速度快呢!)用pacstrap安装基本系统 这里我喜欢安装三个 base base-devel net-tools,等待安装!
  • 然后生成 fstab并arch-chroot
  • 设置locale,wiki这里很详细
  • 设置时区,也没啥的
  • 硬件时间
  • 设置Hostname 并 修改hosts
  • 设置网络,这里要多说说,因为很多次被这里坑,系统装好了无法联网,天坑!
  • 先用ip link命令查看自己的网卡,我的是enp1s0,所以我配置网络的命令是这样的
  • systemctl enable dhcpcd@interface_name.service
  • 这样你的系统才会在启动之后自动dhcpcd获得ip地址。不然很难弄。如前我也就知道这样配置网络的方法了。其他的还没捣鼓过!
  • 然后是最后一步了安装并配置 bootloader 强烈建议跟着wiki来别瞎搞!我用的grub,十分好用,以前用syslinux,怎么搞都搞不成功!
  • 设置root密码并umount然后重启电脑。

以上是基本系统的安装!装好了之后就是图形界面了!
试过好多好多的图形界面,openbox用过,gnome3用过,cinnamon用过,都有这不好那不会的问题。最后没办法用了kde。

对了提一句,如果是用的虚拟机的话。有一个很坑爹的地方!就是在163的镜像站里面是找不到VirtualBoxguestAdditions的。。要用yaourt在aur里面才能找到。

一开始我发现163的镜像站里面竟然没有kde的package。。天坑!
然后因为GFW的原因yaourt也无法使用!百度找的所有方法全是法国的源。然后被墙!天坑!
找了n久才找到安装yaourt的方法。。天坑!
跟着这里配置好了我的yaourt!然后成功的安装好了kde。
现在还没有解决的问题是,我的图形界面里面中文竟然是乱码,天坑!暂时还没有找到解决办法!
最后感慨一句,还是官方wiki靠谱!

然后今天早上我用我的移动硬盘在我的笔记本上捣鼓了一个早上。系统是装好了!
但是如何引导arhclinuxiso文件的问题没把我郁闷死!找了无数的工具!

UltraISO没用,cygwin里的dd也没用(差点没把U盘搞坏),最后用USBWriter解决了问题。。
还是官方wiki里推荐使用的。不得不说官方wiki真的不要太好用!

现在仍然还在配置界面的路上!希望坑少点!