admin 管理员组文章数量: 887021
from: http://www.pctartarus/bbs/thread-911-1-1.html
多文件編輯
:e foo停止對當前文件的編輯,開始編輯foo文件
:e! foo同上,但是取消對當前文件的修改
:e! 裝入當前文件的最近保存的內容
[Ctrl+^] 返回到最近編輯的文件
:n 編輯下一個文件(當用vi同時編輯多個文件時)
:set autowrite(aw) 在用:n切換到下一個文件之前自動保存當前文件
:rew 返回到文件列表的第一個文件(當用vi同時編輯多個文件時)
:r foo 把foo文件的內容插入當前行的下面
多窗口(vim)
:sq 把當前窗口拆分為兩個
:new 打開一個新的空白窗口
:[Ctrl+w][Ctrl+w] 在窗口之間切換
n 把當前窗口變為唯一的窗口
:q 退出當前窗口
:qa 退出所有窗口
:xa 保存並退出全部窗口
[Ctrl]+ 增大窗口尺寸
[Ctrl]- 減小窗口尺寸
搜索與重複
/pat 向前搜索pat
?pat 向後搜索pat
/printf 向前搜索printf
?[0-0]$ 向後搜索行尾的數字
/^# 向前搜索行首的#
n 按上次搜索方向重複搜索
N 按與前次搜索的相反方向重複搜索
:set wrapscan(ws) 繼續搜索直至達到文件尾
:set ignorecase(ic) 搜索時不區分大小寫
:set magic 保留正則表達式字符的意義
fc 在當前行向前搜索字符c
Fc 在當前行向後搜索字符c
; 在當前行重複上次向前搜索
, 在當前行重複上次逆向搜索
替換
:.s/s1/s2 把當前行中第一次出現的s1替換為s2
:1,$s/s1/s2 把整個文件裡的s1替換為s2
:1,$s/echo/printf/g 把全部的echo替換為printf
:1,$s/s1/s2/gc 按交互方式把全部s1替換為s2
:1,$s/#//g 刪除文件中所有的「#」
:3,10s/^/#/g 在3至10行的行首插入「#」
s/$/;/ 在最後一行的行尾插入「;」
:1,$s/s1/s2/g 把所有的s1替換為s2
:1,$s/HEAD/<&>/g 把所有的HEAD替換為<HEAD>
標誌與書籤
ma 設置一個標籤a
'a 移動到標籤a
" 在當前標誌與前一個標誌位置之間切換
重做與恢復
. 重複上次命令
u 取消上次的編輯命令(在vim裡取消所有以前的命令)
[Ctrl+r] 重做上次取消的操作(只限於vim)
U 取消所有對當前行的操作
"4p 從緩衝區中恢復第4次最近的刪除操作
縮寫表示
:ab name stg 把name縮寫為stg
:unab stg 刪除stg縮寫
:ab 列出所有的縮寫
映射鍵
:map key commands 把key映射到commands
:map! key commands在輸入模式下把key映射到commands
:unmap key 取消命令模式下的key映射
:unmap! key取消輸入模式下的key映射
:map 顯示命令模式下所有的映射
:map! 顯示輸入模式下的所有映射
與UNIX的接口命令
:!cmd 執行UNIX的cmd命令
:!% 把當前文件作為shell或perl腳本執行
:r !cmd把cmd命令的結果插入到當前行的下面
:r !head -n 3 foo 把foo文件前三行內容插入到當前行的下面
sh 暫時退出UNIX shell 環境
[Ctrl+z] 暫停編輯(用fg命令可以返回vi編輯器)
:!cc% 編譯正在編輯的C程序
:!javac % 編譯正在編輯的Java程序
本文转自张昺华-sky博客园博客,原文链接:http://wwwblogs/sunshine-anycall/archive/2010/11/06/1870870.html ,如需转载请自行联系原作者
版权声明:本文标题:BSD vivim 命令大全(下)[转] 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724514929h754125.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论