網上整理 不寫來源了
把當前工作目錄改爲當前所編輯文件的目錄可以使用下面的命令實現:
:cd %:p:h
如果想讓gVim在打開文件的時候自動改變工作目錄爲所打開文件的目錄,那就要用到:autocmd命令了:
:autocmd BufEnter * cd %:p:h
參考幫助:
:help :cd
:help :lcd
:help filename-modifiers
:help autocommand
如果只是想使用系統粘貼板的話直接在輸入模式按Shift+Inset就可以了,下面講一下vim的粘貼板的基礎知識,有興趣的可以看看,應該會有所收穫的。
vim幫助文檔裏與粘貼板有關的內容如下:
-
vim有12個粘貼板,分別是0、1、2、...、9、a、“、+;用:reg命令可以查看各個粘貼板裏的內容。在vim中簡單用y只是複製到“(雙引號)粘貼板裏,同樣用p粘貼的也是這個粘貼板裏的內容;
-
要將vim的內容複製到某個粘貼板,需要退出編輯模式,進入正常模式後,選擇要複製的內容,然後按"Ny完成複製,其中N爲粘貼板號(注意是按一下雙引號然後按粘貼板號最後按y),例如要把內容複製到粘貼板a,選中內容後按"ay就可以了,有兩點需要說明一下:
- “號粘貼板(臨時粘貼板)比較特殊,直接按y就複製到這個粘貼板中了,直接按p就粘貼這個粘貼板中的內容;
- +號粘貼板是系統粘貼板,用"+y 將內容複製到該粘貼板後可以使用Ctrl+V將其粘貼到其他文檔(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右鍵複製的內容複製到vim中,需要在正常模式下按"+p ;
- 要將vim某個粘貼板裏的內容粘貼進來,需要退出編輯模式,在正常模式按"Np,其中N爲粘貼板號,如上所述,可以按"5p將5號粘貼板裏的內容粘貼進來,也可以按"+p將系統全局粘貼板裏的內容粘貼進來。
注意:在我這裏,只有vim.gtk或vim.gnome才能使用系統全局粘貼板,默認的vim.basic看不到+號寄存器
用v塊選擇
1. 以16進制查看文件
:%!xxd
文本看起來像這樣: 0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。修改了十六進制部分並不導致可打印字符部分的改變,反之亦然。
最後, 用下面的命令把它轉換回來: :%!xxd -r
只有十六進制部分的修改纔會被採用。右邊可打印文本部分的修改忽略不計。
欲知更多詳情,參見 xxd 手冊。