Thursday, April 12, 2012

[Vim] Vim 5 分鐘快速入門

最近社團裡有人想用vim

那我就介紹一下基本用法
和怎樣拿來寫C程式最方便
先介紹一下Vim的兩種最簡單的模式:插入模式和命令模式
按i, a可以從命令模式進入插入模式
在其他模式按esc就可以回到命令模式

介紹常用命令:

上下左右:kjhl 或者直接用方向鍵
:q離開、:wq儲存並離開 :w 儲存 :q!離開但不儲存
x 刪除、u 復原
/往後尋找、?往前尋找、n 下一個、N 前一個
全文尋找並取代: :1,$s/word1/word2/g
dd刪除整行(常用!)、ndd(n是行數)刪除n行
yy複製整行、p 貼上在下一行
:!{cmd} 執行指令 (ex: :! gcc test.c)

常用設定
可以直接用:set設定 (ex :set autoindent)
或編輯設定檔~/.vimrc (Linux / Mac) $HOME\_vimrc

syntax on 語法高亮度表示
autoindent 自動縮排
cindent C/C++的自動縮排(好用!)
nu/nonu 顯示行號/不顯示行號
tabstop=4 
shiftwidth=4  (tab字元寬度)
com CMD(指令名稱 必須大寫) command (指令內容) 自訂指令 大概這樣
分享一下我寫C用的.vimrc

set cindent
set nu
set shiftwidth=4
set tabstop=4
syntax on
com C !g++ % -Wall -g #編譯C++
com CC !gcc % -Wall -g -ansi #編譯C
com R :!./a.out #執行
參考資料:http://linux.vbird.org/linux_basic/0310vi.php#vi_command

[GNU/Linux] Kernel 3.3 Ath9k link is not ready

前幾天升級kernel 3.3

發現無線網路不能連@@

看了一下log之後發現

ADDRCONF(NETDEV_UP): wlan0: link is not ready

上網google了一下

終於找到解法了!

https://bbs.archlinux.org/viewtopic.php?id=139365


$ sudo pacman -S linux-headers
$ wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
$ tar -xv -f compat-wireless-2.6.tar.bz2
$ cd compat-wireless-2012-04-09
$ make
$ sudo make install
$ sudo make unload
$ sudo sync; sudo reboot #重新開機
這樣就OK了!