vim有三种模式-普通(可视命令)模式,命令行模式,编辑模式。启动vim后在任何模式下按Esc键进入到普通模式。普通模式下输入:回车进入命令行模式,此时vim最窗口最下面一行为 : 后面可以输入命令行命令.在执行任何命令前要确保在相应的模式下。
1.启动与退出
1)vi filename
2)命令行模式下 wq
保存并退出,q!强行退出
2.基本设置-命令行模式下
1)set showmode 设置显示模式
2)set nu
显示行号
3)syn on
显示语法高亮
4)set tabstop=4
3.运行shell命令与模式的转换
1)!shellcmd
执行命令
或 shell (sh)启动 shell
2)ESC返回普通模式
3)普通模式进入编辑模式
a
光标后追加
A
当前行后追加
o 当前行后加一行
O
大写O当前行前加一行
i
光标前插入
I
当前行前插入
r 替换
R
替换
cw = dw+i
删除一个单词并插入新的单词
4.普通(可视命令)模式中移动光标
1)hjkl
左,下,上,右,7h,左移7个字符。
2)HML 移动到页首,页中,页尾
3)ctrl+f, ctrl+b,
向下,向上移一屏 ctrl+d,ctrl+u,向下,向上移半屏
4)^$行首行尾
5){}
段首段尾 ()
句首句尾
6)可视模式下 % ,移动光标到匹配的花括号上。
7)nG,移动到n行处
5.删除-可视命令模式
1),dw删除一个单词
dd 删除一行 d$
或 D 删除到行尾 d^删除到行首
2)X,dh删除光标前的单个字符,db删除当前光标到行首的字符
3)x,d,dl删除光标后的单个字符,
4)编辑模式时,ctrl+h删除光标前单个字符,ctrl+u删除到行首,ctrl+w删除光
标前的一个单词。
5)dL删除到最后一行,dH,删除到开始一行。
6)dtc,删除到当前行中下一个字符c的位置
6.修改-可视命令模式
1)cl,更改当前字符,cw修改当前单词到结尾,cb,修改到单词的开始位置,
2)c3w,,c0,修改到某行的结尾位置。
3)c),修改到没句结尾位置,ctc,修改当前行直到下一个字符c所出现的位置之
间的内容。
4)C,修改到某一行结尾,cc修改当前行,5cc修改从当前行开始的5行内容
7.替换-可视命令模式
1)s,当前字符替换为,S,当前行替换为,5s,当前字符开始的5个字符替换
为
2)~,光标处字符大小写转换
8.拷贝复制,undo,对换
1)Y,拷贝到行尾,yy,拷贝本行,yw拷贝本单词,y$,y^拷贝到行尾,行首y),y}拷贝到句尾,段尾
2)剪切 yydd,剪切本行,7yy,拷贝从当前行开始的7行内容
3)粘贴 p
4)undo, u
5)xp,交换当前与后面字符的位置。
6)ddp,交换当前与下面一行的位置。
9.小结范围选择命令
1)W,w
向前移到单词前,后, ^,$
行首行尾,(),句首句尾,{},段首段尾
2)B,b向后移到单词前,后,
3)e
移到单词的最后一个字母。
4)L,M,H
页尾,页中,页首
10.搜索,替换
1)fa,Fa,当前行中向下,向上搜索字符a,
2)ta,Ta,当前行中向下,向上移到字符a之前,之后,并不可再重复(?)
3),将重复最近一次f,F,t,T命令(t,T?)
4)/字串,?字串,命令行模式下输入,向下,向上搜索字串,如果字串中出现/?则
使用//,/?引用
5)n重复搜索,N反方向搜索
6)搜索中的特殊字符:
^,$,行首,行尾,
.,*,[]任意单个字符,任意一或多个字符,
/<,/>,
/(.../),
7)替换:[g][address]/sourcestring/replacestr/[g]
注释多行 :.,+499 s/^/#/g
替换全部^M :1,$s/^M//g (^M 使用ctrl+V,ctrl+m输入)
11.刷新荧屏,缩进
1)命令模式下 ctrl+l (ell)
或 ctrl+r
2)ctrl+T,ctrl+D,输入模式下,缩进,倒退缩进
12.系统崩溃后恢复文本
vi-r
13.书签功能
1)mt,'t,
建立标记,移到标记,",移到上一个标记
2)标记可以代替行编号
14.命令行模式下
1) set all
显示所有选项
2)efilename,新建一个文件,e#,关闭当前,并返回上一个编辑的文件
3)rew,编辑文件重新排序
4)%,表示当前编辑的文件名
15.编辑多个文件,编辑多个缓冲区
1)args,显示编辑文件的列表,next,prev,first,last,
e filename,enew,新建
一个文件,
2)buffers,ls,显示缓冲区列表,bn,转到第n个缓冲区,
bnext(bn),bprev(bp),bfirst(bf),blast(bl),new新建一个buffer
3)bdeletebuffernumber,删除一个buffer,bwipe,真正删除一个buffer
16.分割,比较
1)spfilename,水平分割并打开,vp filename,垂直分割并打开
2)ctrl+w [jkhl]
上下左右在窗口间移动
17.常用plugin的安装:
1)Calendar
日历显示
2)tagExplorer
目录导航
3)FavMenu.vimFav管理
4)svncommand svn版本控制管理
5)email.vim,mailbrowser.vim
2.tagExplorer的使用
:Tag<CR>
--------------使用vim进行C/C++程序开发--------
1.pluginfor C/C++ Develop
1)ctagc的Tag
2)tagmenu.vim
3)cppcomplete.vim
2.definemap key
:map<F5> :w<CR> :!gcc -g -o %< %<CR>
:map<F9> !%< <CR>
-----------使用vim进行Java,SQL,XML,Perl,Pyth程序开发------
1.pluginfor Java,Sql,XML,Perl,Sql
1)ant_menu.vim
2)oracle.zip,sql.vim,
3)xml.vim
4)perl.vim
分享到:
相关推荐
知名Linux专家Mark Sobell 编写的这本书,为系统管理员、开发人员和高级用户提供了最需要的全面的深入指导,同时还是一本卓越的日常参考手册。 一本值得每一位Linux管理人员、开发人员和高级用户拥有的指南! ...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux编程...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
基于作者对Linux的渊博知识,本书提供了更加深入的理解; 为从aspell到xargs等80多个工具提供了更加实用的讲解; 使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示; 很好地介绍了Linux...
它面向的是在日常任务中使用tmux,zsh,(neo)vim和编程语言(例如C / C ++,Ruby,Python,Java,Golang等)的开发人员。先决条件以下是您应该预先安装的软件。 如果只需要该点文件的某些部分,则无需安装所有...
系统参考手册 6 1.3.3 使用info命令查询命令的相关信息 8 1.4 安装Ubuntu Linux系统 9 1.4.1 安装前的准备 10 1.4.2 安装Ubuntu Linux系统 11 1.4.3 安装后的软件维护与更新 16 第2章 GNOME桌面环境 18 2.1 GNOME...
系统参考手册 6 1.3.3 使用info命令查询命令的相关信息 8 1.4 安装Ubuntu Linux系统 9 1.4.1 安装前的准备 10 1.4.2 安装Ubuntu Linux系统 11 1.4.3 安装后的软件维护与更新 16 第2章 GNOME桌面环境 18 2.1 GNOME...