2019年1月17日 星期四

vim 常用指令大全

search 
跳脫符號  "\"

ex /\.tw  搜尋 ".tw"

全部搜尋後取代


:%s/key_words/target_to/g


ref :https://www.opencli.com/linux/vi-vim-search-and-replace-string



不管系統管理還是寫程式,在檔案內對字串進行搜尋並取代十分常用,在 Unix Like 環境下常會用 sed 或 perl 做 search & replace.

如果在開啟檔案後需要取代字串,其實在 vi 及 vim 內同樣可以做搜查及取代字串,做法跟 sed 差不多,以下是 vi 做搜尋及取代的語法:

:%s/search_from/replace_to/g
以上 vi 的語法會將檔案內,所有 “search_from” 的字串替換成 “replace_to”。

將上面指令最後加上一個 “c” 字元,可以在取代前,向使用者確認:



:%s/search_from/replace_to/gc
除了可以替換輸入的字串,更可以設定搜尋時,略過英文大小寫的差異,以下對 “search_from” 及 “SEARCH_FROM” 同樣匹配:

:%s/search_from/replace_to/gi
如果不想將檔案內所有匹配的字串取代,而是只將目前一行的字串取代,可以將指令最前面的 “%” 刪除取可:

:s/search_from/replace_to/g
如果只要取代指定行數範圍的字串,可以用以下格式,例如要搜尋並取代第 50 行至 100 行匹配的字串,可以這樣:

:50,100s/search_from/replace_to/gc





開TAB 
:tabe "exist_file.txt" 開啟已經存在的檔案
:tabe newfile.txt 建立一個 名為newfile.txt 之檔案
TAB 之間跳換  gt  

ref :
http://silverwind1982.pixnet.net/blog/post/346179083-vim-%E6%8C%87%E4%BB%A4

http://www.vixual.net/blog/archives/234


vim 垂直編輯 
在normal模式下按 ctrl+v 进入列编辑模式
通过 hjkl 选中编辑的区域.
shift+i 或者 shift+a.
输入要插入的内容.
ctrl+\[ 或 esc.


http://bioankeyang.blogspot.com/2014/12/vim.html





vim 全選複製 
: ggyG 
:gg


全选(高亮显示):按esc后,然后ggvG或者ggVG

全部复制:按esc后,然后ggyG

全部删除:按esc后,然后dG


解析:

gg:是让光标移到首行,在vim才有效,vi中无效 

v : 是进入Visual(可视)模式 

G :光标移到最后一行 

选中内容以后就可以其他的操作了,比如: 
d  删除选中内容 
y  复制选中内容到0号寄存器 
"+y  复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用 

ref :https://www.cnblogs.com/webStyle/p/4354464.html




最後附上 
VIM 使用手冊
http://vimdoc.sourceforge.net/htmldoc/usr_toc.html

沒有留言:

張貼留言