设置VIM代码折叠效果

  1. 折叠方式

可用选项 ‘foldmethod’ 来设定折叠方式:set fdm=*****

有 6 种方法来选定折叠:

manual 手工定义折叠

indent 更多的缩进表示更高级别的折叠

expr 用表达式来定义折叠

syntax 用语法高亮来定义折叠

diff 对没有更改的文本进行折叠

marker 对文中的标志折叠

注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。

使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。

要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。

  1. 折叠命令

选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:

如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。

在可折叠处(大括号中间):

zc 折叠

zC 对所在范围内所有嵌套的折叠点进行折叠

zo 展开折叠

zO 对所在范围内所有嵌套的折叠点展开

[z 到当前打开的折叠的开始处。

]z 到当前打开的折叠的末尾处。

zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。

zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。

当使用marker方式时,需要用标计来标识代码的折叠,系统默认是 {{{和}}} ,最好不要改动之:

我们可以使用下面的命令来创建和删除折叠:

zf 创建折叠,比如在marker方式下:

zf56G,创建从当前行起到56行的代码折叠;

10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。

10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。

在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。

zd 删除 (delete) 在光标下的折叠。仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。

zD 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。

仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。

zE 除去 (Eliminate) 窗口里“所有”的折叠。

仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。

以上内容摘自互联网


我使用的是marker折叠方式,修改它的折叠识别代码,实现将{}内的内容折叠。方法如下:

在vimrc中添加如下代码,然后运行VIM后按F6键即可。

1
2
3
4
5
6
7
"代码折叠设置-----------------------------------
"{}折叠设置 ---------------------------------
map <F6> :call My_Fold()<CR>
function My_Fold()
set foldmethod=marker
set foldmarker={,}
endfunction

有不懂的可以使用命令:help marker查看帮助。
效果如下图:

VimIM——Vim 中文输入法

概述


VimIM,全名就是Vim Input Method,即Vim下的输入法。一个文本文件,构成一个中文输入法。插上联网就可以云输入。如果再加上一个文件或目录,无需联网照样敲打中文,随心所欲。程式文件用的是 Vimscript, 天生跨平台(Windows, Mac, Linux)词库文件就是自己的输入法(拼音,無蝦米,倉頡,英文,DIY)所谓安装,就是把文件或目录扔到 vim 的 plugin 目录之下。

插上【拼音】词库,就是vim拼音输入法(全拼或六种双拼)。
插上【五笔】词库,就是vim五笔输入法。
〖目录词库〗可以是海量,大小无限制。不占内存,不耗CPU
【四角号码】可以当作【拼音】动态辅助码,完完全全的 hjkl

不设选项,不换模式,点<C-6>就可以上汉字,是谓〖点石成金〗。
不按快捷键,也可以自动进入中文输入模式,如果文件后缀名是 vimim
所谓卸载,就是删除文件或目录。

使用方法


下载程序

官方网址:http://vim.sf.net/scripts/script.php?script_id=2506

最新主页:http://vimim.googlecode.com/svn/vimim/vimim.html

安装程序

所谓安装,就是把VimIM插件 vimim.vim 和词库文本文件扔到 vim 的 plugin 目录之下。Linux系统的话就是/usr/share/vim/vim72/plugin。然后运行VIM按Ctrl+切换到连续输入模式,再按则退出;按Ctrl+6切换到临时输入模式。

下载词库

极点五笔:http://vimim-data.googlecode.com/svn/trunk/data/vimim.wubijd.txt

拼音大词库:http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin_huge.txt

偶感觉这个词库不太全,不过你也可以自己制作。如果目录中没有词库文件的话它会自动调用搜狗云输入法,不过这需要你联网才行。

效果如图:

VIMIM

几款Linux下使用ICQ、MSN的软件

1、Empathy


Empathy是一个即时通讯客户端支持文本, 多种通讯协议。可挎平台使用,支持Linux, BSD, Unix。支持如下通迅工具:AIM、Google Talk、Groupwise、ICQ、MSN、QQ(现在好像不能用了)、Facebook、Yahoo!等。

官网:http://live.gnome.org/Empathy

2、Pidgin


Pidgin(前称Gaim)是一個跨平台的即時通訊客戶端,使用GNU通用公共許可證发布(GPL)。支持挎平台使用。支持如下通迅工具:AIM、Bonjour、Gadu-Gadu、Google Talk、Groupwise、ICQ、IRC、MSN、MXit、MySpaceIM、QQ、SILCS、IMPLE、Sametime、XMPPYahoo!、Zephyr。

