[unix]Vim初始化

工作站中 Vim 基本環境設置 (1)

在工作站中,預設的 Vim 是使用和 vi 相容的模式,在這種模式下,沒有辦法完全的展現出 Vim 所提供的強大功能,undo 的命令,也限制只能使用一次。我們先設定一下 Vim 不要使用 vi 相容模式,讓我們可以使用 Vim 提供的強大功能。

請先使用下列的命令 copy Vim 的內建的設定檔 example_vimrc 放到自己的家目錄中:

cp /usr/local/share/vim/vim63/vimrc_example.vim .vimrc

可以用

ls -al

列出所有的檔案看看是不是有 .vimrc 這個檔案的存在(有加上 -a 參數才會列出 . 開頭的檔案) 然後使用 Vim 在 .vimrc 檔案

Vim 的 3 個不同模式切換

VIM 是一個與眾不同的文字編輯器,不但是使用的方式和設計的理念與眾不同,所存在的平台也是超級多,在各種不同的作業平台和作業系統上都有移植版本。

Vim 和一般 Windows 上常見的記事本(Notepad) 最大的不同是 Vim 要進行工作模式的切換,平常會使用到的有插入模式(insert mode)正常模式(normal mode)命令模式(command mode)。一進行 Vim,按下i 或是 a 或是 o 就可以進入插入模式,就像是平常我們在使用記事本那樣,打鍵盤上的任何文字,都會在畫面上出現輸入的字母,按 back 鍵和 del 鍵就可以刪字,但是想要移動游標的時候,在 Vim 插入模式中是不行的,要移動游標只能在正常模式下進行。在任何時刻,只要按下鍵盤的 ESC 鍵,就可以回到正常模式。另外,如果想要進行檔案存檔或是離開 Vim, 這時就會動用到第 3 個模式。在正常模式時,按一下 :就會進入 命令模式(command mode)。要存檔,就先回到正常模式再打 :w [檔案名稱] 就可以存檔,想要離開 Vim ,一樣先回到正常'模式,輸入 :q 就可以離開。

有時候,直接輸入:q 會出現警告訊息,這是告訴你檔案變更了,是否確定不存檔,離開 Vim? 如果真的確定要離開,就請輸入 :q! 加上 ! 表示強制離開。

另外,有時檔案編完了,想要存檔同時離開,只要在正常模式下,輸入:wq 就可以同時存檔,並且離開 Vim。

輸入文字/離開

  • i(insert) 或 a(append)- 開始打字,先輸入幾行文字,待會兒才可以用來進行下面的操作。
  • ESC:w - 存檔
  • ESC:q - 離開
  • ESC:wq - 存檔+離開(超好用)

游標移動

在 Vim 中進行操作時,有時候會碰要使用大寫英文的機會,這是不要使用 Caps Lock 按鍵,請使用 shift + 小寫英文,才可以確保 Vim 正常的運作。有時候用 Cap Lock 切換為大寫英文後,忘了切換回小寫,因為 Vim 的操作是大小寫有分別的,所以會造成 Vim 的運作和自己所預期的有差別。

h 左,或 Backspace 或方向鍵。 j 下,或 Enter 或 +(要 Shift 鍵),或方向鍵。 k 上,或 方向鍵或 -(不必 Shift 鍵)。 l 右,或 Space 或方向鍵。 0 是數目字 0 而不是英文字母 o。或是 Home 鍵,移至行首(一行中第 0 個字元),(含空白字元)。 ^ 移至行首第一個非空白字元,注意,要 Shift 鍵。 $ 移至行尾,或 End 鍵。要 Shift 鍵。 gg 移至檔首(全文第一行之第一個非空白字元處)。 G 移至檔尾(全文最後一行的第一個非空白字元處) 數字G 移到第 X 行(超好用) CTRL-F 即 PageDown 翻頁(Forward,向前、下翻頁)。 CTRL-B 即 PageUp 翻頁(Backward,向後、上翻頁)。 游標移動的圖形記憶法 k h l j For Japanese users, Hiroshi Iwatani suggested using this: Komsomolsk ^ | Huan Ho <--- ---> Los Angeles (Yellow river) | v Java (the island, not the programming language) ^ <------------ .....This is a line with example text ~ <----------------- ---------------> 0 $ % <-----> if (a == (b * c) / d) ~ <----------------> % To err is human. To really foul up you need a computer. ~ ---------->---------------> fh fy To err is human. To really foul up you need a computer. ~ ---------------------> 3fl

