Saturday, November 30, 2013

VIM: open file at previous position

add the following to your ~/.vimrc:
set viminfo='10,\"100,:20,%,n~/.viminfo

if it still does not work, the problem is likely to be that the ~/.viminfo does not belong to your account. Use the following command to fix it:
sudo chown YourUserName:YourGroup ~/.viminfo

Wednesday, November 27, 2013

MAC OS: use GNU tools instead of BSD ones

The default tools of MAC OS are the BSD tools unfortunately, e.g., ls, head, etc.
I would say BSD tools are really less advanced than GNU tools, e.g., you can use "head -n -100" with GNU head, but not with BSD head, and the BSD ls is less colorful than the GNU ls.

How can we use GNU tools instead of BSD ones:
(1) install GNU tools using port:
sudo port install coreutils findutils
(2) append the following line to your ~/.bash_profile
export PATH=/opt/local/libexec/gnubin:$PATH

MAC OS 10.8.5: color your ls command

The default ls command is from BSD, and the default ls command on most Linux systems is from GNU.
The BSD ls can not be very colorful in that we can not color files according to their extension names (its related environment variable is LSCOLORS), while the GNU ls is better in this sense by setting the environment variable LS_COLORS.

I am working on MAC OS 10.8.5, and originally I followed this post to configure my ls, but failed. Finally, I have done some changes to the post to make it work for me. My steps are as follows:
(1) install MAC ports which is a similar tool as apt-get on Ubuntu
(2) install the GNU tools using port:
sudo port install coreutils +with_default_names
which was supposed to override the original BSD ls command with the GNU ls command in the post, but it does not work for me. The installed GNU ls command appears with the name gls.
(3) add the following lines to my ~/.bash_profile:
export LS_COLORS 
export LS_OPTIONS='--color=auto'
# override the original BSD ls
alias ls='gls $LS_OPTIONS -hF'
alias ll='gls $LS_OPTIONS -lhF'

Tuesday, November 26, 2013

MAC OS: set default gcc

this way is using MACports, which you need to install in advance.

/opt/local/bin/port install gcc_select
port select --list gcc
sudo port select --set gcc gcc43