博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BSD vi/vim 命令大全(下)[转]
阅读量:6263 次
发布时间:2019-06-22

本文共 1678 字,大约阅读时间需要 5 分钟。

from: 

文件編輯

: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程序 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!
本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2010/11/06/1870870.html
,如需转载请自行联系原作者
你可能感兴趣的文章
linux下so动态库一些不为人知的秘密(上)
查看>>
文本框设置只读,后台可获取
查看>>
JAVA:URL之String组件
查看>>
架构,改善程序复用性的设计~目录(附核心原代码)
查看>>
逆向反汇编代码推算C++的局部变量
查看>>
100个推荐的图片/内容滑动条
查看>>
秋式广告杀手:广告拦截原理与杀手组织
查看>>
内存溢出
查看>>
如何重启IIS进程
查看>>
分享一个javascript alert精简框架
查看>>
【解决方法】System.IO.FileNotFoundException
查看>>
Android 命令行编译、打包生成apk文件
查看>>
java中解决组件重叠的问题(例如鼠标移动组件时)
查看>>
使用 Navicat 8.0 管理mysql数据库(导出导入数据)
查看>>
视频会议
查看>>
EntityFramework系列:SQLite.CodeFirst自动生成数据库
查看>>
网络编码
查看>>
定时任务-在spring中配置quartz
查看>>
【springMVC 后台跳转前台】1.使用ajax访问的后台,后台正常执行,返回数据,但是不能进入前台的ajax回调函数中 ----2.前后台都没有报错,不能进入ajax回调函数...
查看>>
redis+Keepalived主从热备秒级切换
查看>>