在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用。作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来。
当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了。Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令。
移动命令
h "左 j "下 k "上 l "右 w "光标移动到下一个单词的首字符 a word forward b "光标移动到上一个单词的首字符 e "光标移动到下一个单词的尾字符 ge "光标移动到上一个单词的尾字符 $ "将光标移动到当前行行尾 ^ "将光标移动到当前行第一个非空白字符 0 "将光标移动到当前行第一个字符
注: 这些命令除了'0'命令以外都可以在前面接受一个记数,2$;上面所有命令都可以在前面接受一些操作命令,如d$,dw等。
修改命令
x "删除一个字符 d "其后跟任何一个位移命令,将删除从当前光标到位移终点处的文本 "内容,如dw,delete word c "与d命令功能类似,不同的在执行完删除后命令进去Insert模式,change dd "删除一整行 yy "复制一整行 p "把剪贴板内容粘帖到当前位置
vimdiff 1.c 2.c "创建一个垂直分割窗口比较这两个文件不同的地方
搜索命令
f<a> "单字符搜索,fa是在当前行搜索下一个a,find a /string "全文本搜索一个字符串,如要找到单词"func"则用/func "如果文本有多个func,按下n就会移动到接下来的func位置上 "n前面也可以接受数字计数,如3n,就会找紧接第三个func ?string "与/string的功能相同,唯一的区别就是搜索的方向相反
注:
- 可以用:set noingorecase 忽略字符大小写;
- /和?命令都有记忆功能,可以用多次<UP>键选择搜索历史,记录命令最大的历史条数可以在会话viminfo上更改;
- 搜索字符.*/?%$^[]等特殊字符要在前面加一个反斜杠转意;
- 搜索到孤立的单词,也就是前后都没有其他字符的(除了空格,制表符),如只搜the,不想搜到there或whether这样的,要用/\<the\>;
- 可以用:set hlsearch把要搜索的单词高亮显示;
定位命令
G "光标移动到文件的最后一行,或者Shift+G 15G "光标移动到文件的第15行,或者15gg gg "光标移动到文件的第一行 45% "光标移动到文件45%处 H "光标移动到当前屏幕的最开始 M "光标移动到当前屏幕的中间 L "光标移动到当前屏幕的最后
注: CTRL+g查看当前光标位置
滚屏命令
CTRL+U "窗口向上滚半屏 CTRL+D "窗口向下滚半屏 CTRL+E "向上滚一行 CTRL+Y "向下滚一行 CTRL+F "窗口向上滚一整屏 CTRL+B "窗口向下滚一整屏 zz "当前行置于屏幕中央 zt "当前行置于屏幕顶端 zb "当前行置于屏幕底端
分割窗口
:split "横着分割 :new "横着添加一个新窗口 :vsplit "竖着分割 :vnew "竖着添加新窗口 CRTL+W w "按顺序切换小窗口 :qall "关闭所有窗口 :wall "保存所有窗口
标签(tab)命令
:tabedit filename "在正在编辑的vim窗口建一个叫filename的tab页 :tab split "新建一个tab页 gt "移动到下一个tab页 gT "移动到下一个tab页
附上一个vim的命令集锦图片(图片来源于网络,原始出处已不可考):
vim确实很好用,这个不管是在linux还是windows平台:
linux平台上怎么装这里就不说了:sudo apt-get intasll vim
windows平台上去官网下载vim,有gvim跟vim命令行的,都可以用:官网:http://www.vim.org/
下面是好的学习网站:
交互式vim游戏:http://vim-adventures.com/
open vim,也是交互式的,可以看turorial非常好:http://www.openvim.com/index.html
其他的学习网站:http://www.cnblogs.com/kekec/archive/2013/03/16/2932751.html
简明 Vim 练级攻略: http://coolshell.cn/articles/5426.html
无插件vim编程教程: http://coolshell.cn/articles/11312.html
vi 技巧和诀窍:令人刮目相看的 10 个超酷命令:http://www.ibm.com/developerworks/cn/aix/library/au-vitips.html
常用vim命令: http://www.cnblogs.com/lizhenghn/p/3675011.html
vim命令(如果你真的想要做好一件事):http://desert3.iteye.com/blog/751556
当然还有其他很多,慢慢来你会成为高手的....