A. 如何优雅地使用 Windows
1、概览:
这是我的桌面,无杀软。
2、使用云服务
比如 Chrome 的书签同步插件 Xmarks(在天朝自带的同步功能有些鸡肋,但是除了书签之外的数据可以使用自带同步功能); Evernote 写笔记、GTD、知识系统管理;将平时不用的但是有价值的东西上传到网盘里; 使用同步文件夹,将重要的文件同步上传到云空间;项目都同步到 SVN 或 GitHub 中。
使用云端软件平台,把软件都装在上面,也可以将本地软件导入平台中(虚拟化),这样即使是重装系统后也无需重装应用,可携带缓存文件夹到不同电脑上使用平台上的软件,无需安装。绿色,便于管理。
3、美化
3.1 如上面有人说的,使用Mactype字体渲染。(优化后效果好很多)
3.2 使用 clover 创建标签式资源管理器窗口
3.3 使用 NetSpeedMonitor 来监控网速。
3.4 用一个快速而且不弹框的好输入法:《小狼毫》
这是相关的介绍:推荐一个神级输入法——Rime
4、优化
定期清理系统垃圾,使用CCleaner(CCleaner - PC Optimization and Cleaning)。
一个月碎片整理一次。使用Defraggler(Defraggler - File and Disk Defragmentation)。
5、其他
优雅地使用Windows唯一的手段就是找到符合自己的操作习惯,把不顺心的情况化解,并乐于挖掘适合自己的功能或者操作,包括快捷键、个性化设置等。
嗯,有人喜欢「番茄工作法」的吗? 对于精力不集中的人,建议使用Focus Booster,一款小巧优雅的软件。(下载:focus booster)
有人想要一个款优雅的 editor,这里推荐一款性感无比的编辑器:Sublime Text 2(各种配色任你选:daylerees/colour-schemes 路 GitHub)
B. Gvim 怎么做Python 的编译器。求教程~
把python安装目录加到环境变量里去,然后在gvim里编好程序后,执行
:!python %
就能运行了,当然,也可以直接把那个python改成完整的python路径
C. gvim 问题
gvim
打开后处于标准模式(normal,一般,通用,正常,标准),使用i,I,o,O,a,A进入插入模式或r,R进入改版写模式后权,才可以输入文本。
gvim easy
打开后,处于插入模式,可以直接输入文本,和常用的编辑软件相似,易于接受。我想这正是easy的基本含义。可能还有其它选项设置使得它易于接受。不过我试用了之后,竟然找不出在软件内部使用标准模式命令和到达标准模式的方法,正在探求中。
我想,要是能够结合这种模式和标准模式,使gvim变得更方便接受和使用,并有这样的手册,那样才好。
gvim readonly
打开已有文件时,默认设为只读,要保存(:w)需要强制标记!(:w!)。
与使用命令禁止修改后的情况相似。例如命令:
:set noma
亦即:set nomodifiable
除此之外,是否有别的选项更改,待分析。
相关:
:set nomod
亦即:set nomodified
使用
:h modif
亦即:help modif
可以找到更多帮助信息。
D. vim-common-7.0.109 怎么使用gvim
1 对Vim的基本介绍
一句话介绍就是:Vim是一个超级超级强大的文本编辑器。它和Emacs是一个数量级;而我认为,比UltraEdit、Editpad、EmEditor要高一个(至少半个数量级)。如果你有兴趣,不妨一读《程序员的编辑器——Vim》,以便于对Vim有更详尽全面的理论认识。
要点1:Vim及前身VI,历史悠久(可能比多数读者的年龄更大),经历了几十年的考验和发展,值得信赖。
要点2:Vim有模式。通俗地做一下对比。notepad无模式(或称为只有一种编辑模式),你按下j,就是在正文中输入j;要保存,就要ctrl+s;要下移一行,就要↓或鼠标。而在Vim中,打开一个文件后,并不处在编辑模式,而是Normal模式,此时你按j,Vim并不认为你要在正文中输入j,而是代表光标下移一行。此时按i表示进入insert模式,即编辑模式,即notepad的模式。编辑模式按Esc退回normal模式。normal模式下按:进入命令行模式,用于输入较复杂的命令。比如:w代表保存文件,:e a.txt代表打开文件a.txt。即Vim可以不用鼠标、方向键、菜单、Ctrl、alt……发出命令。因此,以下的体验中切记进入正确的模式:Esc到Normal;Normal下i到编辑;Normal下:到命令行。再说明一点是:文中:打头的是命令行模式,此外多数Normal模式。
要点3:复杂对抗复杂。Vim有的命令行很吓人,长长一串字符恍若天书。这些貌似复杂,实际上无非是一些简单命令的组合而已。借助于此,Vim用户可以实现非常复杂的需求。如果你没有这样的需求,就无须理会它们。
要点4:一能百能。这一点是Unix或命令行风格软件的显著长处,经过实用可以深刻体会。本文尽管有一些例子,但它运用之妙,存乎一心的感觉,仍未能充分展示。这里先打个比方,如果windows下某软件号称能炒菜,那意味着你点一下菜单,菜就做好了——这就是易用哲学。到底怎么做,你是没有多少发言权的,而是由软件开发者固化。而如果Vim说能,那它就是有一个“炒菜”命令,你可以把这个命令与原有的“原料”“数量”“火候”“风味”“灶具”命令结合在一起用,甚至在它前面加上“买菜”“洗菜”,后面加上“装盘”“洗碗”做成一个自动脚本,在合适的情况下自动执行。
要点5:无限灵活,个性由我。你只要有具体需求,Vim几乎都能满足。因此不同人的Vim是不一样的,即,把下载来的Vim配置成自己的Vim。
就此打住,开始体验之旅吧!
2 下载和安装
Vim是跨平台的。在Windows下,我们用的是gVim for windows版。最新的是7.0版,下载包约8MB,完全安装后约20MB。
注:体积太大?你如果是高手,完全可以把不用的文件删除(包括帮助文件,它是我见过的软件中最好的帮助),精简后的体积可以不到2MB。或反之,仅下载一个gVim.exe(1.5MB)就能运行。但对于这次体验,鉴于第一次使用,建议全部按默认项安装,这样才能达到文中预想的结果。
PCOnline下载,官方下载
安装,基本上,一直Agree、Next就行了。我通常是装在d:\program files\Vim下。
可参见
3 体验之旅
3.1 初见界面
安装完成后,按提示打开readme,你将看到
或自行打开桌面的快捷方式,也可直接运行d:\program files\Vim\Vim70\gVim.exe,你应该看到如此界面:
什么?难看?土?我第一次见到它也是这种感觉,现在却只觉得亲切。
再一点,你有没有奇怪它是中文界面?难道我给你下载的是汉化版?会不会捆绑流氓插件啊?你如果真这样想,我只能叹息无语了。
3.2 试读html
请把此网页保存为htm,比如test.htm,然后用Vim打开它。暂时用菜单吧!结果可能是这样:
平平无奇,是吧?因为它是一个标准的Vim,并且是性能优先,视效忽略的Vim。无妨,请进入命令行模式(就是按一下冒号,注意是英文冒号:),注意到最下面一行的变化了吧。再输入sy on再回车。是不是有颜色了?它应该看起来象这个样子
重要提醒:为简化起见,下文将用
:sy on
表示(先确认在Normal模式,如不确认,请按几次Esc)你先按:进入命令行模式,再输入sy on,再回车。
补充说明:sy表示语法加亮,on当然是打开。:sy clear表示取消加亮。
3.3 改头换面
体验Vim就要按Vim的思路,所以我们要把gVim改回Vim的本来面目。
对了,如果你认为它的界面很土,请更要多看一眼当前的样子,因为下面的操作后可能会更土!
执行如下命令
:set go=
这时的Vim应该是
不要大惊小怪,不就是菜单和工具栏不见了嘛?Vim中是不应该用到它们的。
补充说明:set表示一般性设置;go是gui option的缩写,就是界面;等于空就是什么都没有
再输入半条命令(先不要回车)
:colo ev
然后,按一下tab键。是不是自动补全为evening了?Vim是非常聪明的(但是不会象MS Word那样自做聪明)。
然后你回车,看到了什么?
天色全黑了?没错,现在是evening嘛。
补充说明:colo就是设置调色方案。Vim自带了近十种调色方案,当然你还可以在网上下载更多,或改编自己的调色方案。你可以直接在:colo (加一个空格)就连续tab,选择不同的配色方案来体验一下。当然,evening是比较经典的一种。我一直就用它。
3.4 准备并打开范例文件
简化起见,请下载test.txt并保存为d:\test.txt。然后,在Vim中输入半条命令
:tabnew d:\t
输到这里后不要回车,按一下tab,Vim会自动补全为test.txt的。如果不对,再按几次tab,直到正确为止。然后回车。
你会看到Vim打开了test.txt,并且是以多页签(tab page)的方式。你可以点击各页签在打开的文件中间切换(高手有更方便的键盘命令做法)。在Vim6.3中,还没有此功能。当然了,这并不意味着Vim的用户没办法享受多页签的便利,下载一个插件后——Vim有上千个插件——就可以了。面对多页签风格的流行(IE6→Maxthon→IE7),Vim7.0也新增了此功能。
我喜欢这种简单的页签。如果你认为此页签太难看,可试一下:set go=e
这时应如下效果
3.5 统一格式,修改vimrc
上面所操作的各种命令,都是对Vim的设置。把它们写到一个_Vimrc文件中就成了默认选项。每个Vim用户的_Vimrc文件都不一样,因为每个人的需求不同。
为了保证下面的操作得到预期的效果,请使用善用佳软提供的_Vimrc(附1)。依次执行下述操作:
① 关闭所有的Vim
② 找到你的d:\program files\Vim\Vim7\_vimrc,复制一份存档。
③ 用任意文本编辑器(Vim或记事本)打开_vimrc,用本文附1的内容替换它,并保存。
④ 重启Vim。
注:这并不是标准做法,但对windows用户是比较方便的做法。
3.6 打开test.txt
再次就模式进行提醒:Esc到Normal;Normal下i到编辑;Normal下:到命令行。
运行Vim,并在命令行执行
:e d:\test.txt
接下来,我们把此文章排一下版。如果你认为可以手工排版,请把此文件复制到10000行再发表意见。 3.7 分段并保存
原文没有分段,观察一下,发现可以在“以下是……”前面加回车,于是
:%s/以下是/\r&/gc
输入后,界面如下
并提示,请回答y或a。如果回答y,则替换当前一个;到了下一个,Vim还会再问你。所以,你回答几个y后不妨一a了之,全部替换。
补充说明:s表示替换;s/a/b 表示把a换为b;上一命令是把“以下是”换为“\r&”,\r表示回车,&表示被替换的部分,即“以下是”;%则表示全文;/gc表示一直替换(不是仅替换第一个),并且要用户确认。
看一下文件,你或许想,空2行可能更好。很简单,再重复一下刚才的命令就好了。不过,对强大的Vim来说,无须笨笨地重复输入上次的命令。在命令行按下:后,再按一下↑(向上的方向键),看到刚才的命令了吧?直接回车,提问时输入a,任务完成。
既有变化,请及时保存。命令是
:w
当然,你也可以按ctrl+s。但ctrl+s之所以有效,是因为我在_Vimrc中做了定义:当按下ctrl+s时,系统执行:w动作。因此,你完全可以定义其他热键,并把它映射到:w。
3.8 继续编辑
首先删除“坚持”两字,很简单,只要按gg2x就行了。为了看效果,你可以分开按:
gg,这时光标移到文章头。
2x,这时删掉了2个字符。
再一次体验Vim的神奇,比如按5x,于是5个字符消失了。当然,这5个字符是要保留的,没关系,你按一次u,就回来了吧?
再按一下Ctrl+r,是不是又没了?再来一次u,是不是又回来了?没错。u和Ctrl+r相当于(是相当于不是等同于)windows的undo和redo。
再试一下dd。是不是整行没有了?没关系,u回来就行了。
再试一下3dd。一下子删除了3行!没关系,u回来。
再来一个dG,哇,全文都没了?!仍然u回来啊。
3.9 更多编辑
任务a:把每一句分为一行,即达到如下效果
以**为荣、
以**为耻,
解决:如果你记得上面的替换命令,就会想到,可以用2次替换(“为荣、”换为“为荣、”加回车,“为耻,”换为“为耻,”加回车)。但这两次替换在Vim中完全可以一次完成,即用正则表达式,在“为”及后面2字符(“荣、”或“耻,”)后加入回车。怎么表示呢?
:%s/为../&\r/gc
看一下高亮,没问题,直接a
哇,是不是很壮观啊?没觉得?如果是一千行一万行呢?
任务b:把行末的标点去掉,即“荣”后的顿号和“耻”后的逗号。
解决:办法太多了,仍可以用替换。但此处还是展示一个新功能:列操作。
安全起见,按两下Esc,再gg$,这时光标应到了文章第一行最后一个字符,即顿号上。
再按ctrl+v,注意一下状态栏是否提示有“可视 块” 字样。(请确认你是采用了xbeta的_Vimrc文件,如果没有,请试一下ctrl+q)
再15jx,是否标点全部删除了?因为15j表示向下选中15行,x表示删除。
任务c:错落有致
操作:这次演示一下宏的用法,请严格按本教程操作。
先做一下确认:输入法没有打开,并Esc到normal状态,gg到文首。
按qa(q表示开始录制宏,宏的名字为a)
再shift+>>(表示按住shift,连按两下>,再放开shift。此时第一行应当向后tab了一下)
再j^(此时下移一行,并置光标于行首)
再shift+>>再shift+>>(即第二行向后tab两下)
再j^(下移一行,并将光标置于行首,为后续操作做准备)
再q(表示宏录制结束,Vim会提示记录完成)
这样宏录完了,可以用了。
再@a,看到了效果了吧?宏执行了一次,即3、4行成功了。还剩下6段,但是你不用按6次@a,而是只要按下6@a就行了!!!
太神奇了!回放一下?先u,再来一次6@a。既然可以6,当然可以千千万万!
补充说明:高手使用Vim是千变万化的。上面的前2个操作(分行+删标点),完全可以合成一个:%s/\(为.\)./\1\r/gc;或再把第3个操作(错落有致)融合到前一个操作中。
3.10 自由体验
体验光标移动:请随意按几下j和k,看看反应;再多按几下l和h,看看反应;然后,当你的光标在英文时,请按几下w和b。
对了,gVim的每一种功能,都有无限可能,因此,你也可以在上面几个字母前加上数字,比如 9w 2h,看它的反应。
体验自动补全:i进来吧,到目前为止还没写过字呢!为简单起见,你直接把用鼠标放到中文的下一行,我们把 Eight Do's and Eight Don'ts 输入一遍。但是,输入一个E,先别动!按ctrl+p是不是自动补全了?
体验大小写(每次操作后,都用u恢复原状),试一下g~~和guu和gUU和g??(g??后可以不按u,再按一次g??也能恢复原状)
神奇吗?这还是Vim功能的单个表演,真正的高手是把它们组合在一起,完成你自己独特的编辑需求。
3.11 体验语法高亮和折叠
此部分讲起来太复杂。如果你有其他编辑器如UltraEdit基础,会有助于你理解。但Vim在此方面的强大灵活,UltraEdit是难忘其项背的。
仍然是我们编辑的原文件,为简化计,请下载test2.txt;下载tx1.vim并保存在d:\program files\Vim\Vimfiles\syntax\tx1.vim
用Vim打开(比如要打开d:\test2.txt,请在Vim中:tabnew d:\test2.txt)它。平平无奇是吗?这是因为Vim并不知道这个文件要加亮。键入一个命令:setf tx1,这就相当于告诉Vim此文件的类型是tx1,所以就按照刚下载的tx1.vim进行高亮和折叠。
此时你会发现test2.txt完全折起来了。如何打开?你可用鼠标点最左边的+,当然,也可以用命令zr或zR打开(zR打开全部;zr打开当前;zM折叠全部;zm折叠当前)。打开后,看到高亮效果了吧。可以对文字设定前景色、背景色、粗、斜、下划线风格。
3.12 加密文件
文本文件打开最快,编辑起来最容易,并且在Vim中查找非常方便。因此,我用它来记日记,并作为通讯录。但是安全问题怎么办呢?很简单,Vim本身即可加密(录然解密也要用Vim)。在上述打开的文件中键入:X(是大写X),Vim就提示你设定密码,安全起见要确认第2次。然后,保存(键入:w)。把Vim或此文件关闭,再打开时,就要输入密码了。只有你输入正确的密码,才能得到正确的文件。
E. gvim7.1(windows下版本)下安装ctags和taglist
http://blog.csdn.net/minico/archive/2007/12/15/1938050.aspx
我只能送个你这个,里面有插件!
你可以从这里面看看,、、、、、
F. linux下的 gvim自动教程怎么使用,用什么快捷键可以打开章节
这个问题就需要专业人士给你解答了,或者自己翻阅一些书籍看看有没有注解的aqui te amo。
G. 为啥vim和gvim对python的支持不一样
有人在realpython.com宣扬Sublime Text 3。作为公司的资深开发人员(呃,也就是老古董),我觉得有义务介绍一个真正的Python开发环境给大家——我要推荐的当然就是Vim了。不错,Vim编辑器无处不在,速度快,从来不会崩溃。并且,它能做任何事情!
不过,不利之处也有,就是Vim配置起来很让人头疼。但是,别担心,本文将告诉你如何配置一个强大的Vim环境,专门用于天天捣鼓Python开发。
下面是最终效果预览。
如果想充分地利用好本文,你应该对如何使用Vim和它的命令模式至少有一个基本的了解。如果你是初学者,你可以通过vim-adventure或者openvim网站学习。在继续阅读本文之前,请花点时间浏览那两个网站的内容。
安装
因为许多Unix衍生系统已经预装了Vim,我们首先要确认编辑器是否成功安装:
vim --version
如果已经安装了,你应该看到类似下面的文字:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 5 2014 21:00:28)
Compiled by [email protected]
Normal version without GUI. Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype
+path_extra -perl +persistent_undo +postscript +printer -profile +python/dyn
-python3 +quickfix +reltime -rightleft +ruby/dyn +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
-toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
-xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses
在这一步,你要确保已经满足以下两点要求:
Vim编辑版本应该大于7.3。
支持Python语言。在所选编辑器的功能中,确保你看到了+python。
如果满足上述要求,接下来可以安装Vim扩展了。如果不满足,则需要安装/升级。
Unix衍生系统
Debian或Ubuntu系统,可以使用下面的代码:
sudo apt-get remove vim-tiny
apt-get update
apt-get install vim
如果是其他版本的Linux系统,请查阅相应版本包管理器的文档。不清楚的话,可以先阅读这篇文章:安装Vim
验证安装
确保你已经安装了7.3版本以上、支持Python的Vim编辑器。你可以再次运行vim --version进行确认。如果你想知道Vim中使用的Python版本,你可以在编辑器中运行:python import sys; print(sys.version)。
2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]
这行命令会输出你的编辑器当前的Python版本。如果报错,那么你的编辑器就不支持Python语言,需要重装或重新编译。
Vim编辑器安装完成后,我们来看看如何将其设置为Python开发的强大环境。
Vim扩展
Vim本身能够满足开发人员的很多需求,但是它的可扩展性也极强,并且已经有一些杀手级的扩展,可以让Vim拥有“现代”集成开发环境的特性。所以,你所需要的第一件东西就是一个好用的扩展管理器。
Vim的扩展通常也被成为bundle或插件。
Vundle
Vim有多个扩展管理器,但是我们强烈推荐Vundle。你可以把它想象成Vim的pip。有了Vundle,安装和更新包这种事情不费吹灰之力。
我们现在来安装Vundle:
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
该命令将下载Vundle插件管理器,并将它放置在你的Vim编辑器bundles文件夹中。现在,你可以通过.vimrc配置文件来管理所有扩展了。
将配置文件添加到你的用户的home文件夹中:
touch ~/.vimrc
接下来,把下来的Vundle配置添加到配置文件的顶部:
set nocompatible " required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
这样,你就完成了使用Vundle前的设置。之后,你就可以在配置文件中添加希望安装的插件,然后打开Vim编辑器,运行下面的命令:
:PluginInstall
这个命令告诉Vundle施展它的魔法——自动下载所有的插件,并为你进行安装和更新。
开始打造IDE吧
本文不可能列举Vim的全部功能,只能快速介绍一些Vim自带的强大功能,它们对于Python开发来说是非常有用的。
扔掉鼠标
或许,Vim编辑器最重要的功能就是它不要求使用鼠标(除了GUI版本外)。一开始,你可能会觉得这是个非常糟糕的做法,但是只要你投入时间——是的,这很花时间——学习快捷组合键,就可以大幅提升工作流的速度。
分割布局(Split Layouts)
使用:sv <filename>命令打开一个文件,你可以纵向分割布局(新文件会在当前文件下方界面打开),使用相反的命令:vs <filename>, 你可以得到横向分割布局(新文件会在当前文件右侧界面打开)。
你还可以嵌套分割布局,所以你可以在分割布局内容再进行分割,纵向或横向都可以,直到你满意为止。众所周知,我们开发时经常需要同时查看多个文件。
专业贴士:记得在输入完:sv后,利用tab补全功能,快速查找文件。
专业贴士:你还可以指定屏幕上可以进行分割布局的区域,只要在.vimrc文件中添加下面的代码即可:
set splitbelow
set splitright
专业贴士:想要不使用鼠标就切换分割布局吗?只要将下面的代码添加到.vimrc文件中,你就可以通过快捷组合键进行切换。
"split navigations
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
组合快捷键:
Ctrl-j 切换到下方的分割窗口
Ctrl-k 切换到上方的分割窗口
Ctrl-l 切换到右侧的分割窗口
Ctrl-h 切换到左侧的分割窗口
换句话说, 按Ctrl+Vim的标准移动键,就可以切换到指定窗口。
等等,nnoremap是什么意思?——简单来说,nnoremap将一个组合快捷键映射为另一个快捷键。一开始的n,指的是在Vim的正常模式(Normal Mode)下,而不是可视模式下重新映射。基本上,nnoremap <C-J> <C-W><C-j>就是说,当我在正常模式按下<C-J>时,进行<C-W><C-j>操作。更多信息请看这里。
缓冲区(Buffers)
虽然Vim支持tab操作,仍有很多人更喜欢缓冲区和分割布局。你可以把缓冲区想象成最近打开的一个文件。Vim提供了方便访问近期缓冲区的方式,只需要输入:b <buffer name or number>,就可以切换到一个已经开启的缓冲区(此处也可使用自动补全功能)。你还可以通过ls命令查看所有的缓冲区。
专业贴士: 在:ls命令输出的最后,Vim会提示“敲击Enter继续查看”,这时你可以直接输入:b <buffer name>,立即选择缓冲区。这样可以省掉一个按键操作,也不必去记忆缓冲区的名字。
代码折叠(Code Folding)
大多数“现代”集成开发环境(IDE)都提供对方法(methods)或类(classes)进行折叠的手段,只显示类或方法的定义部分,而不是全部的代码。
你可以在.vimrc中添加下面的代码开启该功能:
" Enable folding
set foldmethod=indent
set foldlevel=99
这样就可以实现,但是你必须手动输入za来折叠(和取消折叠)。使用空格键会是更好的选择。所以在你的配置文件中加上这一行命令吧:
" Enable folding with the spacebar
nnoremap <space> za
现在你可以轻松地隐藏掉那些当前工作时不需要关注的代码了。
第一个命令,set foldmethod=ident会根据每行的缩进开启折叠。但是这样做会出现超过你所希望的折叠数目。但是别怕,有几个扩展就是专门解决这个问题的。在这里,我们推荐SimplyFold。在.vimrc中加入下面这行代码,通过Vundle进行安装:
Plugin 'tmhedberg/SimpylFold'
不要忘记执行安装命令::PluginInstall
专业贴士: 希望看到折叠代码的文档字符串?
let g:SimpylFold_docstring_preview=1
Python代码缩进
当然,想要代码折叠功能根据缩进情况正常工作,那么你就会希望自己的缩进是正确的。这里,Vim的自带功能无法满足,因为它实现不了定义函数之后的自动缩进。我们希望Vim中的缩进能做到以下两点:
首先,缩进要符合PEP8标准。
其次,更好地处理自动缩进。
PEP8
要支持PEP8风格的缩进,请在.vimrc文件中添加下面的代码:
au BufNewFile,BufRead *.py
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix
这些设置将让Vim中的Tab键就相当于4个标准的空格符,确保每行代码长度不超过80个字符,并且会以unix格式储存文件,避免在推送到Github或分享给其他用户时出现文件转换问题。
另外,对于全栈开发,你可以设置针对每种文件类型设置au命令:
au BufNewFile,BufRead *.js, *.html, *.css
\ set tabstop=2
\ set softtabstop=2
\ set shiftwidth=2
自动缩进
自动缩进有用,但是在某些情况下(比如函数定义有多行的时候),并不总是会达到你想要的效果,尤其是在符合PEP8标准方面。我们可以利用indentpython.vim插件,来解决这个问题:
Plugin 'vim-scripts/indentpython.vim'
标示不必要的空白字符
我们希望避免出现多余的空白字符。可以让Vim帮我们标示出来,使其很容易发现并删除。
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
这会将多余的空白字符标示出来,很可能会将它们变成红色突出。
支持UTF-8编码
大部分情况下,进行Python开发时你应该使用UTF-8编码,尤其是使用Python 3的时候。确保Vim设置文件中有下面的命令:
set encoding=utf-8
自动补全
支持Python自动补全的最好插件是YouCompleteMe。我们再次使用Vundle安装:
Bundle 'Valloric/YouCompleteMe'
YouCompleteMe插件其实底层使用了一些不同的自动补全组件(包括针对Python开发的Jedi),另外要安装一些C库才能正常工作。插件官方文档提供了很好的安装指南,我就不在这里重复了。切记跟随文档的步骤进行安装。
安装完成后,插件自带的设置效果就很好,但是我们还可以进行一些小的调整:
let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR>
上面的第一行确保了在你完成操作之后,自动补全窗口不会消失,第二行则定义了“转到定义”的快捷方式。
支持Virtualenv虚拟环境
上面“转到定义”功能的一个问题,就是默认情况下Vim不知道virtualenv虚拟环境的情况,所以你必须在配置文件中添加下面的代码,使得Vim和YouCompleteMe能够发现你的虚拟环境:
"python with virtualenv support
py << EOF
import os
import sys
if 'VIRTUAL_ENV' in os.environ:
project_base_dir = os.environ['VIRTUAL_ENV']
activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
EOF
这段代码会判断你目前是否在虚拟环境中编辑,然后切换到相应的虚拟环境,并设置好你的系统路径,确保YouCompleteMe能够找到相应的site packages文件夹。
语法检查/高亮
通过安装syntastic插件,每次保存文件时Vim都会检查代码的语法:
Plugin 'scrooloose/syntastic'
还可以通过这个小巧的插件,添加PEP8代码风格检查:
Plugin 'nvie/vim-flake8'
最后,让你的代码变得更漂亮:
let python_highlight_all=1
syntax on
配色方案
配色方案可以和你正在使用的基础配色共同使用。GUI模式可以尝试solarized方案, 终端模式可以尝试Zenburn方案:
Plugin 'jnurmine/Zenburn'
Plugin 'altercation/vim-colors-solarized'
接下来,只需要添加一点逻辑判断,确定什么模式下使用何种方案就可以了:
if has('gui_running')
set background=dark
colorscheme solarized
else
colorscheme Zenburn
endif
Solarized方案同时提供了暗色调和轻色调两种主题。要支持切换主题功能(按F5)也非常简单,只需添加:
call togglebg#map("<F5>")
文件浏览
如果你想要一个不错的文件树形结构,那么NERDTree是不二之选。
Plugin 'scrooloose/nerdtree'
如果你想用tab键,可以利用vim-nerdtree-tabs插件实现:
Plugin 'jistr/vim-nerdtree-tabs'
还想隐藏.pyc文件?那么再添加下面这行代码吧:
let NERDTreeIgnore=['\.pyc$', '\~$'] "ignore files in NERDTree
超级搜索
想要在Vim中搜索任何文件?试试ctrlP插件吧:
Plugin 'kien/ctrlp.vim'
正如插件名,按Ctrl+P就可以进行搜索。如果你的检索词与想要查找的文件相匹配的话,这个插件就会帮你找到它。哦,对了——它不仅仅可以搜索文件,还能检索标签!更多信息,可以观看这个Youtube视频.
显示行号
开启显示行号:
set nu
Git集成
想要在Vim中执行基本的Git命令?vim-fugitive插件则是不二之选。
Plugin 'tpope/vim-fugitive'
请看Vimcasts的这部视频,了解更多情况。
Powerline状态栏
Powerline是一个状态栏插件,可以显示当前的虚拟环境、Git分支、正在编辑的文件等信息。
这个插件是用Python编写的,支持诸如zsh、bash、tmux和IPython等多种环境。
Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}
请查阅插件的官方文档,了解配置选项。
系统剪贴板
通常Vim会忽视系统剪贴板,而使用自带的剪贴板。但是有时候你想从Vim之外的程序中剪切、复制、粘贴文本。在OS X平台上,你可以通过这行代码访问你的系统剪贴板:
set clipboard=unnamed
Shell开启Vim编辑模式
最后,当你熟练掌握了Vim和它的键盘快捷方式之后,你会发现自己经常因为shell中缺乏相同的快捷键而懊恼。没关系,大部分的shell程序都有Vi模式。在当前shell中开启Vi模式,你只需要在~/.inputrc文件中添加这行代码:
set editing-mode vi
现在,你不仅可以在shell中使用Vim组合快捷键,还可以在Python解释器以及任何利用GNU Readline程序的工具(例如,大多数的数据库shell)中使用。现在,你在什么地方都可以使用Vim啦!
结语
Vim的设置到这里就差不多了(至少对于Python开发来说是这样的)。当然,开源世界里还有大量你可以使用的其他扩展,以及本文中所提到插件的替代品。你最喜爱的扩展是什么?你又是如何将Vim设置符合你喜好的?
这是我本人的Vim配置文件链接。你有没有自己的设置代码?请与我们分享!
谢谢!
资源
Vim Tutor是Vim自带的程序,安装结束之后,只要在命令行输入vimtutor即可,程序将会用Vim编辑器教你如何使用Vim。
Vimcasts是一系列的高阶视频教程,内容涉及许多Vim的功能。
Vim官方文档
Open Vim
笨办法学Vimscript是学习vimscript的极好材料。
H. 如何利用GVIM制作模板哪里有教学视频
你所说的视频模板,指的是什么,AE? 下载AE模板,推荐你到新CG儿下载,那里有很多模板,我也是那下的。
I. Ubuntu Linux9.04的使用方法
网上有个叫海明工作室的视频教程,看视频教程来得快,里面讲解了常用的命令,一般来讲,新手会用里面的大部分命令就足够了。还是要提一下,Ubuntu的图形化界面还是很有用的,日常的大部分操作都可以用图形界面来完成,轻轻松松点几下鼠标就可以完成,要是设置好了,比windows里用鼠标方便得多。不过一些软件的使用也是很多敲击键盘方便得多的,例如vim,你可以在网上查一查这个软件的网页来简单了解一下,实在是太好用了,它有关图形化的界面叫gvim,用起来更方便。提这个软件只是举个例子,如果你是用来工作和学习的话,Ubuntu的确是个很好的选择。
另外,看完视频后,这个网站(维基ubuntu)会对你有很大帮助的:
http://wiki.ubuntu.org.cn
这里面全面介绍了Ubuntu的使用。
还有个论坛(ubuntu中文论坛),当你有问题的时候可以在这里找:
http://forum.ubuntu.org.cn/
J. VIM GVIM区别
在 linux 下还是 vim 用的多,因为 gvim 不方便。
可能是楼主的插件没配置到位。绝大多数插件都不针对 vim 或者 gvim,除非是的专门用来增强某种显示效果的。