官网:http://www.pidgin.im/

3、Licq


Licq使用GNU通用公共許可證发布(GPL),支持ICQ、MSN、AOL等。

官网:http://www.licq.org/

4、Gnomeicu


顾名思义,Gnomeicu 是一款为Gnome桌面设计的ICQ软件。功能比较强大。

官网:http://gnomeicu.sourceforge.net/

以上几款软件各有各的特点,目前偶用的是Pidgin。

VIM实现C与GTK同时代码高亮

vim是一款优秀的编辑器,支持多种语言的高亮。不过在编程时支持C高亮就不能支持GTK高亮,支持GTK高亮就不能支持C高亮,这个很是郁闷,难道就不能同时支持两种语言吗。通过试验发现可以修改VIM的配置实现多种语言同时高亮。

首先你要有关键字高亮的配置文件,C的VIM应该自带有,GTK的如果没有可以到这里下载。gtk-vim-syntax.7z:http://v4.u.115.com/file/f5123a8395

下载解压后,进入解压目录,其中gtk.vim就是GTK的关键字高亮文件,不过如果直接使用这个的话GTK高亮了,但是C又不高亮。偶用的方法是将c.vim的内容复制到gtk.vim中去,然后保存为一个文件,就是压缩包中的gtk+.vim这个文件,然后将其复制到/usr/share/vim/vim72/syntax目录下。

然后再在gvim菜单中添加一个GTK高亮选项,方法是修改/usr/share/vim/vim72目录下的synmenu.vim文件,添加一行“an 50.40.440 &Syntax.FG.GTK+ :cal SetSyn(“gtk+”)<CR>”,偶是添加在“an 50.40.430 &Syntax.FG.GTKrc :cal SetSyn(“gtkrc”)<CR>”(210行处,不同人可能不同)这一行的下方。

现在就可以同时实现C与GTK关键字高亮了,如图:

gtk-vim-syntax

Vim-syntax-menu

这样虽然实现了C与GTK同时高亮,但是还是有些关键字不行,如gdk、glib等。虽然压缩包内包含有这些的文件,但是如果全都合成一个文件的话,那样会显得比较臃肿,所以就先将就了。

推荐两款WordPress高亮代码插件

1、wp-syntax


适合使用:WordPress 2.0 or higher
下载链接:http://wordpress.org/extend/plugins/wp-syntax/

使用方法:在后台启用wp-syntax后,在文章中插入如下代码实现代码高亮:
<pre lang=”LANGUAGE” line=”1″> 要显示的代码<pre>
相关参数说明:
lang=“LANGUAGE”,在language处填写你要运行的代码语言,如css、php等;
显示的代码,就是你要高亮显示的代码;
line=”1″,line表示显示行号,不写则不显示。1表示代码从第一行开始显示。

2、SyntaxHighlighter


适合使用:WordPress 2.8 or higher
下载链接:http://wordpress.org/extend/plugins/syntaxhighlighter/

使用方法:启用插件后,在文章插入如下代码实现高亮:
[code lang=”language”] 需要显示的代码[/code]

据说wp-syntax支持的语言比较多,不过对于一般人来说这两个插件所支持的语言都够用了。

FCKeditor——可视化HTML编辑器

FCKeditor简介