基本編輯命令

. 就是一個小數點,這是重覆上次執行過的編輯命令, 非常好用的功能,一定要記得 在「插入模式」時,可以按 ctrl+o 暫時回到「常態模式」 A 在行尾開始輸入文字。這個好用,您不必管游標在此行的什麼地方,只要按 A 就會在行尾等著您輸入文字。(超好用) i 插入模式(insert mode) o 在游標所在行下開一新行來輸入文字(open)。 x 刪除游標所在處之字元,在中文指一個中文字。在 Vim 及 elvis 亦可用 Del 鍵。 yy (yank)複製游標所在行整行。或大寫一個 Y。 p (put)小寫 p 代表貼至游標後(下)。 dd 刪除一整行(delete line)。 u 這個太重要了,就是 undo,傳統的 vi 僅支援一次 undo,Vim 及 elvis 就不只了,Vim 幾乎是沒有限制的。 CTRL-R 這個也是很重要,就是 redo 鍵。 d^ 刪到行首 d$ 刪到行尾 / 在 c-mode 的情形下,按 / 就會在左下方出現一個 /,然後鍵入您要尋找的字串,按個 Enter 就會開始找。? 和 / 相同,只是 / 是向前(下)找, ? 則是向後(上)找。 n 繼續尋找。 N 繼續尋找(反向)。 CTRL-G 顯示目前在行數和目前編輯檔案的檔名。 CTRL-L 在畫面亂掉的時候,重繪螢幕。 cw change word, 直接修改目前游標所在的字。 b 游標移到目前所在 word 的開頭。 e 游標移到目前所在 word 的結尾。

在尋找的時候,Vim 會把找到的符合的字用高亮度顯示出來,要取消這種效果,只要在正常模式下打:nohlsearch,或是只打:noh也可以取消效果,但是這只是暫時性的,想要永遠取消,要在 .vimrc 檔的最後加上 set nohlsearch 這個設定。

在命令前加上數字吧

Vim 有一個非常棒的功能,就是可以在命令前面加上數字,表示這個命令要重覆幾次,像是輸入 5dd 表示要刪除 5 行,5j 表示游標要向下移動 5 行。5yy 就表示複製(yank) 5 行。

工作站中 Vim 基本環境設置 (2)

上面的的工作站中 Vim 基本環境設置 (1),copy 了 .vimrc 檔案過來,雖然整個工作的環境比原本的 Vi 相容模式好,同時也可以進行一次以上的 undo ,但是為了讓以後寫程式時用起來更方便,還是要手動修改一下 .vimrc 檔案的設定。

請使用

vim .vimrc

打開 .vimrc 檔,並移動游標到 .vimrc 檔案的最後一行,按一下 o 插入下面的幾行設定:

set expandtab set shiftwidth=4 set tabstop=4 set term=xterm-color syntax on set number set ignorecase

輸入完後,使用 :wq 存檔並離開 Vim

這樣就可以設定 vim 的使用環境為:

  • 按一下 tab 移動 4 個字元
  • 使用 4個 space 代替 tab 字元
  • 程式縮排 4 個字元
  • 打開語法高亮度顯示。
  • 畫面左邊顯示行號
  • 搜尋字串的時候,忽略大小寫

上面這些設定,如果覺得哪一個不想加,可以直接在那一行前面加上 " ,讓 Vim 把哪行當成註解,或是用 dd 把那一行刪除掉也可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值