keywords: mac, vim, restore cursor, remember last editing line, viminfo, file marks
這個問題困擾我很久了。我Mac (OSX 10.5.6) 上的vim開啟時,總是沒有辦法記憶該檔案上次離開時的游標,可能是關鍵字不好下,google好幾次都沒成功。今天用 mac vim "file marks" ,終於在某大陸論壇找到答案了!就這麼簡單:
在~/.vimrc裡加上這行:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
如果想切成兩行,也可以在第二行首用\當作分隔記號寫成:
au BufReadPost * if line("'\"") > 0|if line("'\"")
\ <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
That's it!
Google Adsense
aNobii網路書櫃
2009年3月19日 星期四
2008年3月31日 星期一
[C/C++] 彩色控制碼(unix-like)
這篇在WWW上的顯示效果不好@@"(第一行)
第二行代表在BBS上的控制碼,第三行C/C++的彩色控制碼。
=======================================================
亮黃字
*[1;33m
\x1b[1;33m
暗紅字
*[0;31m
\x1b[0;31m
暗白字綠底
*[0;37;42m
\x1b[0;37;42m
閃亮紫字藍底
*[1;5;35;44m
\x1b[1;5;35;44m
還原
*[m
\x1b[m
ANSI│黑 紅 綠 黃 藍 紫 靛 白
前景│30 31 32 33 34 35 36 37
背景│40 41 42 43 44 45 46 47
C/C++的escape sequence
http://www.cppreference.com/escape_sequences.html
[註]:
比較之下可發現兩邊只是差在 * 變成\x1b而已
而\x1b(也可以寫成\33)在C/C++的escqpe sequence
代表的是十六進位的27 (1*16+11*1) (3*8+3*1)
也就是ASCII code的ESC字元
@PTT adrianshum:
BBS 的 * 在這情況下根本就是 escape 而不是 '*'.
只是 ESC 不算 printable character 所以才拿 * 來代替。
彩色控制碼必須在前面配合著ESC字元才能轉換
而控制碼大概可以分成:
開頭:[ 結尾:m 中間部分是分號間隔的數對:X;Y;Z;...
第二行代表在BBS上的控制碼,第三行C/C++的彩色控制碼。
=======================================================
亮黃字
*[1;33m
\x1b[1;33m
暗紅字
*[0;31m
\x1b[0;31m
暗白字綠底
*[0;37;42m
\x1b[0;37;42m
閃亮紫字藍底
*[1;5;35;44m
\x1b[1;5;35;44m
還原
*[m
\x1b[m
ANSI│黑 紅 綠 黃 藍 紫 靛 白
前景│30 31 32 33 34 35 36 37
背景│40 41 42 43 44 45 46 47
C/C++的escape sequence
http://www.cppreference.com/escape_sequences.html
[註]:
比較之下可發現兩邊只是差在 * 變成\x1b而已
而\x1b(也可以寫成\33)在C/C++的escqpe sequence
代表的是十六進位的27 (1*16+11*1) (3*8+3*1)
也就是ASCII code的ESC字元
@PTT adrianshum:
BBS 的 * 在這情況下根本就是 escape 而不是 '*'.
只是 ESC 不算 printable character 所以才拿 * 來代替。
彩色控制碼必須在前面配合著ESC字元才能轉換
而控制碼大概可以分成:
開頭:[ 結尾:m 中間部分是分號間隔的數對:X;Y;Z;...
訂閱:
文章 (Atom)