以前一直苦恼Linux下没有合适的HTML编辑器,但是现在找到一款软件比较不错。FCKeditor 相容于绝大部分的网页浏览器,像是 : Internet Explorer 5.5+ (Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+ 、Netscape 7+以及Opera浏览器。也就是说只要你的浏览器支持,无论是在什么系统下都能用。

FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它可和PHP、JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。“FCKeditor”名称中的“FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。

下载安装

下载地址:http://ckeditor.com/download 现在最新版本是CKEditor 3.4.1。
解压后直接用浏览器打开 ckeditor/_samples/index.html 即可。

网站终于恢复正常了

前两天突然发现偶的博客(www.xefan.cn)无法访问,但是空间的FTP可以连接上,数据库也没问题。因此只有一种可能了,空间的IP被墙了。

又要开始痛苦的搬家过程了,这是偶第N次搬家了…………5555555~~~~~

这两天尝试了很多网友推荐的空间,但是这些空间不是访问不了就是限制太多,都不尽人意。最后还是选择72pines。尽管72pines有广告,尽管有限制,但是相对于寻找免费空间的漫长过程来说这些还是可以接受的。

目前就暂且在这定居了,希望以后别再出问题了。

在Windows下安装GTK

GTK 简介

GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL许可证,所以可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何费用来购买许可证和使用权。当前,GTK 已经被成功地应用到 了大量的自由软件及商业软件中,已经取得了很大的成功。
GTK是跨平台的,它能够运行于Linux/Unix/Windows/MacOS及嵌入式系统

下面就来介绍一下在Windows一搭建GTK开发环境。
首先需要先安装C/C++开发环境,GTK支持Cygwin、MSYS、Dec-Cpp、MSVC这几种。这里偶用的是Dev-Cpp。在前一篇文章《在Windows下安装gcc》( http://www.xefan.com/archives/83446.html )介绍了Dev-Cpp的安装。

下载、安装GTK

下载地址:http://gladewin32.sourceforge.net/

由于我们是用于开发,所以就选择下载Gtk+ 2.12.9 Development Environment Revision 2这个。下载完后安装gtk-dev-2.12.9-win32-2.exe,安装过程全部按照默然的就可以了,留意一下的是选择IDE的时候确定一下是Dev-Cpp就可以了。安装完毕后系统环境变量和Dev-Cpp的目录设置应该都已经设置好了。
1、查看系统环境变量:右键单击“我的电脑”–>“属性”–>“高级”–>“环境变量”–>“系统变量”,可以看到Path增加了“%GTK_BASEPATH%bin”。

2、查看Dev-Cpp的目录设置:“工具”–>“编译器选项”–>“目录”,选择“库”可以看到“C:GTKbin”;选择“C包含文件”可以看到“C:GTKINCLUDE”……

接下来我们进行测试一下,打开 Dev-C++,建立一个新的工程,添加一个新文件:

#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Hello World");
gtk_widget_show(window);
gtk_main();
return 0 ;
}

这个时候还不能编译,需要修改工程属性,在”工程->工程属性->参数” 或 “工具->编译选项”中的链接器框里面填入:

    -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

在编译选项里面填入:

    -mms-bitfields

就可以编译通过了。

在运行以后,你会发现出现一个空白窗口,标题为 Hello World。

在Windows下安装gcc

GCC简介

GCC是GNU公社的一个项目。是一个用于编程开发的自由编译器。最初,GCC只是一个C语言编译器,他是GNU C Compiler 的英文缩写。随着众多自由开发者的加入和GCC自身的发展,如今的GCC以经是一个包含众多语言的编译器了。其中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原来的GNU C Compiler变为GNU Compiler Collection。也就是 GNU编译器家族 的意思。当然,如今的GCC借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译另一个平台的代码。

GCC是一个原本用于Unix系统下编程的编译器。不过,现在GCC也有了许多Win32下的移植版本。

GCC for Windows

Windows下的gcc有MinGW、Cygwin、Dev C++等等。这几个版本都很不错,不过我还是比较喜欢Dev C++。

MinGW( http://www.mingw.org )和Cygwin( http://www.cygwin.com )在安装过程中需要联网下载所需的文件,而服务器基本上都是在国外,所以这个过程非常的慢。曾经有一次安装Cygwin花了偶一个多小时的时间…………

这就是偶为什么选择Dev C++的原因。

Dev C++( https://sourceforge.net/projects/dev-cpp/ )使用MingW32/GCC编译器,遵循C/C++标准。开发环境包括多页面窗口、工程编辑器以及调试器等。

devcpp-4.9.9.2_setup.exe下载:

http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download

Dev C++如图:

Linux下文件、文件名编码转换

在Windows下文本文件默认保存为ansi的编码,而在Linux下是utf8的编码,所以Linux与Windows共享文件时常常出现乱码。这时就需要转换编码了。

转换文件编码
直接用文本编辑器(如gedit)打开文本文件,再另存为时选择编码类型然后保存。

转换文件名编码
偶用vsftpd搭建了一个ftp服务器,结果在Windows下访问时文件名有中文的会出现乱码。只要把文件名的编码转换一下就可以了,可以使用convmv软件来完成。

把文件名由utf8改为gbk:convmv -f utf8 -t gbk * –notest

把文件名由gbk改为utf8:convmv -f gbk -t utf8 * –notest