Copying local files and folders with rsync

To copy the contents of one local folder into another, replacing the files in the destination folder. The parameter -a also makes the copy recursive and preserve the modification times, but additionally it copies the symlinks that it encounters as symlinks, preserve the permissions, preserve the owner and group information, and preserve device and special files. This is useful if you are copying the entire home folder of a user, or if you are copying system folders somewhere else.

rsync -rtav source/ destination/



Trailing Whitespaces in VIM

Trailing whitespaces don’t bother me in general, let’s be clear, I don’t like them but there are other thousands things that bother me more. Although I hate (with hate, I mean it) when someone sends me a patch and I can’t apply it cleanly because of the trailing whitespaces… in this moment I understand this guy and this other trailing whitespaces hater.

Since I use Vim I leave here some solutions to remove and highlight them automatically.

Add to your .vimrc


autocmd FileType c,cpp,vhd,h,sv,svh autocmd BufWritePre <buffer> %s/\s\+$//e



highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()


Got it from:

Moving The Ctrl Key

Two years ago I spent some weeks debugging a VME bus VHDL core using a logic analyzer. Looking for the probes in the logic analyzer suitcase I found “Happy Hacking Keyboard Lite 2”. It makes sense to ship a logic analyzer with such a compact keyboard, and since I’ve used and I’m in love with the keyboard. There was only a “problem”, the Ctrl Key and Caps key were swapped. After  a couples of ours I got used to typing with this layout. Since then anytime that I’m using a different keyboard, I swap immediately the keys:

Happy Hacking Keyboard Lite 2



/usr/bin/setxkbmap -option ctrl:swapcaps

If you want the changes persistent you can use xmodmap, it is an utility for modifying keymaps and pointer button mappings in Xorg. Here it is the .Xmodmap:

 ! Swap Caps_Lock and Control_L
 remove Lock = Caps_Lock
 remove Control = Control_L
 keysym Control_L = Caps_Lock
 keysym Caps_Lock = Control_L
 add Lock = Caps_Lock
 add Control = Control_L

I got the idea from this super user post

Yet, I should add a udev rule to swap the keys when I connect a keyboard to the laptop, I will post the rule and post