Write with Vim – 2

Write with vim – 1 Vim的下一步 对我自己而言,也是在这一步。 现在你对Vim已经有所了解,hjkl肯定会,f也能熟用,,可能被你映射成了<leader>,或者等等。但是我还是想要写这个blog,来指引新手(诚然,也是指引自己)。 这个时候,我建议你将Esc映射成ii,然后禁用Esc " 强迫自己不使用ESC inoremap <Esc> <nop> inoremap ii <ESC> 在[Write with vim – 1]()中,记录模式我已经用的比较习惯了(@+寄存器),但是正则表达式用的一般般,仍然需要好好的努力才行。 想要用好Vim,离不开github 大概更多人喜欢在 http://www.vim.org 上寻找自己心仪的插件,但是我认为还是在github上找更好。为什么? 因为许多的开源项目都已经在github上扎根,许多优秀的插件都能在[github]()上找到其身影。比如:Nerdtree, YouCompeleteME, airline, etc. 你可以通过github的star数量来判断这个项目的优秀程度。当然,更确切说,是把star做为参考标准之一。 等等优点,想到我再补充。 使用插件管理器,管理你的插件 我个人比较推荐 Plug 插件使用git更新插件,将vimscripts分离,控制不同功能的插件可以放在不同的位置,保证了vimrc的整洁。从而提高了个人配置的维护性。 Plug 是首当其冲的插件,有了他,你会发现更新插件,安装新的插件一切都是那么的简单。 Plug 的使用方法在 README 里面有,但是如果英文比较差 — 没关系,也能看懂。 下一步的学习 很多人觉得vimscript学习起来有些困难,这里有份非常好的文档。准确说是翻译。翻译者辛苦了。 http://learnvimscriptthehardway.onefloweroneworld.com/

Read More

ZOJ3861:Valid Pattern Lock(DFS)

记录路径的题目,我是用been数组来保存当前选择的牌数,使用able表示能否选择,con表示中间的数字。奈何active point的设定是,必须存在这个点才能链接,例如1 3 1 3 9这组数据,因为2,5不存在所以不能连接 — 小坑,万万没想到。 #include <iostream> #include <cstdio> #include <cstring> #include <set> #include <vector> #include <map> #include <algorithm> #include <queue> #include <cmath> #include <bitset> using namespace std; // 大数,内存处理 #define INF 0x3f3f3f3f #define lln long long int #define MEM(a) memset(a, 0, sizeof(a)) #define MEMM(a) memset(b, -1, sizeof(b)) #define DEB(x, n) cout << (x) << " " << (n) << endl #define CR printf("\n") // 调试用 template <class Type> void debug(Type a[], int len) { for(int i = ; i < len ; i++) { cout << a[i] << "

Read More

aecium Ubuntu 使用赛尔网

1,先把aecium的下载地址贴出来 2,下载后首先解压,把它复制到bin文件夹下作为指令来使用。具体命令为: $sudo cp aecium /usr/bin/program_name 3,然后打开你的网卡设置,把赛尔分配给你的ip等信息填上再执行 $program_name -h IP -u username -p password -d eth0 -f  (program_name为上一步你给程序起的名字,IP为学校计费服务器的IP地址,鲁东大学计 费服务器为10.0.2.5 ,username和password分别为上网验证用的用户名和密码,eth0为 你 接网线的网卡,一般默认都是eth0)  运行后,如图所示 4,鲁大校园网赛尔验证成功通过 5,如果你想下线的话,可以使用如下命令  $program_name -l  (我感觉此功能一般没用) 其它的使用方法见下: Usage 1: ./aecium [-h Host] -u Username -p Password [-d Device] [-f] -h Host attestation host IP address. -u Username your user name. -p Password your user password. -d Device your network card interface. -f find server type.

Read More

archlinux-安装笔记

本文出自 花了一些时间安装arch,记录一下注意事项。 多重引导 安装多重引导支持 pacman -S os-prober 更新grub grub-mkconfig -o /boot/grub/grub.cfg 写入mbr grub-install --target=i386-pc --recheck /dev/sda 图形化的网络服务 systemctl enable NetWorkManager.service wifi配置 如果你想使用wifi(在图形界面下),首先你要停止dhcp服务systemctl stop dhcpcd.service 开机停止运行systemctl disable dhcpcd.service 我们之所以这样,是为了保证我们的NetWorkManager正常服务。 session控制器 我选择的是gdm,原因是slim我不太会配置。 pacman -S gdm 另外patheon在我书写这篇blog的时候,还是存在不少bug.官方的wiki在这个时候也不是很好用了。期待patheon! 添加了官方给的patheon库,会出现一个gnome-lib的冲突 输入法的注意事项 使用fcitx需要注意.xprofile的配置问题。 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx" 其他的安装情况可以看看官方的wiki sudoer的配置 使用pacman安装sudoer pacman -S sudo 编辑/etc/sudoers,取消wheel用户组的注释. vim配置 在gvim中,直接使用synatic on而不用判断,否则会造成代码高亮失效。 locate配置 安装以后发现locate命令无法使用,安装pacman -S mlocate 另外, mark一个项目:gitbook, 很好很强大 应该涵盖了所有的我安装时候遇到的问题,如果还有什么问题,我再后续添加。

