用vim vim编辑命令怎样才能比 IDE 更快

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&简书发现了一个错误
简书发现了一个错误
我们正在紧急修复中,您可以先
随便逛逛。到底 VIM 能配置到多强大的程度?
一直在使用,从来未精通。一直想把鼠标扔了。
按投票排序
======================
道歉==============================不好意思, 我才发现我答非所问了。。。。。。。。。。。以为题目是vim可以强大到什么程度vim配置的强大, 主要看你应用场景, 比如我写golang, 使用这个配置, 就可以使用vim完成写golang 代码, 编译, 运行, 跑测试用例等各种东西, 基本上不需要额外再开一个命令行什么的。对开工程目录,最近编辑文件,代码提示等等 ,感觉上都是只有你想不到,没有你找不到的。所以能配置到多强大的程度, 就看你首先用它干什么, 比如你要写php, 然后 到google 搜php vim github, 基本上有能让你爽到不行的vim配置。而且现在根据github上已经有的方案配置vim方便得不要不要的。======================道歉OVER====================================最主要要有应用环境。===============================装逼预警================================我一开始写java的,之前用eclipse,觉得vim没啥厉害的, 后来到下一个公司,被安排进了一个PHP项目, 旁边坐了个牛人,教了我一周的vim, 我才明白vim比ide强在哪儿。当然我用也用了那个牛人的vim配置。当时印象最深的一点就是有一个下午瘫在椅子上几乎没碰鼠标狂写代码,整个下午姿势都没换,写完一段,快捷键切到浏览器,F5看效果,有问题切回来直接vim里修改,修改完切到浏览器F5,几乎没有鼠标什么事儿。没有过这种经历的人可能不明白,但真的习惯了vim, 感觉写代码用鼠标完全就是浪费生命。比如选定一个词,vim里 ve, 就选择了, 用鼠标你要把手拿到鼠标上,指向那个词, 双击?还是精确的划过整个词?复制一个词, vim里ye, 就复制了, hjkl ^$到想要去的地方, p 就粘贴了。 要用鼠标, 得双击?ctrl + c? 再用鼠标点到你想去的地方,ctrl + v? 效率完全不在一个档次。想把一行复制100遍, yy100p. 想删除一个词, vim里de, 就删除了, 想删除2个?2de, 删除一行 dd, 删除10行10dd. eclipse快捷键我记得也不少,但没有这么方便的。想删除一个方法 {} 里所有的代码? 我记得用鼠标得拖好长吧?然后再Backspace? vim里di{ 。想把(String abc, int def) 清空为() 同理, di(
。清空[] di[ 。 要是想连带着删除[]和它里面的所有东西 da[ 。知道上面这些在哪儿非常有用不? 那种超级嵌套200多个if{}的代码里面你用鼠标选定某个{}里面的内容大概可能花多长时间?10秒选出来不出错你就是高手了, 但用vim不到1秒搞定。什么? 你不想删除{}里的东西 ,你想复制? 把上面所有的d换成y。想选定? 把d换成v。想要把下面格式的10000行的excel变成sql小明 男 红旗小学 一年二班 12岁-----& insert into xxooxxoo...................vim只需要录个名为a的宏(具体怎么录宏想学的请google)记录下来第一行是怎么变成insert into xxooxxxooxoxox,然后 9999@a, 搞定! 前后时间也就花3分钟。ide完全办不了这事儿(列编辑也办不了这事儿).你想到文件头瞧瞧, gg. 想到文件尾瞧瞧, G. 想到220行看看, 220gg. 想到这一行的最开头, ^, 想到这行的最后边, $. 用ide的时候有没有想复制一大段代码, 但用鼠标拖着拖着断线儿了? vim里不会出现这种情况, 直接v, 然后按j到你想到的地方就可以。一直按j很麻烦, 你知道你想从200行选择到541行? 简单, 200ggv541gg。v选择之后,直接y就复制了, 然后jkhl^$到你想要去的地方, p就可以了, 鼠标加滚轮加 ctrl + c ctrl + v麻烦不麻烦。 想编辑别的文件?安了nerdtree配置好了, 一般,nn就把当前文件所在的项目目录调出来了,jk选择想要编辑的, u到上层文件夹, 选择之后就可以直接编辑。想编辑最近编辑的文件? 我也忘了配置了什么插件, 直接,f就可以调出最近编辑的文件列表, jk选择回车即可。根据上面说的, 单纯的写代码,鼠标基本上没什么用了~~ 而且真的熟悉了这些快捷键,效率快得一逼。因为你手从键盘换到鼠标其实挺浪费时间和注意力的,再一个用鼠标来定位选择代码,也是挺没效率的。=======================================装逼结束===========================上面扯了一堆, 反正算装逼也算科普吧,vim让人告别了鼠标,快捷键完全满足了写代码的需求,双手可以一直瘫在键盘上。告别了各种重复的体力劳动,想重复几次直接输入数字加操作即可,如 100yy, 100dd, 100p, 100@a什么的。代码提示什么的基本上用插件不会差太多,反正我写php和golang的时候,插件提示完全足够。但学习曲线确实比较陡,而且一开始转型会超级不习惯,最好旁边有个熟人带着会比较好。现在写java是用idea + vim, C#还是visualStudio , vs貌似有vim插件但收费然而我太穷(更正:感谢
,刚才看了下VsVim确实是免费的, 不过我13年看的时候确实好像是收费的。。。年纪大了记性不好了~~)。 其他的什么golang react-native angularjs ionic一律配置的vim(大概配置直接到github上找个星多的就OK), 爽得一逼。尤其写angularjs ionic react-native 的时候有live reload, 每次:w 回车之后直接看到效果的感觉不要太爽。
推荐两个配置-
再不用折腾了。。。看 star 数就知道很牛逼了- 下面那个配图:
请参考 exVim 虽然 star 数不多,但是错过了也许是你一生的遗憾,这个配置我自己用了8年有余了,你看那些个 spf13 或者其他的 Vim 配置好像 Github Star 数量很高很耀眼,但是他们都是偏前端或轻量编程的,而且都是给华丽丽的高配置机器使用,机子不好的时候编辑起来感觉有些延迟. 我当时开发 exVim 是用来做 c/c++ 次时代 AAA Console游戏项目的。结果搞到最后不仅轻巧飞快,而且做前端,后端,脚本,shader,shell都可以迅速使用。
参考配置* * * 这个是我的配置 保存在 这个是我的配置 保存在
看了题主的题目跟描述貌似问题的目的不一致呀光从题目来说, vim 确实可以配置到跟 IDE 相似的功能:语法检查自动补全文件浏览执行命令行命令key mapping还有各种各样的插件这里就不啰嗦了。。。而看题主的题目描述的意思却是想要提高自己 vim 的熟练度。最近工作的原因,从 sublime 跳到 vim 玩了。之前也就会 insert 和 ctrl + c 而已。练了 2、3 天就很熟悉了。主要是强制自己不使用鼠标,强制自己只使用 vim 来编码。可以参考一些童鞋的 vimrc 配置,最主要是看懂,然后根据自己的喜欢来配置。我觉得自己的配置还是比较简单,适合参考,列出来跟题主参考下(也是从别人那里学来然后自己配置,现在已经很熟练了):最后送题主几句话:vim 是需要慢慢学习的,不要盲目做“强大”的配置,强大的配置需要更强大的能力来 handle 。:) good luck。
这个是我自用的vim配置对于 PHP 开发,几乎实现完整的IDE,晚上迟些把组件文档补齐了部分是 python 和 其他语言的插件还可以作为 SQL 数据库客户端vim 的编辑功能就不用多说,能和它拼的估计只有 emacs 了主要有下面的功能:代码补齐,模版,格式检查,格式检查,语法检查,函数跨文件跳转,代码异常检查,自动化测试组建
配置完善的VIM真的非常强大,大概工作效率能达到Visual Studio的三分之一左右,简直惊人
VIM一直当jetbrains的IDE插件用来着
或许你可以参考一下我1000+行的vimrc 跟IDE比起来的话 补全和重构确实是个问题, 不过近年出现了很多vim下的semantic-based的补全插件, 如clang_complete, jedi. java还可以用eclim..也都不差
一个同事用arch linux + awesome window manager + vimperator firefox + Idea vim plugin, 基本上就是全程vim 快捷键操作电脑
等你真的精通了 Vim,你就会想要造个像
这样的轮子,于是你发现已经有人造出来了。于是你开始想为它实现一个 GUI Client。
看了一些答案 迷恋编辑器能解决一切问题 是一种病 个人觉得 全键盘 比多点几次的IDE在开发效率上有什么明显优势
我是来给题主找茬和歪楼的。一直在使用,从不曾经通。一直想把鼠标扔了一直在使用?请继续坚持下去。我看了我的.vimrc配置文件创建时间是2005年,马上就十年了。从最开始的windows上的gvim,到现在的mac上的vim,vimrc伴随着我成长,不断编辑,持续更新。从不曾精通?什么标准算精通?我没给vim贡献过一行代码,也不会vim插件开发,我就是vim的用户。我的个人wiki、每日工作记录、coding时光全都交给了vim。一直想把鼠标扔了?自从用了笔记本之后,就很少用鼠标了。从ThinkPad的小红点,到现在的MBP触摸板,鼠标只有在用别人电脑的时候才需要。配图纯粹跟风,轻喷。下面是吐槽:下面是吐槽:vimrc这种东西对vimer来说是极其私人化的,除非你是新手,否则,直接使用他人的vimrc就是在折磨自己。可以去merge别人的优秀config snippet,前提是你爱折腾;如果你是新手,又不爱折腾,我会推荐你去拥抱21世纪10年代的新生力量。Sublime Text不是挺好的吗?开箱即用。著名的同性交友社区github不是也捣腾出了一个 号称A hackable text editor for the 21st Century;Windows原生应用开发、Java开发就应该用官方指定IDE,人生多么美好,何必把时间都花在vim上(话说我写完这一段也该可耻的继续潜水去了)?虽然我也曾经连windows c API开发都用vim+nmake,拒绝“愚蠢的vs 2010”。不过,在Java和C#面前,vim真的得跪了,至少我尝试了去hack这俩货on vim可耻的失败了之后,就放弃了。
自己写的一个项目,还在修改。方便新手使用。目前只配置了windows下面的。常见的IDE功能都支持了,下载安装就可以用。项目地址:下载地址:
非编辑器爱好者表示,就算vim的插件这么多,还是没有一个人能成功地把gdb好好地集成进去,都只有半成品。clion虽然比vim好用,但是太他妈卡了,在ubuntu下面干活就是没办法省心。
我认为Vim应该属于轻量级编辑器,速度一定要快。楼上有很多大神都把Vim配成了特别炫酷的IDE我认为就太重了。 新出了一个vim教程的系列课程,需要的可以去看一下。我断断续续用了两年vim,看完视频以后感觉能作为主力编辑器了。视频比较详细地介绍了各个配置的作用。希望有所帮助
作为vim爱好者,我只想反复强调:vim不需要插件来表示它的强大。针对很多其他答案中搞得花里胡哨的IDE界面,我就想评论一句:老子用vim就是不想看到那么多烦心的窗口挡住我的代码,你们弄这堆东西出来是几个意思?我觉得实在点,题主不如直接问在vim中要解决某某问题应该如何做,解决掉这些问题,你就不用纠结用什么插件了。
要多强大有多强大,这取决于你对Vim的熟悉程度,对Vim脚本的掌握程序,以及自身编程实践的多少我的Vim配置,仅供参考:
非常棒的vim配置文件,由plurk的大牛写的读懂这个配置文件,加上适合自己习惯的修改更好,我觉得它比eclipse/netbeans还快而且更方便。在换到vim之前我用过好几年eclipse和netbeans,自觉得非常熟悉,就差自己写插件了。除了普通编辑器都有的功能,最喜欢它们自动提示补全,跳转到定义,文件间来回跳转,代码模版,强大的重构等功能。而这些功能,除了重构,其他的vim都有能匹配的替代方式。最重要的是,vim写程序有“一气呵成”的感觉,思路连贯,不会被编辑操作打断。除了写java,vim已经是我主要的ide(不过我从来都是几个ide同时开着,哪个方便用哪个,毕竟vim是为编辑而生,而netbeans查函数定义什么的很方便,eclipse的重构还有插件很强大)
已有帐号?
无法登录?
社交帐号登录如何将Vim打造成一个成熟的IDE_Linux教程_Linux公社-Linux系统门户网站
你好,游客
如何将Vim打造成一个成熟的IDE
来源:Linux中国&
作者:Linux
如果你稍微写过一点代码,就能知道&集成开发环境&(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。
事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如;也有把Vim集成到Eclipse里的
。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 把IDE特性带进Vim的前10款插件 吧。
把VIM打造成一个简单实用的IDE&
Vim学习指南
快速学会 Vi编辑器
强大的Vim 编辑器
在 6.2上搭建Vim开发环境
CentOS 5.4 安装高亮Vim编辑工具
Vim技巧分享:C语言设置
中设置Vim的行号
Vim编辑器使用基础教程
先来个福利: Pathogen
首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是,因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
1. SuperTab
我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键&超能力&的
2. Syntastic
如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是, 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
3. Auto Pairs
另外一件让程序员们抓狂的事是:我是不是少加了最后一个括号?!每个人都讨厌用手指去数那些隔的非常远的括号。为了处理这个问题,我用
插件,这个插件会自动插入和格式化方括号和圆括号。
4. NERD Commenter
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。
5. Snipmate
任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。
6. NERDTree
管理一个大的项目时,把代码分散到不同的文件里面是非常好的主意。也是一个基本的编码原则。 是一个不错的可以直接在Vim里使用的文件浏览器,它可以让你随时想到所有的文件。
7. MiniBufferExplorer
为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。
更多详情见请继续阅读下一页的精彩内容:
相关资讯 & & &
& (01月18日)
& (01月18日)
& (02月16日)
& (01月18日)
& (12/20/:23)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款把VIM打造成一个真正的IDE(1) | Vimer的程序世界
& 把VIM打造成一个真正的IDE(1)
这里所说的IDE主要是指C/C++开发,但是由于笔者之前也搞java和c#开发,所以对这两种语言也会有所兼顾。
这个话题可能要分好几篇文章来写了,今天主要讲一下最简单的,包括vimrc里面的基本配置,让vim能够完美支持各种源码文件;
vimrc配置如下(为简单起见,采取注释的方式直接说明):
if(has("win32") || has("win95") || has("win64") || has("win16")) "判定当前操作系统类型
let g:iswindows=1
let g:iswindows=0
set nocompatible "不要vim模仿vi模式,建议设置,否则会有很多不兼容的问题
syntax on"打开高亮
if has("autocmd")
filetype plugin indent on "根据文件进行缩进
augroup vimrcEx
autocmd FileType text setlocal textwidth=78
autocmd BufReadPost *
\ if line("'\"") & 1 && line("'\"") &= line("$") |
\ exe "normal! g`\"" |
augroup END
"智能缩进,相应的有cindent,官方说autoindent可以支持各种文件的缩进,但是效果会比只支持C/C++的cindent效果会差一点,但笔者并没有看出来
set autoindent " always set autoindenting on
endif " has("autocmd")
set tabstop=4 "让一个tab等于4个空格
set vb t_vb=
set nowrap "不自动换行
set hlsearch "高亮显示结果
set incsearch "在输入要搜索的文字时,vim会实时匹配
set backspace=indent,eol,start whichwrap+=&,&,[,] "允许退格键的使用
if(g:iswindows==1) "允许鼠标的使用
"防止linux终端下无法拷贝
if has('mouse')
set mouse=a
au GUIEnter * simalt ~x
"字体的设置
set guifont=Bitstream_Vera_Sans_Mono:h9:cANSI "记住空格用下划线代替哦
set gfw=幼圆:h10:cGB2312
12345678910111213141516171819202122232425262728293031323334353637
if(has("win32") || has("win95") || has("win64") || has("win16")) "判定当前操作系统类型&&&&let g:iswindows=1else&&&&let g:iswindows=0endifset nocompatible "不要vim模仿vi模式,建议设置,否则会有很多不兼容的问题syntax on"打开高亮if has("autocmd")&&&&filetype plugin indent on "根据文件进行缩进&&&&augroup vimrcEx&&&&&&&&au!&&&&&&&&autocmd FileType text setlocal textwidth=78&&&&&&&&autocmd BufReadPost *&&&&&&&&&&&&&&&&&&&&\ if line("'\"") & 1 && line("'\"") &= line("$") |&&&&&&&&&&&&&&&&&&&&\ exe "normal! g`\"" |&&&&&&&&&&&&&&&&&&&&\ endif&&&&augroup ENDelse&&&&"智能缩进,相应的有cindent,官方说autoindent可以支持各种文件的缩进,但是效果会比只支持C/C++的cindent效果会差一点,但笔者并没有看出来&&&&set autoindent " always set autoindenting on endif " has("autocmd")set tabstop=4 "让一个tab等于4个空格set vb t_vb=set nowrap "不自动换行set hlsearch "高亮显示结果set incsearch "在输入要搜索的文字时,vim会实时匹配set backspace=indent,eol,start whichwrap+=&,&,[,] "允许退格键的使用if(g:iswindows==1) "允许鼠标的使用&&&&"防止linux终端下无法拷贝&&&&if has('mouse')&&&&&&&&set mouse=a&&&&endif&&&&au GUIEnter * simalt ~xendif"字体的设置set guifont=Bitstream_Vera_Sans_Mono:h9:cANSI "记住空格用下划线代替哦set gfw=幼圆:h10:cGB2312
OK,有了上面的基本设置,一个好用的vim就配置好了,但是如果想让它完美支持各种源代码文件,想让它方便的注释,方便的进行代码提示,方便的添加用户信息,那还差的很远哦,就请期待下一篇吧&#8212;&#8211;。
版权所有,转载请注明出处。
您可能也喜欢:
相信不少朋友像我一样,无论在linux还是windows下都用vim来办公,但是毕竟vim原生于linux,windows下的某些支持还是做的不太好。
这个系列的文章,我们就一起...
前一段时间在博客中和fuadam讨论过python中调用print的时候,是否可以直接打印decode之后的字符的问题。(原文:python-django的中文编码总结)
一开始我...
之前已经写了一篇linux下搭建python+apache的文章。但由于windows下的支持python2.6的mod_python.so一直没有找到下载(http://www.apache.org/dist/httpd/mod...}

我要回帖

更多关于 vim怎么编辑 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信