標籤:blog http java 使用 檔案 資料
vim快速入門
2007-07-09 20:19:13| 分類: Linux|舉報|字型大小 訂閱
vim有三種模式-普通(可視命令)模式,命令列模式,編輯模式。啟動vim後在任何模式下按Esc鍵進入到普通模式。普通模式下輸入:斷行符號進入命令列模式,此時vim最視窗最下面一行為: 後面可以輸入命令列命令.在執行任何命令前要確保在相應的模式下。
1.啟動與退出
1)vi filename (啟動vim)
2)命令列模式下 :wq=> 儲存並退出,:q!=>強行退出,:e!=>放棄修改檔案內容,重新載入該檔案,:x=>退出,檔案更改並儲存,ZZ=>同:x命令 (退出vim)
2.基本設定-命令列模式下
- :set nu 顯示行號
- :syn on 顯示文法高亮
- :set shiftwidth=4 設定自動縮排 4個空格, 當然要設自動縮排先.
- :set sts=4 即設定 softtabstop 為4. 輸入 tab 後就跳了 4 格.
- :set tabstop=4 實際的 tab 即為 4個空格, 而不是預設的 8 個.
- :set expandtab 在輸入 tab 後, vim用恰當的空格來填充這個 tab.
- :setsuffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc
- 在vim中開啟檔案時, 按 tab鍵補齊檔案名稱時它會忽略上述檔案.
- :set enc=utf-8設定文字編碼
設定設定檔:
:scriptnames 列出設定檔.vimrc所在的目錄
:version 使用者所用的設定檔.vimrc的位置
3.游標定位(普通模式、可視模式)
$ 當前行的末尾
0 當前行的開頭
^ 當前行第一個字母
gg 檔案頭
G 檔案尾
`` 回到游標跳轉前的位置
H 跳到螢幕上的第一行
M 跳到螢幕的中間行
L 跳到螢幕上的最後一行
w: 游標以單詞向前移動至單詞第一個字母
b: 與w相反,向後移動至單詞的第一個字母
e: 游標以單詞向前移動至單詞最後一字母
ge: 與e相反,向後移動至單詞的最後一字母
%: 移動到與制匹配的括弧上去(),{},[],<>等
CTRL+G 得到當前游標在檔案中的位置
向下翻頁(pagedown): CTRL+f
向上翻頁(pageup): CTRL+b
向下移動半屏:CTRL+d
向上移動半屏:CTRL+u
補記:
.游標定位(普通模式、可視模式)$ 當前行的末尾0 當前行的開頭^當前行第一個字母gg 檔案頭G 檔案尾`` 回到游標跳轉前的位置H跳到螢幕上的第一行M 跳到螢幕的中間行L 跳到螢幕上的最後一行w:游標以單詞向前移動至單詞第一個字母b:與w相反,向後移動至單詞的第一個字母e:游標以單詞向前移動至單詞最後一字母ge:與e相反,向後移動至單詞的最後一字母%:移動到與制匹配的括弧上去()...
游標定位技巧的補充:
‘‘ 同`` -- 此命令相當有用, 它移動游標到上一個標記處, 比如用 gd, *等查
找到某個單詞後, 再輸入此命令則回到上次停留的位置.
‘. -- 此命令相當好使, 它移動游標到上一次的修改行.
`. -- 此命令相當強大, 它移動游標到上一次的修改點.
補記:
行號+G 跳轉到指定行
fx 向右跳到本行字元x處(x可以是任何字元)
Fx 向左跳到本行字元x處(x可以是任何字元)
tx 和fx相同,區別是跳到字元x前
Tx 和Fx相同,區別是跳到字元x後
4.刪除和複製(普通模式、可視模式)
刪除:
- dd: 刪除一行
- dw: 刪除一個單詞,需將游標移到單詞的第一個字母。
- d$: 刪除當前游標到該行的行尾的字母
- daw: 刪除一個單詞,游標在單詞任意位置
- dnw: 刪除N個單詞
- dnj: 向下刪除n行
- dnk: 向上刪除n行
- J: 刪除分行符號,將游標移到改行,按shift+j刪除行尾的分行符號,下一行接上來了。
複製:
- yy: 複製一行
- yw: 複製一個單詞,需將游標移到單詞的第一個字母。
- yaw: 複製一個單詞,游標在單詞任意位置
- ynw: 複製N個單詞
- ynj: 向下複製n行
- ynk: 向上複製n行
修改:
- cl: 更改當前字元
- cw: 修改當前單詞到結尾
- cc: 修改當前行
粘貼:p,粘貼用x、d、y操作的文本
可視模式下的方式:
可視模式下,選中要編輯的文字,可執行d、y,操作。
寄存器下的操作:
在複製前可以先指定一個寄存器,方法是在雙引號後跟一個字母,例如"a指定了寄存器a,"B指定了寄存器B。所以,"ayy把當前行放進了寄存器a,以後就可以用"ap來粘貼寄存器a裡的內容了。如果不確定寄存器裡放了什麼內容,可以使用:reg來查看。
Vim提供了一個很有用的特殊寄存器"+,它的內容就是系統剪貼簿的內容。可以在Vim裡用"+p粘貼出來。
5.多檔案操作
- :ls (:buffers) 顯示buffer列表
:bn 轉到下一個buffer
:bp 轉到上一個buffer
:b3 轉到編號為3 的buffer
:bindex.html 轉到名為index.html的buffer
:sav 另存新檔……
:sethidden 切換buffer時不給出儲存當前buffer的提示
CTRL-G 查看當前buffer狀態資訊,如檔案名稱、總行數、修改後未儲存等。
- :sp(:vsp) 檔案名稱 vim 將分割出一個橫(縱)向視窗, 並在該視窗中開啟新檔案.從 vim6.0開始, 檔案名稱可以是一個目錄的名稱,把該目錄開啟並顯示檔案清單,在檔案名稱上按斷行符號則在本視窗開啟該檔案, 若輸入O則在新視窗中開啟該檔案, 輸入 ?可以看到協助資訊 。
- :e檔案名稱 vim 將在原視窗中開啟新的檔案, 若舊檔案編輯過,會要求儲存.
- c-w-w(即 ctrl鍵與 w 鍵一同按下) vim 割了好幾個視窗怎麼辦?輸入此命令可以將游標迴圈定位到各個視窗之中.c-w-h游標到左視窗,c-w-j下視窗,c-w-k上視窗,c-w-l右視窗。
- ls 此命令查看本vim 程式已經開啟了多少個檔案, 在螢幕的最下方會顯示出如下資料:
1 %a "usevim.html" 行 162
2 # "xxxxxx.html" 行0
- 其中: 1 表示開啟的檔案序號, 這個序號很有用處.
%a 表示檔案代號, % 表示當前編輯的檔案,
# 表示上次編輯的檔案
"usevim.html" 表示檔案名稱.
行162 表示游標位置.:b序號(代號) 此命令將指定序號(代號)的檔案在本視窗開啟, 其中的序號(代號)
就是用 :ls 命令看到的.
- :setdiff 此命令用於比較兩個檔案, 可以用
:vsp filename
命令開啟另一個檔案, 然後在每個檔案視窗中輸入此命令,就能看
到效果了
源地址:http://blog.163.com/xinjun_java/blog/static/5118203120076981913266/