Read More

archlinux-安装笔记2-常用软件转载

本文出自svtter.com 1 Installing Arch Linux * 1.1 Pre-Installation 是i686 架构吗(Pentium II or AMD K6-2以上)?安装方式CD? FTP? * 1.2 Acquiring Arch Linux 从这里寻找速度最快的镜像: http://wiki.archlinux.org/index.php/Mirror * 1.3 Preparing Installation Media MD5 校验,烧录。 * 1.4 Using the CD-ROM 设置好光驱启动。 * 1.5 Common Installation Procedure o 1.5.1 Loading a non-US Keymap 用km 工具选择非英语键盘 o 1.5.2 Running Setup # /archlinux/setup o 1.5.3 Configure Network (FTP Install only) 仅适用于FTP 安装方式,CD 安装没有必要配置好网络。 o 1.5.4 Prepare Hard Drive 给磁盘分好区,root分区(/)放在主分区比较好(放到逻辑分区也可以), 如果有 Windows 系统,那它也要占据一个主分区。个人的250G硬盘是这样分区的: # cfdisk sda1 /boot 150M xfs sda2 Windows 18G ntfs sda3 FreeBSD 32G ufs sda5 / 600M xfs sda6 SWAP 2xRam xfs (SWAP分区的大小推荐为内存大小的2倍) sda7 /var 20G xfs sda8 /tmp 5G xfs sda9 /opt 10G xfs sda10 /usr 20G xfs sda11 /home 105G xfs sda12 Files 不大于32G fat32 如果需要加密磁盘,并启用开机验证,推荐使用luks : 通常加密 root 分区和 /home 分区 # modprobe dm-crypt # modprobe aes-i586 # cryptsetup –y luksFormat /dev/sda3 输入密码,确认。 # cryptsetup –y luksFormat /dev/sda10 输入密码,确认。 # cryptsetup luksOpen /dev/sda3 root 解开root 分区,并建立一个映射:/dev/mapping/root # cryptsetup luksOpen /dev/sda10 home 解开 /home 分区,并建立一个映射:/dev/mapping/home 参看:http://wiki.

Read More

archlinux-支持iphone插线3G

本文出自svtter.com 度娘永远都不会告诉你真正的答案是什么。 因为没有了CMCC-EDU,用上了坑爹联通,所以现在习惯于手机USB上网了。。(博主套餐流量看个技术是可以的。。) 然后问题就来了。。CentOS7上可以安稳的使用3G但是arch似乎不支持,百度了好久也没有找到。 后来bing 了一下iphone arch linux神奇的wiki就出来了,随后就申请了个帐号,准备在学习Linux的过程中学习英语。给wiki 做点翻译还是可以的吧= =。 方法很简单, 因为我用的是NetworkManager, 所以最简单而行之有效的方法是: pacman -S libimobiledevice pacman -S usbmuxd ifuse 重启机器或者NetworkManager搞定。 虽然无关技术以及学术痛痒,但是总感觉在Linux普及上尽了一份力= =

Read More

autojump – 一个快速目录跳转脚本

之前一直都在用z.shell这个东西来进行跳转,突然发现还有一个更好用的工具autojump 安装 这个工具在Ubuntu下安装十分简单,直接通过: $ sudo apt install autojump 安装之后,记得把. /usr/share/autojump/autojump.sh添加到你的shell配置文件中,例如.zshenv或者.bashrc等等。 之后,使用man autojump来查看如何使用这个命令,十分方便。 osx $ brew install autojump 把autojump添加到你的[oh-my-zsh]的plugin列表中,例如: plugin( autojump ) 用法方面,举个例子。 进入目录 可以直接使用: j github 进入github这个目录; 通过shell在图形界面打开目录 通过: jo github 来在图形界面中打开github这个目录。 赶紧尝试一下吧!

Read More

bash-使用func和一般的sh的不同

本文出自svtter.com 如果只是单纯的使用function, 在终端中是可以使用的,但是当作一个可执行文件是不行的(例如:使用python调用) 如果使用.sh的方式来处理, 那么问题就在于管理上了 — 可能大量有大量的sh文件,所以说需要权衡利弊,自己使用了。 bash学得并不好,也没有认真的研究,暂且记录一下,日后再做补充

Read More

bestcoder#2-1

一开始直接使用结构体搞结果wrong了,随后查看了某牛的代码发现应该直接在区间上累加 — 得出结论不要直接使用复杂的结构体,转变成简单的数据形式未尝不是一个好方法 原题: http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=526&pid=1001 #include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <map> #include <algorithm> #include <queue> #include <cmath> #include <bitset> using namespace std; // 大数,内存处理 #define INF 0x3f3f3f3f #define lln long long int #define MEM(a) memset(a, 0, sizeof(a)) #define MEMM(a) memset(b, -1, sizeof(b)) #define DEB(x, n) cout << (x) << " " << (n) << endl #define CR printf("\n") // 调试用 template <class Type> void debug(Type a[], int len) { for(int i = ; i < len ; i++) { cout << a[i] << "

Read More