-
Quartus II 中使用VIM编辑器 - [Verilog]
2008-04-29
-
通过vim web发布 - [LBE]
2007-07-15
原文:Web Authoring with Vim
作者:toydi
译者:gosman(lianmingchang2008#gmail.com)
来自:http://gosman.blogbus.com
版本:V 1.0.0
时间:2007-4-28
通常vim使用以下命令打开一个文件:
vim /path/to/file
vim也可以浏览目录
vim /path/to/directory
在vim中,:write命令保存文件,:read命令读取文件到当前缓冲区,:tabnew /path/to/file在标签(tab)窗口中打开文件。
远程编辑
远程编辑时,vim使用相同的命令处理远程机器上的文件和目录(这让人很惊讶)。
例如,打开web服务器上的文件。
vim ftp://ftp.teohuiming.name/public_html/blog/index.html
浏览web服务器上的目录,注意URL末尾的正斜杠表明它是目录。
vim ftp://ftp.teohuiming.name/public_html/
比如打开index.html文件,在修改后运行:write命令,vim会向服务器发出FTP请求并更新文件。
除了FTP,vim也支持其他的远程访问协议,如HTTP、WebDAV、SSH(scp,sftp)等。详细信息可以参看帮助:help netrw。
配置vim使用被动FTP
如果已经成功连接到FTP服务器,发出FTP请求,但无法从服务器接收数据,你可能需要打开FTP的被动模式来解决这个问题。
要vim使用被动FTP,必须强制vim使用pftp,需要添加以下语句到vim配置文件 ~/.vimrc。
let g:newrw_ftp_cmd = 'pftp'
其他提示
使用 :0r 加载模板。以前我使用以下命令来新建一个基于模板的文件。
cp html401.tpl tutorial2.html
vim tutorial2.html如果你在vim中的话,更简单的方法是:tabnew 打开一个空白文件,用:0r html401.tpl加载模板。
插入ISO6801日期格式。在网络世界,撰写标准文档(如Atom)时经常要插入ISO6801格式的时间戳。在vim中插入类似2007-06-18T23:14:02+0800的时间戳,可以使用 :r !date -Iseconds。
-
Vim使用组合键注释代码 - [LBE]
2007-06-03
原文:commenting your source code with combo keys in vim
作者:mysurface
译者:gosman(lianmingchang2008#gmail.com)
来自:http://gosman.blogbus.com
版本:V 1.0.0
时间:2007-6-3
我的同事用 VC++ 时用组合键注释语句,我想vim也有类似功能。Vim的强大之处就在于它的灵活,可以定制组合键。
vim允许覆盖自身绑定的快捷键。正常模式下的 c 和 cc 组合键,对我的用处不大,因此我使用他们完成注释和去掉注释。
注释时将可视模式下选定文本的每行开头插入"//"。意味着,要用v键从正常模式切换到可视模式选定文本后,再输入组合键。
:s/^/\/\//g
去掉注释执行相反过程。
:s/^\/\///g
键绑定,将以下语句添加到 ~/.vimrc。
:map cc v:s/^/\/\//g
:map cx v:s/^\/\///g
:vmap cc :s/^/\/\//g
:vmap cx :s/^\/\///g将 cc 映射到命令 v:s/^/\/\//g ,其余依此类推。其中 :vmap 约束键映射只能在可视模式下有效。
更新:
在“评论”中发现了更好的"正则表达式"。
:map cc v:s!^!//!g
:map cx v:s!^\s*//!!g v=
:vmap cc :s!^!//!g
:vmap cx :s!^\s*//!!g v= -
vim使用外部程序打印 - [LBE]
2007-05-28
原文:Printing in vim: Using programs to other than the default lpr
作者:Felix Leong
译者:gosman(lianmingchang2008#gmail.com)
来自:http://gosman.blogbus.com
版本:V 1.0.0
时间:2007-5-28
vim 下打印使用:hardcopy(也可用缩写:ha),该命令等价于创建临时Postscript文件,并传递给lpr打印。
那如果要更改 vim 的打印行为呢?比如使用 a2ps 程序将两页缩放到一页打印。使用:printexpr可以很简单的达到目的。在 ~/.vimrc 添加以下代码。
(修改自 2. Print options, from VIM Reference Manual, Printing)
set printexpr=PrintFile(v:fname_in)
function PrintFile(fname)
call system("a2ps " . a:fname)
call delete(a:fname)
return v:shell_error
endfunc基本上你只要将 call system() 的参数替换成其他打印命令就行了。
小提醒:在打印时请关注"节约树木"。
对 vim 脚本的说明
我们将一行行的解释该脚本,需要具备少量的编程知识。
set printexpr=PrintFile(v:fname_in) 设置printexpr将打印请求重定向到PrintFile函数。根据《VIM参考手册》在打印章节的说明 “ 打印文件的文件名变量为v:fname_in”,我们使用变量 v:fname_in 作为函数 PrintFile 的参数,该变量是VIM预定义变量表示输入文件名。
第二行定义函数名 PrintFile和指定参数 fname。第三行调用外部命令“ a2ps [file name]“,system 函数的参数 "a2ps " . a:fname ,用点号将字符串 "a2ps "(有空格)和函数参数(fname)相连接,a: 表示fname是先前定义的函数参数。
最后,我们删除文件(call delete(a:fname))和返回shell错误信息(return v:shell_error),这样 vim 可以返回该错误信息。用 end func 结束函数定义。
-
经过将近一年的选择,终于决定放弃emacs而改用VIM。越来越喜欢VIM的小巧漂亮及其设计思想。以下是我草拟的学习计划:
- 每周看一遍vimtutor,直到自己觉的没必要再看为止;
- 经常访问VIM online,特别是经常光顾一下tips;
- 在VIM的基本操作差不多的时候,看 Steve Oualline写的一本VIM的书籍;
- 接下来也许到一年之后了,看VIM的帮助文档;
- 学习阶段结束,接来就得靠自己在实践中慢慢修炼了。
以下是一幅VIM学习地图,个人认为非常好。








