1. 快速复制n行:
$ nYY
2. 删除光标所在的一行
$ dd
3. 定位某行N
:N
4. 向后翻一页
Ctrl + F //其实Forward,翻译成中文就是向前
5. 往回翻一页
Ctrl + B //backward,相信会一点英文就会明白是回头的意思,呵呵我暂且这样理解
6. 粘贴
P //Past 相信只要会用鼠标右键的人都会有印象,它就是粘贴
7. 移动到下一个字开头
W
8. 返回到上一个字的开头
B
9. 剪切n行再粘贴
ndd
P
10. 搜索关键字string
/string //用n可以向下翻看,从前往后查找
?string //用n可以向上翻看,从后往前查找
11. 全部替换
:%s/string1/string2/g //把string1全部替换成string2,后面的g表示全文替换,要是没有这个可能只会替换光标所在的字符
12. 删除当前光标后面的一个字符
x
13. 翻半页
ctrl-d ctlr-u
d=down u=up
14. 直接跳到最后一行
Ctrl + G
15. 直接跳到最前面一行
g
16. 恢复光标所在行被删除的资料
u //可以恢复光标所在的行
U //可以恢复光标所在的列
17. D //表示删除从光标所在处到所在行末尾的所有内容
还有看到很多情况下,vim编辑是没有显示行号的,这样可能给我们阅读代码带来困难,本人也遇到这样情况,在网上正好看到这篇文章,按照它的方法确实是可以实现显示行号,所以把它也给转过来,以备忘。由于找不到最原始的来源链接,无法注明,在此特别感谢提供此原创文章的好人。
在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:
$vi ~/.vimrc
设置完后$:x 或者 $wq
进行保存退出即可。
下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参照参考资料:
“双引号开始的行为注释行,下同
set nocompatible
“显示行号
set number“检测文件的类型
filetype on
“记录历史的行数
set history=1000
“背景使用黑色
set background=dark
“语法高亮度显示
syntax on
“下面两行在进行编写代码时,在格式对起上很有用;
“第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
“第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
“写上很有用
set autoindent
set smartindent
“第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
“设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set showmatch
“去除vim的GUI版本中的toolbar
set guioptions=T
“当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
set vb t_vb=
“在编辑过程中,在右下角显示光标位置的状态行
set ruler
“默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
set nohls
“查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
“个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
“次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
“时,别忘记回车
set incsearch
“修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
if has(“vms”) //注意双引号要用半角的引号" "
set nobackup
else
set backup
endif
如果去除注释后,一个完整的.vimrc配置信息如下所示:
set nocompatible
set number
filetype on
set history=1000
set background=dark
syntax on
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
if has("vms")
set nobackup
else
set backup
endif
如果设置完后,发现功能没有起作用,检查一下系统下是否安装了vim-enhanced包,查询命令为:
$rpm –q vim-enhanced
参考资料:
1.vim的完全翻译版在下面连接处可以找到
http://vimcdoc.sourceforge.net/
可以下栽其中的一个PDF版本,里面介绍的很详细,强烈推荐:)
2.更详细的vim信息可以访问:
http://www.vim.org/
3.一个带有英文注释的.vimrc例子
http://www.vi-improved.org/vimrc.php
添加C语言常用头文件:
1 . vim /etc/vim/vimrc
2 . 添加下面代码
"定义F4为热键
map <F4> ms:call Title()<cr>
"添加头文件
function AddTitle()
call append(0,"/**********************************************")
"call append(1," * File Name:".expand("%:t"))
"call append(1," * File Name:".expand("%:p:h"))
call append(1," * File Name:".expand("%:p"))
call append(2," * Created @ ".strftime("%Y-%m-%d %H:%M"))
call append(3," * Author : Gec")
call append(4," * E-mail : 2821537943@qq.com")
call append(5," **********************************************/")
call append(6," ")
call append(7,"#include <stdio.h>")
call append(8,"#include <sys/types.h>")
call append(9,"#include <sys/stat.h>")
call append(10,"#include <fcntl.h>")
call append(11,"#include <unistd.h>")
call append(12,"")
call append(13,"int main(int argc, char **argv)")
call append(14,"{")
call append(15," ")
call append(16," exit(0);")
call append(17,"}")
endf
"判断需要添加否
function Title()
let n=1
while n<5
let line=getline(n)
if line=~ '^.*Created.*$'http://write.blog.csdn.net/postedit?ref=toolbar
return
endif
let n=n+1
endwhile
call AddTitle()
endfunction
这里是其他命令
set ai -------------------------------------------设置自动缩进
set tags+=./tags 这里是添加索引,需要先在对应目录下ctags -R 之类 ,此为相对路径写法
set tags+=/usr/include/tags ---此为绝对路径写法
添加索引:
1. 在目标路径下面, ctags -R (R是指为该目录下的所有文件建变量索引)
得到的tags文件及其所在目录,需要告诉给 /etc/vim/vimrc
2 . 在/etc/vim/vimrc写的格式是
set tags+=具体的路径/tags
3 . 做索引或者跳转
光标放在要搜索的对象上
ctrl + ] 搜索原型
ctrl + o 是返回索引的上一层