资源大小: 4.51MB
发布时间: 2013-01-16
文件格式: pdf
下载次数: 0
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

中文名: Hacking Vim原名: Hacking Vim别名: A cookbook to get the most out of the latest Vim editor作者: Kim Schulz资源格式: PDF版本: 文字版出版社: Packt Publishing书号: 9781847190932发行时间: 2007年地区: 美国语言: 英文简介: 内容简介:不知道是谁 说过一句话:说世界上的程序员分为三种,一种是使用VIM的,还有一种使用Emacs的,剩下的都是第三种。由此可见VIM的强大程度,可以说,这是一款非常适合程序员使用的编辑器。VIM的设计哲学是如果你的工作只需要做一次,那没问题,怎么搞都行,如果你的工作是要重复的完成某些工作,则IVIM总可以帮你找到更少的按键方式来实现相同的目标,为此,VIM设计了多种模式,常见的模式包括命令模式,编辑模式,命令模式等,这个也是和其他编辑器一个很不相同的地方,可能有些已经有其他编辑器习惯的人有点不太习惯的地方,但是如果将模式熟悉了就可以发现在不同的模式之间切换是很平常的事情,而且带来的好处是更少的按键和更快的输入。VIM是VI的优秀后裔,虽然VI的后裔中不仅仅包括VIM,但是VIM是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折迭,脚本扩展等等,Packt Publishing出版社出版的这本书《Hacking VIM》就对VIM使用的一些TIP作了介绍,介绍的内容包括定制篇,移动篇,效率篇,格式篇和脚本篇,希望可以给你在使用VIM的过程中带去一点帮助。目录: *---注:该版本为英文版,以下仅为中文的提要而已,切勿以为是中文版,特此注明!提纲1.引言2.常用技巧2.1全局替换2.2多文件替换2.3增加多行注释2.4 ab技巧2.5分割窗口功能2.6改变颜色配置2.7显示和不显示行号2.8更好的状态行2.9光标行和光标列2.10语言拼写检查2.11键绑定2.12定位功能2.13 自动补全2.14 使用宏2.15读写文件或命令内容2.16使用寄存器2.17折迭2.18文件比较vimdiff2.19缩进2.20使用文件模板2.21识别中文字体3. 常用插件3.1 ctags3.2 taglist3.3 A3.4 NERDtree3.5 MiniBuffer3.6 calendar1.引言如果你已经使用Vim超过一年半载,对hjkl,i,a,yy,dd,p,u等命令已经滚瓜烂熟,但是还基本没有自己写过.vimrc文件,又觉得需要将使用Vim的程度提到一个新的高度,看《Hacking Vim》这本书最合适不过了。我给这本书打4分。觉得很不错是因为这本书中提到了许多我原来没有掌握的技巧或命令。没有打5分是因为这其中也夹杂着好些没有多大用处的部分,又有一些部分选材不是很精要。比如说,Vim插件部分,我以为一本好的书应该为读者挑选一些最常见也最有用的插件对作者进行介绍。这部分作者似乎还没有SMTH BBS Vim版的FAQ写得好。2.常用技巧下面总结一下我从这本书和其它地方学到的一些常见的设置和技巧(我自认为是中高级的,可是有些读者可能认为某些部分是初级的)。2.1全局替换%s/old/new/g2.2多文件替换多文件替换,比如要替换所有.c文件中a_value为a_value,可以使用如下方法:vi *.c:argdo %s/a_value/b_value/ge | update其中update是直接替换覆盖原文件,若需要确认,则可使用:argdo %s/a_value/b_value/gec | update2.3增加多行注释方法一:Ctrl+v; 选定所需行; I; #|//; Esc两次比如需要增加#或者是//这种注释。Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定)方法二::起始行,终止行s/要替换字符/替换为新字符/g比如::1,20s/^/\/\//g2.4 ab技巧:ab 替代符 原始信息比如::ab mail abc@gmail.com2.5分割窗口功能分割窗口::split [filename] (水平分割):vsplit [filename] (垂直分割):new (打开一个窗口编辑新文件)窗口跳转:CTRL+W w (循环跳转)CTRL+W (h|j|k|l) (上下左右)关闭(当前)窗口::close关闭所有其它窗口::only增减窗口大小CTRL+W +/-缓冲区跳转::bnext (下一缓冲区):blast (上一缓冲区)退出所有窗口:qall保存所有窗口::wall保存并退出所有窗口::wqall2.6改变颜色配置:colorscheme mycolorsVim自带多种配色方案,可以根据需要自己选用。若不知道系统有哪些配色方案,可以在输入:colorscheme(空格)后用Shift+Tab键选择。2.7显示和不显示行号显示行号:set nu[mber]取消显示行号:set nonu2.8更好的状态行通过设置statusline可以设置更好的状态行,我选择的设置是:set statusline=%F%m%r%h%w\ [FORMAT=%{&ff;}]\ [ASCII=\.3b]\[POS=%4l,%3v][%p%%]\ [LEN=%L]它可以显示当前文件的路径和文件名以及整个文件的长度。2.9光标行和光标列:set cursorline (设置光标行):set cursorcolumn (设置光标列)其中我觉得光标行更有用些。Vim默认设置,要找到光标所在位置不是很方便。2.10语言拼写检查set spellset spelllang=en,de,it中文需要语言包支持,不过最常用的还是英文检查吧2.11键绑定map 对Normal, Insert, Visual和Command-line模式均有效imap Insert模式有效cmap Command-line模式有效nmap Normal模式有效vmap Visual模式有效键绑定可以定义一些键的组合为一个快捷键,如:imap :wa2.12定位功能{ 段首} 段尾g, 前一修改处g; 后一修改处( 句首) 句尾w 下一单词头b 前一单词头% 跳至匹配括号[[ 和 ][ 向后|前至下一区段开始[] 和 ]] 向后|前至下一区段结束[{ 跳至块开始]} 跳至块结束[/ 跳至注释块开始]/ 跳至注释块结束gd (Goto Declaration) 跳至定义处gD 跳至全局变量定义处gj 跳至长行下一段gk 跳至长行上一段gf (Goto File) 打开文件?向前查找/ 向后查找?? 重复上一向前查找// 重复上一向后查找# 向前查找光标下词(整词匹配)* 向后查找光标下词(整词匹配)g# 向前查找光标下字符串(不必是整词)g* 向后查找光标下字符串(不必是整词)vimgrep /pattern/[j][g] file file2 … fileN 多文件查找使用标志(mark)定位:0~9 系统自用a-z 本文件mark (使用方法: 标志:ma, 调至标志 `a)A-Z 跨文件的mark:marks 查看所有标志:delmarks 删除标志2.13 自动补全Ctrl+p 自动补全单词Ctrl+n 自动补全单词(向前查找)两者一般感觉不到区别Ctrl+x Ctrl+k 通过字典补全单词Ctrl+x Ctrl+t 从同义词典(thesaurus)补全Ctrl+x Ctrl+f 文件名自动完成(很有用)Ctrl+x Ctrl+l 自动完成整行Ctrl+x Ctrl+i 从当前和包含文件补全Ctrl+x Ctrl+o 全能自动补全,需要set omnifunc说明:设置字典的方式:在.vimrc中增加以下语句(借用look命令的字典库)set dictionary+=/usr/share/dict/words即可使用Ctrl+x Ctrl+k功能,很好很强大!2.14 使用宏qx (开始录制宏至寄存器x,x可以为任何字母,但是最常见的是q)command1…q (结束录制)@x (引用宏)@@ (重复上次宏使用)2.15读写文件或命令内容:r filename (读入文件内容):m,nw filename (将m~n行内容写入文件)r!command (插入command命令结果)2.16使用寄存器无名寄存器 “”数字寄存器 “0 “1 … “9有名寄存器(Named Registers) “a~”z “A~”Z (大写寄存器内容追加,而不是覆盖)只读寄存器:“% 当前活动缓冲区文件名“# 前一文件的文件名,替换文件“. 最后插入的文本“: 最后命令行运行的命令黑洞寄存器: “- 进入的永远消失搜索模式寄存器 “/表达式寄存器: “= (使用:输入表达式后ENTER, p粘贴)2.17折迭zfa{ 创建折迭zc 折迭zo 打开折迭zM 折迭所有zR 打开所有折迭2.18文件比较vimdiff:vimdiff file1 file2:diffsplit filename或命令行下 vim –d file1 file2 可进行文件比较[c 前一差别]c 后一差别2.19缩进>% 缩进块中内容<% 反缩进块中内容>i{ {内部缩进(不包括{})>a{ {内容缩进(包括{})

飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。