一 VIM打开文件操作
:sp file1 分屏打开文件
:vsp file1 水平分屏打开文件
:e file1 在当前窗口中打开文件
使用ctrl + w + 方向键进行切换
打开ftp服务器上的文件:
:e ftp://192.168.10.76/abc.txt
保存(如果不存在则创建):
:w ftp://192.168.10.76/abc.txt
读取:
:r ftp://192.168.10.76/abc.txt
以上操作第一次打开时需要输入用户名和密码,以后就不用了,vim 会记住的。(注意:vim 本身并不携带 ftp 客户端,vim 只是调用操作系统提供的 ftp 客户端并捕获它的输出)。
二 vim中进行复制操作基本命令:
:v 进入可视模式,hjkl选中块。y:复制 d:删除/剪切 p:粘贴
yy复制游标所在行整行。或大写一个Y。
nyy或yny复制n行。
y^复制至行首,或y0。不含游标所在处字元。
y$复制至行尾。含游标所在处字元。
yw复制一个word。
y2w复制两个字(单词)。
yG复制至档尾。
y1G复制至档首。
小写p代表贴至游标后(下)。
P大写P代表贴至游标前(上)。
复制第a行到第b行并粘贴到第c行之后的命令 :a,b co c
剪切第a行到第b行并粘贴到第c行之后的命令 :a,b m c
以下是vim的粘贴板的基础知识
1. vim有12个粘贴板,分别是0、1、2、...、9、a、“、+(注:有些系统没有“+”号寄存器,用:reg命令可以查看,包括各个粘贴板里的内容,)。在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
2. 要将vim的内容复制到某个粘贴板,需要退出编辑模式,进入正常模式后,选择要复制的内容,然后按"Ny完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y),例如要把内容复制到粘贴板a,选中内容后按"ay就可以了,有两点需要说明一下:
* “号粘贴板(临时粘贴板)比较特殊,直接按y就复制到这个粘贴板中了,直接按p就粘贴这个粘贴板中的内容;
* +号粘贴板是系统粘贴板,用"+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按"+p;
(注:如果使用"+y不能复制粘贴到其他文档,使用sudo apt-get install vim-gnome 安装上vim.gnome再试试)
3. 要将vim某个粘贴板里的内容粘贴进来,需要退出编辑模式,在正常模式按"Np,其中N为粘贴板号,如上所述,可以按"5p将5号粘贴板里的内容粘贴进来,也可以按"+p或Shitf + insert将系统全局粘贴板里的内容粘贴进来。
三 文档格式化操作
gg=G 全文格式化 (gg:全文头部 G:全文尾部 )
:set nu 显示行号
:set nu!取消行号的显示
四 搜索文本
(1)在normal模式下使用/和? :
/后跟查找的字符串。vim会显示文本中第一个出现的字符串。
?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。
ubuntu下默认的是incsearch模式(使用:set incsearch设置),就是输完命令后,会自动显示第一个(或最后一个)匹配。
如果输入:set noincsearch 会转到普通模式,不会自动显示第一个匹配,回车后显示所有匹配。高亮所有的匹配后,按n键转到下一个匹配,按N键转到上一个匹配。
(2)搜索特殊匹配
查找单个的 place,键入该单词,并在其前后各加一个空格
/ word Enter
查找仅出现在行首的 place,在该单词前加一个插字符号^
/^word Enter
查找仅出现在行尾的place,在该单词后加一个货币符号$
/word$ Enter
使用 ^
要逐字搜索这种带有插字符号^或货币符号$的字符,需要在字符前加一个反斜线\,
(3) 简单查找替换操作
替换命令可以在全文中用一个单词替换另一个单词
:%s/a/b/g 全文中使用b替换掉a,“%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可
(4)多文件查询
这里所说的多文件查询,是指在多个文件中查询指定的内容,即英文中所谓的Search in files,而不是查询文件。
im支持两种多文件查询,分别是:vimgrep和:grep,前者是内部查询,后者是外部查询。
vimgrep的命令格式为::vim[grep][!] /{pattern}/[g][j] {file}
五 编程应用
当光标在C函数和系统调用上时,按K即可进入man手册页,当应用程序也有这个名字时,先按下2,然后shift+k 即可进入系统man页。
编程主要得借助一些插件来完成操作。
最后推荐个VIM的游戏网站:http://vim-adventures.com/,寓学于乐,相当不错哦!