Showing posts with label unix. Show all posts
Showing posts with label unix. Show all posts

Friday, March 2, 2012

Important history options to be placed in .bashrc

Configuring the command-line history options in .bash_login (or .bashrc) is really useful. The following is a cadre of settings that I use on my Macbook Pro.
Setting the following makes bash erase duplicate commands in your history
export HISTCONTROL="erasedups:ignoreboth"
I also jack my history size up pretty high too.
export HISTFILESIZE=500000 export HISTSIZE=100000
Another thing that I do is ignore some commands from my history. No need to remember the exit command.
export HISTIGNORE="&:[ ]*:exit"
You definitely want to set histappend. Otherwise, bash overwrites your history when you exit.
shopt -s histappend
Another option that I use is cmdhist. This lets you save multi-line commands to the history as one command.
shopt -s cmdhist

Tuesday, February 14, 2012

Some Vim shortcuts

Some productivity tips:
Smart movements
* and # search for the word under the cursor forward/backward. 
w to the next word 
W to the next space-separated word 
b / e to the begin/end of the current word. (B / E for space separated only) 
gg / G jump to the begin/end of the file.
%jump to the matching { .. } or ( .. ), etc.. 
{ / } jump to next paragraph.
Quick editing commands
I insert at the begin. 
A append to end. 
o / O open a new line after/before the current. 
v / V visual mode (to select text!) 
Shift+R replace text 
C change remaining part of line.
Combining commands
Most commands accept a amount and direction, for example:
cW = change till end of word 
3cW = change 3 words 
BcW = to begin of full word, 
change full word ciW = change inner word. 
ci" = change inner between ".." 
ci( = change text between ( .. ) 
4dd = delete 4 lines 
3x = delete 3 characters. 
3s = substitute 3 characters.
Useful programmer commands
r replace one character (e.g. rd replaces the current char with d).
 ~ changes case. 
J joins two lines 
Ctrl+A / Ctrl+X increments/decrements a number.
. repeat last command (a simple macro) 
= indent line (specify a range, or use visual mode)
Macro recording
Press q[key] to start recording. 
Then hit q to stop recording. 
The macro can be played with @[key].
 
VIM as a file comparator:
Use '-d' switch to compare two files in VIM. This command splits the VIM screen vertically and shows the differences.
 
vim -d chmod-restore.pl chmod-restore1.pl