關閉 vim 搜尋的反白 指令

來源:http://usagiblog.wordpress.com/2006/03/03/%E9%97%9C%E6%96%BC-vim-%E7%9A%84%E6%90%9C%E5%B0%8B%E5%8F%8D%E7%99%BD/

關於 vim 的搜尋反白

各家 distrobution 或者各個工作站的 global settings 裡的 vimrc 可能都有各自的設定, 若您遇到的環境剛好預設把「搜尋反白」打開(set hlsearch), 說不定您會想把它關掉.

如果是搜尋動作完, 想把反白弄掉而已, 可以用「讓 vim 搜尋一段檔案裡不可能出現的字串」的方式, 我的習慣是打:

/aaaaaaaaaaaaaaaaaaaaaa

若想暫時關掉, 可打:

:set nohlsearch

或是打上:
:noh

若想把這功能永遠關閉的話, 在 ~/.vimrc 裡寫入 set nohlsearch 就可以了.

廣告

user join to a new group and effect right now without logout

user join to a new group and effect right now without logout

If you modified your own user account while logged in with it, the changes will not have an effect until you next login.

If you don’t want to logout, you can replace your current BASH shell with a new one to achieve the same thing by running the follow:

# su -m -c “$(which $SHELL) –login -i" $(whoami)

This will switch-user to yourself, replacing your current shell with a new instance of itself. You will be prompted for your password.

If you don’t specify a command to run you’ll probably get an error to the effect of “cannot execute bash: file not found” because it won’t be on the environment. You could use –shell to point su at it, but your shell wouldn’t be a “login” shell and therefore won’t read your .bash_profile etc.

squid setting transparent proxy for every version

If you don’t want to modify the browser for using a proxy there is a method that is called “Transparent Proxy“; to use this you need to do like this:

Prior to Squid Version 2.6:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Squid Version 2.6 to 3.0:

http_port 3128 transparent

Squid Version 3.1+ :

http_port 3128 intercept

Thanks for taking the time to read this guide, I hope it’s helpful.

domain name list to ip resolve by host, xargs, commands

domain_list

jerry@jerry-P5Q-office:~$ less query_domain_list

tw.yahoo.com
www.google.com.tw
www.facebook.com
www.hinet.net
www.bot.com.tw
query_domain_list (END)

resolve ip address from domain_list

jerry@jerry-P5Q-office:~$ cat query_domain_list |xargs -L 1 host >> resoleved_list
jerry@jerry-P5Q-office:~$ less resoleved_list

tw.yahoo.com is an alias for tw.frontpage.wg1.b.yahoo.com.
tw.frontpage.wg1.b.yahoo.com is an alias for tw-tw.frontpage.wg1.b.yahoo.com.
tw-tw.frontpage.wg1.b.yahoo.com has address 203.188.197.200
tw-tw.frontpage.wg1.b.yahoo.com has address 119.160.246.241
www.google.com.tw has address 74.125.31.94
www.google.com.tw has IPv6 address 2404:6800:4008:c00::5e
www.facebook.com is an alias for star.c10r.facebook.com.
star.c10r.facebook.com has address 31.13.75.23
star.c10r.facebook.com has IPv6 address 2a03:2880:10:8f02:face:b00c:0:1
star.c10r.facebook.com mail is handled by 10 smtpin.mx.facebook.com.
www.hinet.net has address 202.39.224.7
www.hinet.net has IPv6 address 2001:b000:180:3::7
www.bot.com.tw has address 103.21.63.120
www.bot.com.tw has address 210.71.212.120

bash中trap的用法

bash中trap的用法
[root@cnc-squid2 ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1
36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5
40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9
44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13
52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9
56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5
60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1
64) SIGRTMAX

概要
可能有這樣的情況,你不想讓使用你的腳本的用戶不合時宜地通過鍵盤來結束進程,比如因為必須提供輸入或者必須進行某些清理工作。 trap 語句捕獲到這些序列且能夠被編製出來在不活這些信號時候執行一系列的命令。

trap 語句的語法是這樣的:
trap [COMMANDS] [SIGNALS]
意味著 trap 命令會捕捉在 SIGNALS 列出的可能帶有或者沒有 SIG 前綴的信號,或者信號數字。如果一個信號是 0 或者 EXIT,那麼 COMMANDS 在shell退出時候執行。如果其中一個信號是 DEBUG,COMMANDS 列表在每個簡單命令後執行。一個信號也可以指定為 ERR;這樣的情況下 COMMANDS 在每次一個簡單命令以非零狀態退出時執行。注意這些命令不會在非零退出狀態來自一個 if 語句時執行,或者來自一個 while 或者 until 循環。如果一個邏輯 AND (&&) 或者 OR (||) 出現在非零退出狀態中,所有都不會執行,或者當一個命令的退出狀態使用 ! 操作符進行取反。
除非遭遇一個非法的信號,否則 trap 命令的返回狀態是0。trap 命令帶一組選項,在Bash的info頁面中有記錄。

這裡有個非常簡單的例子,從用戶處捕捉 Ctrl+C, upon which a message is printed. 當你嘗試著不指定 KILL 信號來殺掉這個程序時,什麼都不會發生:

#!/bin/bash
# traptest.sh

trap “echo Booh!" SIGINT SIGTERM
echo “pid is $$"

while : # This is the same as “while true".
do
sleep 60 # This script is not really doing anything.
done

Bash怎樣解釋陷阱
每當Bash收到一個預先設置等待命令完成的陷阱的信號,在命令結束之前,陷阱不會執行。當Bash通過內建的命令 wait 來等待一個異步的命令,陷阱已經發送的信號的接受會導致內建的 wait 立即在陷阱執行後返回一個大於128的推出狀態。
檢測一個已經使用的變量
每當調試較長的腳本的時候,你可能想給於一個變量 trace 屬性和陷阱的 DEBUG 信息。通常你會像這樣 VARIABLE=value來給變量賦值。用下面的幾行來代替變量的聲明可能會為你腳本的行為提供非常有價值的信息:
declare -t VARIABLE=value

trap “echo VARIABLE is being used here." DEBUG

# rest of the script
在退出的時候清理垃圾
whatis 命令依靠由cron執行 makewhatis.cron 生成的數據庫:
#!/bin/bash

LOCKFILE=/var/lock/makewhatis.lock

# Previous makewhatis should execute successfully:

[ -f $LOCKFILE ] && exit 0

# Upon exit, remove lockfile.

trap “{ rm -f $LOCKFILE ; exit 255; }" EXIT

touch $LOCKFILE