原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html

在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的功能相同,唯一的区别就是搜索的方向相反

注:

  1. 可以用:set noingorecase 忽略字符大小写;
  2. /和?命令都有记忆功能,可以用多次<UP>键选择搜索历史,记录命令最大的历史条数可以在会话viminfo上更改;
  3. 搜索字符.*/?%$^[]等特殊字符要在前面加一个反斜杠转意;
  4. 搜索到孤立的单词,也就是前后都没有其他字符的(除了空格,制表符),如只搜the,不想搜到there或whether这样的,要用/\<the\>;
  5. 可以用: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 练级攻略

无插件Vim编程技巧

Linux下Vim工具常用命令的更多相关文章

  1. [日常] Linux下vim的常用命令总结

    vim按d表示剪切按dd剪切一行vim命令:命令模式 /关键字 n继续向下查找 vim的多行注释:1.按ctrl + v进入 visual block模式2.按上下选中要注释的行3.按大写字母I,再插 ...

  2. linux下vim的常用指令

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  3. 查看Linux下系统资源占用常用命令(top、free、uptime)

    本文介绍下,在linux中查看系统资源占用的三个命令:top.free.uptime,通过实例学习下它们的用法,有需要的朋友参考下 一,top命令 1.作用top命令用来显示执行中的程序进程,使用权限 ...

  4. 查看Linux下系统资源占用常用命令

    一 top命令 1.作用top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数d:指定更新的 ...

  5. Linux下C++开发常用命令

    本页面记录本人在Linux下进行C++开发时使用的常用命令,注意这里不包括比如ls,mv等linux命令,这里会持续更新.首先假设你只有一个源程序文件,叫vec.cpp,编译后的可执行程序叫vec(本 ...

  6. Linux下的一些常用命令(一)

    在Linux环境下敲各种命令是再正常不过了,尤其是现在大多少服务器均为Linux系统,但是我又记不住这么多命令,只是偶尔在项目做完发布到服务器上的时候会涉及到,所以在网上找了一些命令,在此记录一下~ ...

  7. 总结Linux 下Redis 操作常用命令(转)

    Redis的配置 Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8 ...

  8. Linux下安装maven-及常用命令

        Linux下安装maven1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令: 2. ...

  9. Linux下一些简单常用命令的总结

    Cent os常用命令 查看当前目录信息: l s a:显示所有包括隐藏文件 l :列表显示数据 h:显示数据大小 查看命令帮助: XXX --help[比如:l shel p] 清除控制台信息: c ...

随机推荐

  1. 【 D3.js 高级系列 】 总结

    高级系列的教程已经完结,特此总结. 月初的时候曾说过本月内完结高级教程,今天是最后一天,算是可以交差了.O(∩_∩)O~ 如此一来,[入门]-[进阶]-[高级]三个系列的教程算是完成了.本教程的目的在 ...

  2. jrtplib跨网络通讯NAT穿透问题解决方法

    前几篇文章讲了使用jrtplib在Android和pc端进行通讯的方法 在实际项目中,手机端和pc端一般不会在同一个子网内,两者之间联络可能要走路由器之类的NAT(网络地址转换 Network Add ...

  3. Liunx系统学习一,liunx系统的目录结构及含义

    LIUNX系统目录结构: “/” ===>这是linux文件系统的入口,也是整个linux文件系统的根目录,linux不同于windows,没有所谓的C,D,E盘,整个liunx只有一个根分区 ...

  4. css中将div定位居中

    一直,我是认为定一个width,然后写一句margin:0 auto,就可以,但是有时也会不管用. 例如当我要定一个宽度为700的div,用相对定位定在中间.任你怎么拉伸都是居中.而position: ...

  5. 关于KOBE 退役

    今天在网上看到一行话,写在KOBE 退役之际 关于职业,最值得问的是自己我有没有像科比那样始终表现出对团队的忠诚和对职业的热爱?从不被别人的误解和攻击打倒?在团队最困难的时候站出来做能做的一切?用职业 ...

  6. FILEtoJPG-神秘文件 -更新(软件BUG及建议可以在这里反馈)

    FILEtoJPG-神秘文件(文件神隐助手) 论坛神器!彩虹系列作品之神秘文件(文件神隐助手),帮你隐藏文件的好帮手! 已更新,移除对winRAR的依赖 放张大图镇帖: 此图略丑,但是很有用,文末告诉 ...

  7. ASM基本操作

    1. 添加一个磁盘组 SQL> create diskgroup recover external redundancy disk 'ORCL:kel3'; Diskgroup created. ...

  8. Codeforces Round #363

    http://codeforces.com/contest/699 ALaunch of Collider 题意:n个球,每个球向左或右,速度都为1米每秒,问第一次碰撞的时间,否则输出-1 贪心最短时 ...

  9. Java-note-输入流

    java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有BufferedReader,Scanner.实例程序:一,利用 Scanner 实现从键盘读入integer ...

  10. json字符串转换为JSONObject和JSONArray

    一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String ...