标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[打印本页]
作者: flw
时间: 2004-12-25 14:00
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!

本贴长期有效,尽量不要灌水,谢谢!
作者: gvim
时间: 2004-12-25 20:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我先哈,问个不是VIM 的 VI类
有的时候用minix,里面只有elvi,我想问怎么使C语法加亮。
下面是set all 的截图。

图片附件:
snapshot.JPG (2004-12-25 20:41, 33.88 K) / 该附件被下载次数 8
http://bbs.chinaunix.net/attachment.php?aid=81806
作者: dryice
时间: 2004-12-25 21:45
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我的印象里是不支持。
作者: py
时间: 2004-12-26 20:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
不支持
作者: flw
时间: 2004-12-27 09:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
看你的 set all 的样子,应该是不支持。
作者: superdoctor
时间: 2004-12-27 13:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
哈,问个问题
我由于要经常配置一个软件的配置文件,很多情况下配置文件对空格 不可见字符要求严格,所以我用:set list来查看所有不可见字符,可是我不知道怎么重置它,就是查看完了后怎么取消掉那些结尾的$号?
一直我都是关闭后再打开,刚好flw开贴子,就问问
作者: superdoctor
时间: 2004-12-27 13:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
刚才看了看上面set all的启发,自己查了一下,呵呵,找到答案了
:set nolist
就可以取消set list的状态
作者: hoyt
时间: 2004-12-27 13:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim如何支持ftp操作
现在很多的编辑器都支持使用ftp打开远程文件,然后进行操作,vim中怎么进行这个?
作者: flw
时间: 2004-12-27 14:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "superdoctor" 发表:
刚才看了看上面set all的启发,自己查了一下,呵呵,找到答案了
:set nolist
就可以取消set list的状态
呵呵,
所有的 bool 型的选项用 set no??? 就可以关掉。
反过来讲,有些默认是 no??? 的,用 set ??? 就可以打开。
只要掌握了这个规律就好办了。
作者: flw
时间: 2004-12-27 14:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "hoyt" 发表:
vim如何支持ftp操作
现在很多的编辑器都支持使用ftp打开远程文件,然后进行操作,vim中怎么进行这个?
这个也可以。很方便。
打开:
:e ftp://192.168.10.76/abc.txt
保存(如果不存在则创建):
:w ftp://192.168.10.76/abc.txt
读取:
:r ftp://192.168.10.76/abc.txt
以上操作第一次打开时需要输入用户名和密码,
以后就不用了,vim 会记住的。
总之,大多数针对文件的操作都可以直接用来操作 ftp 文件,
vim 通过解析文件名中的 URL 标记来区别。
其实打开文件还有一个比较方便的办法,
那就是当你编辑的文件中包含有类似于 ftp://192.168.10.76/abc.txt 这样的文件 URL 时,
你直接把光标挪到上面,再用 gf 命令就可以打开了。
需要注意的一点是,
vim 本身并不携带 ftp 客户端,vim 只是调用操作系统提供的 ftp 客户端并捕获它的输出。不过大多数操作系统都是有 ftp 客户端的,所以这一点不用担心。
作者: playmud
时间: 2004-12-27 15:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
第一次看见说比ue还好用的.
作者: gvim
时间: 2004-12-27 15:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
flw
能简单介绍一下vim脚本吗?
还有,我学help里的map命令的时候,说在特殊输入前面需要Ctrl+V,可是为什么我敲了以后,要么是没有反应(字符界面),要么是出来一大堆东西(GUI界面)?
还有Ctrl+R是什么意思?
作者: flw
时间: 2004-12-27 17:07
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
flw
能简单介绍一下vim脚本吗?
抱歉,最近比较忙,没有时间整理思路做没有针对性的介绍。
[quote]
原帖由 "gvim"]还有,我学help里的map命令的时候,说在特殊输入前面需要Ctrl+V,可是为什么我敲了以后,要么是没有反应(字符界面),要么是出来一大堆东西(GUI界面)? [/quote 发表:
你是不是 windows 平台?Ctrl+V 在 windows 平台可是粘贴的意思哦。
如果不是 windows 平台,那么你检查一下 Ctrl+V 在你的环境下是不是被重新映射了。
[quote]
原帖由 "gvim"]还有Ctrl+R是什么意思?[/quote 发表:
Ctrl+R 是在编辑时或者命令行界面下调入寄存器值的热键。
比如 Ctrl+R+: 会得到上一次执行的命令(: 寄存器的内容),
Ctrl+R+/ 会得到上一次查询的条件(/ 寄存器的内容)。
Ctrl+R+<寄存器名>; 相当于 Normal 模式下的 "<寄存器名>;p 命令。
作者: gvim
时间: 2004-12-27 17:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢你flw。
有问题我会继续往后面贴问题的,不要嫌烦哦:)
作者: gvim
时间: 2004-12-27 17:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我是windows平台,那我如何才能按照我想要得意思是用Ctrl+V呢?
作者: benlan
时间: 2004-12-28 10:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vi 处理多个文件编辑有什么法子?
我一般是用vi file1 file2 file3...
然后用n N first last切换
作者: flw
时间: 2004-12-28 12:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你问的是 vi ?还是 vim ?
下次发贴提问请尽量说清楚一些,谢谢!
如果是 vim 的话,n 和 N 命令象大多数 vim 的命令一样,是可以带重复次数的。比如 4N 5n 这样子。
你可以用 :args 命令查看当前正在编辑的
文件列表,你正在编辑的文件名会用方括号括起来,然后可以用 4n 4N 这样的命令,快速地跳转到你要编辑的文件。
作者: benlan
时间: 2004-12-28 13:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim在编辑一个文件时如果打开多个文件,
如 vim file1 时,不关闭file1时,如何打开file2 file3
现在我只能e file2,然后用e #跳回,能不能在vim file1时又打开file2 file3且能互相切换..
作者: flw
时间: 2004-12-28 13:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
假设你正在编辑 file1,那么用
:args <CTRL-R>;% file2 file3
就可以了。
作者: krs
时间: 2004-12-28 16:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问楼主,如何删除连续两行之间的回车符,使连续的两行成为一行?
作者: flw
时间: 2004-12-28 17:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "krs"]请问楼主,如何删除连续两行之间的回车符,使连续的两行成为一行?[/quote 发表:Jx
作者: aero
时间: 2004-12-29 15:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "benlan" 发表:
vi 处理多个文件编辑有什么法子?
我一般是用vi file1 file2 file3...
然后用n N first last切换
也可以用:sp filename、:vsp filename来分屏打开文件,用ctrl+w+方向键来选择不同的窗口。
另外,问flw两个问题。
1、vi和vim有什么区别?总听见这两个词。
2、怎么将一定段落中的某个词替换成另一个词啊?
作者: flw
时间: 2004-12-29 17:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1,vi 是传统的、古老的、最基本的 unix 编辑器,技术所有的类 unix 系统都有的。vim 是 Vi IMproved 的简写,是以一种比 GPL 更开放的形式发布的开源软件,该软件的宗旨是完全兼容(注) vi 并且提供很多增强功能,vim 现在已经成了大多数 Linux 系统的默认编辑器。
2,替换用 s/abc/def/ 这样,就可以把 abc 换成 def。
s 是最基本的替换命令,象大多数文本操作命令一样,它也可以带一个表示操作范围的前缀。有空了我会给大家讲讲范围前缀的语法和常见的用法。
一个简便的方法是,先在 visual 模式下想办法选中你要操作的范围,然后再输入 s 命令就可以替换了。
比如你要操作一个段落,可以先用 { 或者 [[ 挪到段落的开始处,然后再用 v 进入 visual 模式,然后再用 } 或者 ]] 挪到段落的结尾处,然后再输入 s 命令就可以实现你的目的了。
作者: xxbview
时间: 2004-12-30 13:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vi中有显示列号这个功能吗?
作者: flw
时间: 2004-12-30 15:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "xxbview"]vi中有显示列号这个功能吗?[/quote 发表:
什么叫“显示序列号”?
是“显示行号”的意思吗?
如果想显示行号,可以用 :set nu 试试。
作者: THEBEST
时间: 2004-12-30 18:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
什么叫“显示序列号”?
是“显示行号”的意思吗?
如果想显示行号,可以用 :set nu 试试。
能否让行号显示以0打头?像:
0001
0002
0003
这样子?
作者: flw
时间: 2005-1-3 19:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
回楼上:
这个似乎不行,
哪位知道的朋友请回答一下。
作者: albcamus
时间: 2005-1-4 09:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
flw,偶问个问题,vim中光标在C函数和系统调用上时,按K进入man手册页,可是如果应用程序也有这个名字,比方说readlink,按下K就进入那个应用程序的man页了,如果我想取得在shell中man 2 readlink这样的效果,该怎么办?谢谢~
作者: albcamus
时间: 2005-1-4 12:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
偶找到方法了,先按下2,然后shift+k,就进入系统调用man页了,呵呵。
作者: aero
时间: 2005-1-4 13:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在vi中,怎么选中指定的几行,然后进行规整格式之类的命令?
比如用V可以进入虚拟模式,然后上下就可以选中几行,然后用=规整格式。
如果我想选中的行比较多,有没有比较好的办法呢?
作者: sdemon915
时间: 2005-1-4 17:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我知道用indent *.c 可以整理整个文件的代码风格 只整理几行的话还真不清楚
作者: flw
时间: 2005-1-4 17:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aero" 发表:
在vi中,怎么选中指定的几行,然后进行规整格式之类的命令?
比如用V可以进入虚拟模式,然后上下就可以选中几行,然后用=规整格式。
如果我想选中的行比较多,有没有比较好的办法呢?
呵呵,
V 打开"可视模式"(不是虚拟模式,虚拟是 virtual)后,可以有很多种办法移动光标的,不一定非得用 h j k l , 比如可以搜索定位, 也可以用 [[ ]] ][ [] } { 等段落定位的命令.
v]]
v[[
v}
这样就可以选中一大块,而不用一行一行地选
还有 H L 这些都可以用.
详细请 help motion
另外, vim 内置了很多以 a 打头的文本对象, 如 a{ 表示一个 {} 块, ap 表示一个段落等等。=a{ 就可以重排当前语法块.
作者: yeath
时间: 2005-1-5 14:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
=a{命令重排后,是按2个TAB键进行缩进的?想让它按一个TAB键缩进,该如果处理?谢谢! 在Visual状态下,如何选择整个文件?
作者: assiss
时间: 2005-1-5 19:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
全选的命令是
ggVG
gg表示到第一行第一个字母,
V进入visual line
G则到文件尾。
这样就完成了全选。
至于=a{重排,应该跟shiftwidth、softtabstop、tabstop、expandtab等设置有关。具体看你是怎么设置的。
我的是把TAB全部设置成4个空格了。
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set cindent
set ai
作者: flw
时间: 2005-1-5 22:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "gvim"]我是windows平台,那我如何才能按照我想要得意思是用Ctrl+V呢?[/quote 发表:
windows 下因为 Ctrl+V 被定义成粘贴了,
所以真正的 Ctrl+V 被映射成 Ctrl+Q 了,你用 Ctrl+Q 就相当于输入 Ctrl+V。
作者: ificanfly
时间: 2005-1-6 20:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
从win2k telnet到rh7.3使用vim编辑C文件时候,如何处理Ctrl+]呢?
作者: flw
时间: 2005-1-6 21:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vt100 不支持。
用 ansi 终端,
或者干脆改用 NetTerm 等软件,
NetTerm 的终端设置见我的原创精华。
作者: gvim
时间: 2005-1-6 21:36
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
样就可以选中一大块,而不用一行一行地选
还有 H L 这些都可以用.
详细请 help motion
另外, vim 内置了很多以 a 打头的文本对象, 如 a{ 表示一个 {} 块, ap 表示一个段落等等。=a{ 就可以重排当前语法块.
新手又学到了!
QUOTE:
原帖由 "flw" 发表:
windows 下因为 Ctrl+V 被定义成粘贴了,
所以真正的 Ctrl+V 被映射成 Ctrl+Q 了,你用 Ctrl+Q 就相当于输入 Ctrl+V。
谢谢
另外加一问,vim里面能不能设置emacs那样的集成调试环境?我每次都用的:!gdb ,挺麻烦,除此之外还有其他的比较简单的调试方法吗?
作者: assiss
时间: 2005-1-7 00:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
问一下,vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?
比如我调用
:!objdump -S %:p:r<cr>;
怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?
作者: hoyt
时间: 2005-1-7 10:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim支持语法高亮度显示,那么vim是否支持将语法高亮度显示的结果保存为一个html文档呢?这样就可以很轻松的将源代码转换为html文档了。
作者: assiss
时间: 2005-1-7 10:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
gvim倒是有这个选项,在语法菜单里。
不知道VIM怎么做。
作者: hahubitbear
时间: 2005-1-7 14:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "assiss" 发表:
问一下,vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?
比如我调用
:!objdump -S %:p:r<cr>;
怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?
有一个办法,就是设一下grepprg或makeprg,然后用:grep或:make
不知有没有更好的办法?
作者: ificanfly
时间: 2005-1-7 16:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢flw
不过使用netterm后还有几个问题。
我使用的是4.2.e.4
按照你的帖子中所说,若是设置ANSI-BBS,则只显示netterm中设定的颜色。在vim中语法高亮部分只显示一道下划线。若是使用ANSI 有颜色,但是在netterm中不能更改字体颜色,不管设置什么颜色都显示蓝色(我使用的黑色底色)
作者: ificanfly
时间: 2005-1-7 21:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
搞定啦。只需要选中allow graphics rendition code of 0 to reset colors to default 并且改变TERM终端变量为ansi就一切OK啦
作者: flw
时间: 2005-1-8 11:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "hoyt"]vim支持语法高亮度显示,那么vim是否支持将语法高亮度显示的结果保存为一个html文档呢?这样就可以很轻松的将源代码转换为html文档了。[/quote 发表:
有,试试!
:TOhtml
作者: flw
时间: 2005-1-8 11:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "assiss" 发表:
问一下,vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?
比如我调用
:!objdump -S %:p:r<cr>;
怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?
这样就可以了:
:split +enew | r !ls
作者: yeath
时间: 2005-1-8 18:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
to flw:
有没有VIM全一点的资料?贴个上来啊,谢谢!
作者: flw
时间: 2005-1-8 18:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "yeath" 发表:
to flw:
有没有VIM全一点的资料?贴个上来啊,谢谢!
vimcdoc.sf.net
作者: redfoxlinux
时间: 2005-1-9 15:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你好 我想问一下 在vim中如何 进行块复制 删除 等 块操作
作者: gvim
时间: 2005-1-9 16:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
:split +enew | r !ls
能不能麻烦你详细解释一下每个元素的用法,就像上面有人解释ggVG那样,小弟第一次看到你这样的写法,谢谢
作者: assiss
时间: 2005-1-9 16:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
能不能麻烦你详细解释一下每个元素的用法,就像上面有人解释ggVG那样,小弟第一次看到你这样的写法,谢谢
:h split
:h enew
就应该差不多了。
我说一下我的理解:
split :分割窗口
+cmd:split的用法,表示运行一个cmd
enew:打开一个新的无名buffer
|:管道
r:read
!ls:执行外部命令
作者: aero
时间: 2005-1-9 16:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "redfoxlinux"]你好 我想问一下 在vim中如何 进行块复制 删除 等 块操作[/quote 发表:
嘿嘿,这个偶知道。
:v进入可视模式,hjkl选中要选中的块。y:复制、d:删除/剪切、p:粘贴。
作者: assiss
时间: 2005-1-9 17:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "redfoxlinux"]你好 我想问一下 在vim中如何 进行块复制 删除 等 块操作[/quote 发表:
v: visual mode//和普通的选择没区别
V: visual line mode//在此模式下,选择的基本单位是行,即:要么就选一行,要么就什么都不选
Ctrl-V: visual block mode//此模式下,可以选择一个块。什么概念?自己试试吧,呵呵。
作者: gvim
时间: 2005-1-9 17:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "assiss" 发表:
+cmd:split的用法,表示运行一个cmd
assiss 请问这个cmd是指的shell的还是vim内部的?
作者: assiss
时间: 2005-1-9 17:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
assiss 请问这个cmd是指的shell的还是vim内部的?
QUOTE:
The [+cmd] argument can be used to position the cursor in the newly opened
file, or execute any other command:
+ Start at the last line.
+{num} Start at line {num}.
+/{pat} Start at first line containing {pat}.
+{command} Execute {command} after opening the new file.
{command} is any Ex command.
学会使用:h,呵呵。
作者: flw
时间: 2005-1-10 12:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "assiss" 发表:
:h split
:h enew
就应该差不多了。
我说一下我的理解:
split :分割窗口
+cmd:split的用法,表示运行一个cmd
enew:打开一个新的无名buffer
|:管道
r:read
!ls:执行外部命令
这个理解基本正确,只是 | 并不是管道操作符,而是命令分割符。
split {+cmd} 这种用法表示打开一个新窗口,并且在新窗口中执行 {cmd} 这个命令,也就是说 split enew 就是打开一个新窗口,并且在其中执行 enew 这个命令。
r !ls 则表示执行外部命令 ls,并且捕获(读入)它的输出。
作者: assiss
时间: 2005-1-10 12:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
大家看看我的gvim中文问题,唉.
http://bbs.chinaunix.net/forum/viewtopic.php?t=434932&show_type=&start=0&postdays=0&postorder=asc&highlight=assiss
现在唯一的遗憾就是VIM无法正常处理中文了,不好用来编写HTML。
作者: netcalf
时间: 2005-1-10 14:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"][/quote 发表:
那么能不能读入(解析)一个html文件呢?就是去掉html的的标记,象浏览器一样读入html??
作者: flw
时间: 2005-1-10 15:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim 是个文本编辑器,不是 html 浏览器。
去掉标记很简单:
:%s/<[^>;]*>;//g
就可以了。
作者: hahubitbear
时间: 2005-1-11 10:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
这个理解基本正确,只是 | 并不是管道操作符,而是命令分割符。
split {+cmd} 这种用法表示打开一个新窗口,并且在新窗口中执行 {cmd} 这个命令,也就是说 split enew 就是打开一个新窗口,并且在其中执行 enew 这..........
发现用
:new|r !<cmd>;也可以,有什么区别吗?
作者: assiss
时间: 2005-1-12 00:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
好像FREEBSD下的VIM有问题。我现在在用NETBSD+FVWM+VIM,和FREEBSD下的完全一样,VIM的中文显示却不一样。
或者这可能是FREEBSD的问题吧。
作者: lisp
时间: 2005-1-13 09:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我想请问flw,我现在想把我的vim升级到最新版本,我该怎么做呀,在linux下面我不知道怎么uninstall我现在这个版本的,汗。。。
作者: albcamus
时间: 2005-1-13 14:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
如果是rpm安装的,就rpm -e vim;如果是源码编译的,就到源码目录下,make uninstall;make clean;make distclean;然后删除源码包就可以了。
似乎可以吧,反正我都是这么干的
作者: 独行侠1
时间: 2005-1-13 18:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
很好很好!很早就盼望有对VI/VIM感兴趣的高手了。
既然来了,就不客气了,先问一个很久没想出好方法的问题了:
写C的时候,如果要把一段注释掉,有什么方法?
我先Ctrl+V选择上,然后
vmap <F2>; zfO/*<ESC>;jo*/<ESC>;zn
这样好麻烦,有没有一个更简单有效的方法呢?最好不要用折叠。
作者: smartleo
时间: 2005-1-13 22:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
这个也可以。很方便。
打开:
:e ftp://192.168.10.76/abc.txt
保存(如果不存在则创建):
:w ftp://192.168.10.76/abc.txt
读取:
:r ftp://192.168.10.76/abc.txt
以上操作第一次打开时需要输入用户名和� ..........
当我用vim准备打开ftp文件时,总提示“E484 can't open file“,不知道为什么。还需要设置.vimrc吗,请指教。
谢谢![/img]
作者: duyunjian
时间: 2005-1-19 10:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
路过,向flw老大问个好!
作者: 独行侠1
时间: 2005-1-19 10:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "lisp"]我想请问flw,我现在想把我的vim升级到最新版本,我该怎么做呀,在linux下面我不知道怎么uninstall我现在这个版本的,汗。。。[/quote 发表:
我也来试着回答一下:
先确定你用的是哪个发行版? RedHat、Mandrake会用RPM包,你上网上下载了最新的安装包安装上去的话就行了。而Slackware一般用tgz包(RPM包也可以用),下载tgz包是最省事的了,可以升级安装:upgradepkg vim*.tgz。
如果是下载的源码,那就要编译了,你可以让两个版本共存,或者先删掉先前版本:rpm -e vim???或uninstallpkg vim???,然后编译源码:
./configure
make
make install
以后要再升级的话,可以先:make uninstall(在你做make install的那个目录里),然后再装就可以了。
作者: lisp
时间: 2005-1-21 12:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢大家的回答^-^
现在我是通过telnet到linux服务器上去的,用vi打开文件后,所有字符的颜色都是一样的(白底黑字),感觉很郁闷呀。。。
怎么才能让字符有颜色呢?
作者: aero
时间: 2005-1-21 12:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "lisp" 发表:
谢谢大家的回答^-^
现在我是通过telnet到linux服务器上去的,用vi打开文件后,所有字符的颜色都是一样的(白底黑字),感觉很郁闷呀。。。
怎么才能让字符有颜色呢?
其实是有颜色的,你的发到终端就没颜色了。你可以设置一下你的telnet工具让它显示颜色,也可以将终端类型设置正确,这样就可以看到颜色了。
作者: benlan
时间: 2005-1-21 12:36
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
终端类型设置正确后,还没颜色,试试
:syntax on
看看vim手册里的颜色设置
作者: ificanfly
时间: 2005-1-21 13:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "benlan" 发表:
终端类型设置正确后,还没颜色,试试
:syntax on
看看vim手册里的颜色设置
不会吧,要设置两处的终端类型。一处是主机上~./bashrc中的TERM,另一处是telnet客户端的TERM都设置好(可能不同的客户端软件还需要其他设置,例如netterm就需要设定颜色)。当然你的终端机器要支持彩色

还要在vim中打开语法着色
作者: lisp
时间: 2005-1-21 15:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我用的是secureCRT,现在有颜色了
但是syntax on之后,int 等关键字下面只有一道横线,没有显示为其它颜色;而注释部分、字符串部分和if、return 等关键字显示为同一种颜色(我设置为红色)
想问问大家还有其他的办法改善效果吗?多谢拉。。。
ps:我不太习惯用NetTerm
作者: aero
时间: 2005-1-21 15:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "lisp" 发表:
我用的是secureCRT,现在有颜色了
但是syntax on之后,int 等关键字下面只有一道横线,没有显示为其它颜色;而注释部分、字符串部分和if、return 等关键字显示为同一种颜色(我设置为红色)
想问问大家还有其他的办..........
可以在session菜单里修改apearcance部分的显示。也可以设置正确的终端类型。好像选上ANSI color就好了。呵呵, 我喜欢自己设置的,就是第一种方法。
作者: lisp
时间: 2005-1-21 16:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
多谢aero帮忙
俺都试过了,好像没有改善,还是只有两种颜色加下划线,你的是这样的吗?
作者: aero
时间: 2005-1-21 16:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "lisp" 发表:
多谢aero帮忙
俺都试过了,好像没有改善,还是只有两种颜色加下划线,你的是这样的吗?
呵呵,是啊,自己设就是这样。如果设置了正确的终端类型就好了。不过偶嫌那样太暗了。
作者: benlan
时间: 2005-1-21 16:17
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
太暗可以试试
:set background=dark
或
:set backgruond=light
只有两种颜色加下划线,可能是终端的颜色还没设好,看看ificanfly 说的 的终端设置。
再查查vim手册
作者: lisp
时间: 2005-1-21 16:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
呵呵,偶找到了
在options ->; Session Options 对话框中编辑当前颜色,注意在Color Scheme对话框中选中Advanced复选框,就可以有多种颜色了
大家试试吧,注意我说的是secureCRT中哈
基本上都搞定了,但是现在我每次进vim都要syntax on,设定的颜色才生效,好麻烦呀,可不可以一劳永逸呢?
大家在教教我哈,多谢多谢
作者: assiss
时间: 2005-1-21 16:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "lisp" 发表:
呵呵,偶找到了
在options ->; Session Options 对话框中编辑当前颜色,注意在Color Scheme对话框中选中Advanced复选框,就可以有多种颜色了
大家试试吧,注意我说的是secureCRT中哈
基本上都搞定了,但是现在?.........
手册啊手册。
编辑
~/.vimrc
加入你的命令
作者: lisp
时间: 2005-1-21 17:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "assiss" 发表:
手册啊手册。
编辑
~/.vimrc
加入你的命令
好了,多谢assiss
偶呀开始看手册了,不好意思再麻烦大家了

作者: assiss
时间: 2005-1-21 22:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
刚才用google搜索vim backspace,哈哈,找到的第一个网页,里面的人也叫问问题的先google.太好笑了。
顺便提供google的结果:
set backspace=0/1/2,可以改变backspace键在vim里的行为。
具体请:h 'backspace'注意前后有单引号。
作者: hahubitbear
时间: 2005-1-26 10:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "独行侠1" 发表:
很好很好!很早就盼望有对VI/VIM感兴趣的高手了。
既然来了,就不客气了,先问一个很久没想出好方法的问题了:
写C的时候,如果要把一段注释掉,有什么方法?
我先Ctrl+V选择上,然后
vmap <F2>; zfO/*&..........
我用这个办法,按下\pc
function Comment() range
call append((a:firstline-1),"/\*"

call append(a:lastline+1,"\*/"

endfunction
map <unique>; <Leader>;pc :call Comment()<CR>;
作者: flw
时间: 2005-1-26 13:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "hahubitbear" 发表:
我用这个办法,按下\pc
function Comment() range
call append((a:firstline-1),"/\*"

call append(a:lastline+1,"\*/"

endfunction
map <unique>; <Leader>;pc ..........
先 :vmap <F2>; :s/^/\/\//<CR>;
然后选中一段内容,按 F2。
作者: 独行侠1
时间: 2005-1-27 18:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
先 :vmap <F2>; :s/^/\/\//<CR>;
然后选中一段内容,按 F2。
不对啊!选上的内容被清掉了!!
/* */

作者: jourmen
时间: 2005-1-31 15:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
share 一个vi的tips:)
缩写
:ab cu chinaunix
以后就可以自己写cu(空格 or 回车 or tab后)vi自动把cu替换成chinaunix
作者: czyf2001
时间: 2005-2-2 17:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
(unix)安装玩vim后,使用gvim出现如下情况:
Warning: Missing charsets in String to FontSet conversion
Vim: Caught deadly signal SEGV
Vim: Finished.
Memory fault(coredump)
该core也无法调试!
我如何将其全部删除干净啊??默认是/usr/local/bin目录下,我将其有关vim的都删除了,重新安装还是不行!
而其他几台工作站却可以!
请大虾解答??
make test 了,有49个failed !
作者: xxbview
时间: 2005-2-3 13:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我在编辑模式中按方向键移动,当按到边界时,就会发出哗的一声,推出到命令模式,郁闷阿??
作者: flw
时间: 2005-2-3 23:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
应该是“哔”的一声吧?
“哗”声没有听到过。
你现在想要怎么样呢?
作者: xxbview
时间: 2005-2-3 23:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
比如在编辑模式中,按forward键,光标一直向前移,移到一行最后继续按forward键,光标不会移动到下一行的开头,而是会发出一声,就像是按了几次Esc时那样的声音,然后退出到命令模式,要再按个"i"才能继续进入编辑模式。上下左右四个方向都是这样。
所以很郁闷,经常按过了头,就退出到命令模式,要再按个"i"。
作者: china_forrest
时间: 2005-2-17 08:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在vi中,如果我不小心按错了键,跑到文件头或者文件尾了,怎么能快速回到刚才光标所在的位置?
作者: flw
时间: 2005-2-17 11:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vi 中不知道。
vim 中可以用 Ctrl+o(欧) 回来。
作者: china_forrest
时间: 2005-2-18 05:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
自己回答一下自己的问题,vi中用``就可以回到刚才的位置。
作者: china_forrest
时间: 2005-2-18 05:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
再问一个问题,我原来都是用emacs的,但是觉得emacs太大了,启动非常慢,现在改用vi,用emacs的时候,如果我键入if,再回车,下一行就自动缩进,直到输入endif再和if对齐,vi中不知道怎么实现这个功能,还有vi可以根据后缀自动识别文件类型吗?
作者: 老蒋
时间: 2005-2-21 22:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我想从其它地方(比如说网页)COPY到正在用VIM编辑的文件中,要用什么命令啊?
无论我怎样复制,用DI命令查不到相应寄存器中有相应 的内容
作者: aero
时间: 2005-2-22 09:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "china_forrest"]再问一个问题,我原来都是用emacs的,但是觉得emacs太大了,启动非常慢,现在改用vi,用emacs的时候,如果我键入if,再回车,下一行就自动缩进,直到输入endif再和if对齐,vi中不知道怎么实现这个功能,还有vi可以根据..........[/quote 发表:
可以使用:set ai的命令来启动自动缩进。用:syntax on命令来启动语法着色。一般都是写在.exrc中每次自动执行的。
作者: a_beginner
时间: 2005-2-22 11:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
vi 中不知道。
vim 中可以用 Ctrl+o(欧) 回来。
ctrl + o 是什么意思啊?
作者: a_beginner
时间: 2005-2-22 11:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
同时打开了多个文件,怎么close其中的一个呢?
作者: flw
时间: 2005-2-22 12:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "a_beginner"]同时打开了多个文件,怎么close其中的一个呢?[/quote 发表:
:q
作者: a_beginner
时间: 2005-2-22 13:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
:q
:q的话就全退出了
作者: Aprils
时间: 2005-2-22 16:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
如题!
作者: aero
时间: 2005-2-22 16:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "Aprils"]如题![/quote 发表:
为啥要这样使用呢?vim本来就使区分编辑模式和命令模式的。
作者: flw
时间: 2005-2-22 16:39
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "Aprils"]用什么快捷键可以在"插入模式"下删除光标到行尾的字符[/quote 发表:^od$
^o 表示同时按住 Ctrl 和 O 键。
作者: china_forrest
时间: 2005-2-23 00:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aero" 发表:
可以使用:set ai的命令来启动自动缩进。用:syntax on命令来启动语法着色。一般都是写在.exrc中每次自动执行的。
set ai好像只是能让vi中每一行对齐,并不能实现我说的自动缩进,syntax on也不支持,我用的是vi在solaris 5.8平台.
作者: flw
时间: 2005-2-23 01:45
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
自动缩进有两个选项:
set autoindent
set cindent
作者: aero
时间: 2005-2-23 09:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
flw讲一下这两个的区别吧。我的用set ai就好用了。
作者: flw
时间: 2005-2-23 11:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "aero"]flw讲一下这两个的区别吧。我的用set ai就好用了。[/quote 发表:
autoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是上面这位网友说的“自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。
cindent 就不同了,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。
你之所以只用 set ai 就好了的原因,大抵是因为你的 cindent 已经在别的地方设置好了。你用 set all 就可以检查一下。
作者: aero
时间: 2005-2-23 11:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
set all命令是列举所有可能的选项还是列举已经执行了的所有命令啊?
作者: abentu
时间: 2005-2-23 13:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我也来问个问题。如何比较快速简单地用一段文字替换文章中的多处不同文字?
例如我在文章中发了十句不同的牢骚,现在要用“为人民服务”来代替所有的这十句不同的牢骚,应该怎么做?
我以前是用寄存器,不是太方便,有什么快捷键吗?
作者: flw
时间: 2005-2-23 13:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
:%s/TNND/为人民服务/g
作者: physaris
时间: 2005-2-25 09:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "a_beginner"]同时打开了多个文件,怎么close其中的一个呢?[/quote 发表:
ctrl w 移动到要关的窗口
:close
作者: a_beginner
时间: 2005-2-25 10:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "physaris" 发表:
ctrl w 移动到要关的窗口
:close
通过e命令打开的,都在同一个窗口内该怎么办呢?
作者: homesp
时间: 2005-2-27 22:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
先 :vmap <F2>; :s/^/\/\//<CR>;
然后选中一段内容,按 F2。
能解释一下吗?我用了但怎么不管用,是分别分别运行
:vmap <F2>;
:s/^/\/\//<CR>;
两个命令后再按F2吗?
作者: flw
时间: 2005-2-28 09:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw 已经说过了,她" 发表:
先 :vmap <F2>;
:s/^/\/\//<CR>;
然后选中一段内容,按 F2。
作者: homesp
时间: 2005-2-28 22:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"][/quote 发表:
运行第一个命令后,提示:“没有这个对应”
运行第二个命令后,提示:“E488:Trailing characters”
再运行F2后,没有反应
作者: flw
时间: 2005-3-1 09:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
:vmap <F2>; :s/^/\/\//<CR>;
是一个命令,要一次输入。
作者: yjh521
时间: 2005-3-2 08:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎么能让vim打开文件得时候自动判断是否有正在运行得vim,如果有那么在已经打开得vim中打开文件,如果没有自动注册为server。而不出现警告得消息
作者: flw
时间: 2005-3-2 18:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你说错了吧?
应该是先注册是 OLE server,然后就会具备你所说的那种功能。
注册完之后,你 new 一个 vim OLE server,然后系统就会自动判断看是否有激活的 vim OLE server,如果有就用现有的,不再激活第二个了。
作者: yjh521
时间: 2005-3-3 20:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote="flw"]你说错了吧?
应该是先注册是 OLE server,然后就会具备你所说的那种功能。
注册完之后,你 new 一个 vim OLE server,然后系统就会自动判断看是否有激活的 vim OLE server,如果有就用现有的,不再激活第二个了。[/quote]
我就是先注册成server才能实现这种功能。 我想问的怎么能自动判断,而不出现警告信息.
在vim里面help remote可以找到我的实现方法。
作者: flw
时间: 2005-3-3 21:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你现在碰到了什么“警告信息”?
BTW:以后请不要惜字如金,碰到错误信息就把错误信息贴出来,碰到警告信息就把警告信息贴出来。不要再让我们猜谜语了,这个猜谜语的游戏一点儿都不好玩。
作者: yjh521
时间: 2005-3-4 08:46
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
对不起.
错误信息: E247 没有注册为GVIM的服务器: send failed, trying to execute locally.
我想在source navigator 中将默认的编辑器设定为vim.
我最初设定的方法是.在source navigator 的external editor 一栏 改成
gvim --servername GVIM --remote
当没有正在运行的vim的进程的时候会出现以上的错误信息.
当然这个方法不好。 更好的方法是
gvim --remote-silent
--remote的的意思是在已经运行的远程vim进程打开文件。 如果没有远程vim进程则启动一个进程并发出警报。
-silent就是让vim在应该发出以上警告的时候闭嘴。
想一想我还真是太笨了, 竟然没试试remote。
作者: zyyzj
时间: 2005-3-4 19:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
" 2004-12-21 17:48:24
" 在编辑的时候,我经常需要暂时离开当前的位置作一些操作后再返回原处.虽然m和'命令
" 但是一个寄存器只能保存一项内容,如果我需要保存多项当前位置就必须要用多个寄存
" 器并记住其保存顺序,才能正确返回.我只想把自己的注意力放在要编辑的内容上,而不
" 是去费力地记住这些东西.我希望寄存器能像堆栈一样工作,安照后进先出的顺序处理
" 保存的多项位置.
" 我用一个字符串来模拟堆栈的行为,各项之间用符号#分开.入栈时,将内容追加到字符串
" 的右边;出栈时,取出从右边开始的第一个#开始的子串.
function! PushPosition()
let l:locate = line("."

. "." . col("."
if !exists("s:position_heap"

let s:position_heap = "#" . l:locate
else
let s:position_heap = s:position_heap . "#" . l:locate
endif
echo "push position:" . l:locate
endfunction
function! PopPosition()
if !exists("s:position_heap"

return
endif
let l:last_push = strridx(s:position_heap, "#"
if l:last_push == -1
return
else
let l:position = strpart(s:position_heap, l:last_push + 1)
let l:row = strpart(l:position, 0, stridx(l:position, "."

)
let l:column = strpart(l:position, stridx(l:position, "."

+ 1)
call cursor(l:row, l:column)
let s:position_heap = strpart(s:position_heap, 0, l:last_push)
endif
endfunction
---------------
这是我自己写的VIM两个函数,放在plugin目录下。
在查看程序代码时很有用。
我将这两个函数调用绑定在F9和CTRL+F9上,当遇到要记录位置时,就F9,F9,...,需要返回原点时就CTRL+F9,CTRL+F9,...
作者: yjh521
时间: 2005-3-9 09:00
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
快速插入注释:
原文来自一个老外vim 快速入门,里面有如下介绍
#ab #b /*
#ab #e */
将以上两个放入_vimrc文件,就可以实现快速插入注释。
不过还不够好, 毕竟需要敲两个键而且需要按shift键, 那么我的方法就是
#ab bbb /*
#ab eee */
更懒了吧
作者: prc
时间: 2005-3-10 11:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim和gdb一起来调程序吗?
作者: starxing
时间: 2005-3-10 16:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
用vi怎么copy一行,到另外的一个vi打开的文件中?
作者: prc
时间: 2005-3-10 17:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote="starxing"]用vi怎么copy一行,到另外的一个vi打开的文件中?[/quote]
Step 1 yy
Step 2 :vi file2
Step 3 p
作者: abentu
时间: 2005-3-15 16:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"][/quote 发表:
文章中发了十句
不同的牢骚,现在要用“为人民服务”来代替所有的这十句不同的牢骚,应该怎么做?
%s/xxx/wrmfw/g
flw,这样不行。
例如有TNXX, TMX, XXX, FUXX, etc. 都要换成“为人民服务”, 怎么比较快?
比如我选中“为人民服务”,然后y,然后找到TMX, p, 选中TMX,d,这时“为人民服务”就被从寄存器中冲掉了。
而Windows中就可以不停的选中,然后Ctrl-v
作者: flw
时间: 2005-3-16 09:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
:%s/TNXX\|TMX\|XXX\|FUXX/为人民服务
作者: abentu
时间: 2005-3-21 14:23
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
再问一个,
/*
* comment
*
*/
象这种风格的注释,如果需要回车就自动在下一行添加 空格 和 * 号,应该打开那个设置开关?
作者: 独行侠1
时间: 2005-3-21 14:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
问一个问题:
:map <F2>; jdd
用来删除下一行,能不能指定命令个数,就是象3dd可以除3行一样,使得按F2时能做j3dd这样的动作?应该怎么写map?
作者: yjh521
时间: 2005-3-23 11:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote="prc"]vim和gdb一起来调程序吗?[/quote]
vim和gdb调试程序好像很麻烦, 你可以去vim.org找一下,有一个script是干这个的, 不过好像需要netbean。
顺便提一个问题, windows下的命令行的debugger有什么好的方法集成到vim中控制呢?
emacs能做到很容易的控制么?
作者: hb_li_520
时间: 2005-3-23 15:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我的backspace与delete键交换了位置,按backspace是delete的功能,而backspace是delete的功能。

虽然能用但很不习惯。
不知道是为什么?
作者: benlan
时间: 2005-3-23 17:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
是不是ssh登录上去出现的?
是ssh的设置吧?
作者: hb_li_520
时间: 2005-3-23 18:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "benlan" 发表:
是不是ssh登录上去出现的?
是ssh的设置吧?
正确。我现在装了两个ssh,
一个是3.23版的。有一个5.4版的。
5.4版的会出来上面这种情况。
而3.23版的则不会出现上述这样的问题。
作者: benlan
时间: 2005-3-23 20:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
和vi没关系的,是ssh的属性设置选项里看看
作者: hb_li_520
时间: 2005-3-23 21:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "benlan"]和vi没关系的,是ssh的属性设置选项里看看[/quote 发表:
谢谢这位大哥提示,已解决。。。

作者: THEBEST
时间: 2005-3-24 12:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
2,替换用 s/abc/def/ 这样,就可以把 abc 换成 def。
s 是最基本的替换命令,象大多数文本操作命令一样,它也可以带一个表示操作范围的前缀。有空了我会给大家讲讲范围前缀的语法和常见的用法。
一个简便的方法是,先在 visual 模式下想办法选中你要操作的范围,然后再输入 s 命令就可以替换了。
比如你要操作一个段落,可以先用 { 或者 [[ 挪到段落的开始处,然后再用 v 进入 visual 模式,然后再用 } 或者 ]] 挪到段落的结尾处,然后再输入 s 命令就可以实现你的目的了。
好像不行啊,我一输入s就是插入嘛,而输入/s的话就是查找了.怎么用?
作者: THEBEST
时间: 2005-3-24 14:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
快速插入注释:
原文来自一个老外vim 快速入门,里面有如下介绍
#ab #b /*
#ab #e */
将以上两个放入_vimrc文件,就可以实现快速插入注释。
不过还不够好, 毕竟需要敲两个键而且需要按shift键, 那么我的方法就是
#ab bbb /*
#ab eee */
更懒了吧
看不懂呀,好像.vimrc里不认这个东西.
作者: gvim
时间: 2005-3-24 15:12
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "THEBEST" 发表:
好像不行啊,我一输入s就是插入嘛,而输入/s的话就是查找了.怎么用?
用view模式选中以后要打":"才成进入替换啊。
它下面就变成 :'<,'>;,你继续输入s就可以了
作者: linibird
时间: 2005-3-27 00:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我本机只有vim的非gui版本。我把另一个机子上的gvim可执行文件和vim61这个目录cp到/local下,然后用VIMRUNTIME指定vim61这个目录。但执行gvim的之后,还是到编译时缺省的目录(/usr/share/vim/vim61)去寻找syntax和help文件。怎么解决这个问题??很奇怪,我已经按照help里面对VIMRUNTIME的描述做了呀。
作者: redspider
时间: 2005-3-27 21:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我的 vim 中的 taglist script 已经安装好,但是只能改变函数列表窗口和主程序的高度,请问怎么样才能改变它们的宽度呐
作者: THEBEST
时间: 2005-3-28 12:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我在两个终端下打开两个文件,想从一个复制几行到另一个文件中.如何做?好像用y,p的方法不行.
作者: gvim
时间: 2005-3-28 14:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "THEBEST"]我在两个终端下打开两个文件,想从一个复制几行到另一个文件中.如何做?好像用y,p的方法不行.[/quote 发表:
应该是放在剪贴板里面吧,windows下面的vim应该是 "+ 寄存器。复制用"+y
,粘贴用"+gP。
*nix下面我没有试过。
可以参看:h E354
作者: marsson
时间: 2005-3-31 15:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请教: 和cscope一起用语法加亮消失了?
我用redhat9.0, vi是系统自带版本6.1.320,
装了一个cscope(版本15.5)配合使用,但在cscope里搜索出的C文件(cscope调用vi打开的)全部没有语法加亮.
单独使用vi时又是好的,所有语法加亮都有,看来半天手册也没解决.不知各位有碰到过或解决过类似问题没?
作者: shguan
时间: 2005-4-5 11:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我的环境是R30,REDHATEL4.0 ,VIM6.3
在VIM编辑器里,当我想删掉一个字符时,按backspace可它并不能删掉,而是出现一些字符,请问,需要做哪些设置,在PC上就没有这个问题!谢谢!
作者: kunson
时间: 2005-4-5 11:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
关于 C-] 的重定向:
vim 中的跳转是 C-]
telnet 的退出热键也是这个.
要telnet到异地,在那个机器上使用vim, 怎么把'C-]' map成 'C-['
试了 :map C-] xx 没成功.
帮一个!
作者: flw
时间: 2005-4-5 13:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
:map <Ctrl+V>;<Ctrl+[>; <Ctrl+V>;<Ctrl+]>;
尖括号括起来的部分表示一个组合键,不是让你原样输入的。
作者: flw
时间: 2005-4-5 13:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw"];Ctrl+V>;<Ctrl+ 发表:
>;
尖括号括起来的部分表示一个组合键,不是让你原样输入的。
windows 用户要把 Ctrl+v 换成 Ctrl+q
作者: sellie
时间: 2005-4-5 16:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
问个问题.
在vim里面我想把上下左右箭头键的作用重新定义成
上+Esc
下+Esc
左+Esc
右+Esc
该怎么做?
为了让她的行为跟vi一样.
试过vim的vi兼容模式,上下左右箭头的作用不一样.
作者: kukoo
时间: 2005-4-5 22:26
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "yjh521" 发表:
快速插入注释:
原文来自一个老外vim 快速入门,里面有如下介绍
#ab #b /*
#ab #e */
将以上两个放入_vimrc文件,就可以实现快速插入注释。
不过还不够好, 毕竟需要敲两个键而且需要按shift键, 那么我的方?.........
这是什么东东啊,晕!详解一下,THX!
作者: kukoo
时间: 2005-4-5 22:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
几个问题集中请教一下:
1、vmap <F2>; :s/^/\/\//<CR>;
这个很好,但输入F2之后最左边几列被选中了,不爽,有没有优化的方法。
2、map的时候怎么map 加了ctrl的,比如ctrl + F9
3、在Insert模式可不可以映射Ctrl+h,Ctrl+j,Ctrl+k,Ctrl+l为放些键,不想移动手到小键盘上
4、比如有如下表达式:if( ( aaa == bbb) || (ccc != ddd))
要求当光标在 aaa的时候显示效果if(
( aaa == bbb
) || (ccc != ddd)) 而当光标移开的时候恢复,也就是很次都高亮显示最近匹配的{} () 这在阅读代码的时候很有用。
作者: kukoo
时间: 2005-4-5 23:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
自问自答:
第三个解决了:
map! <C-h>; <C-o>;h
map! <C-j>; <C-o>;j
map! <C-k>; <C-o>;k
map! <C-l>; <C-o>;l
这样在编辑的时候就可以不敲Esc还是用hjkl移动光标了,也不用把手移动到小键盘上。
作者: 白痴乙_
时间: 2005-4-6 17:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
俺有个小问题,困惑很久,找不到答案。
:(也可能是找的还不够仔细。
怎么用VI来以十六进制显示和编辑?
作者: 盲炳
时间: 2005-4-6 18:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在WIN下使用GVIM,请问在修改了_vimrc后如何可以即时生效?我每次都要退出GVIM,感觉巨麻烦……
作者: kukoo
时间: 2005-4-7 09:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "白痴乙_" 发表:
俺有个小问题,困惑很久,找不到答案。
:(也可能是找的还不够仔细。
怎么用VI来以十六进制显示和编辑?
用外部工具xxd,在vi里面执行:
:%!xxd
切换回来用:
:%!xxd -r
作者: gvim
时间: 2005-4-7 22:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "kukoo"]2、map的时候怎么map 加了ctrl的,比如ctrl + F[/quote 发表:
在Unix下面使用:map <C-v>;<C-F12>; ...
win下面使用:map <C-q>;<C-F12>; ...
[quote]
原帖由 "kukoo"]4、比如有如下表达式:if( ( aaa == bbb) || (ccc != ddd)) [/quote 发表:
估计需要用到自动命令和一些脚本。去www.vim.org找找吧,应该有现成的脚本。
作者: gvim
时间: 2005-4-7 22:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "盲炳"]在WIN下使用GVIM,请问在修改了_vimrc后如何可以即时生效?我每次都要退出GVIM,感觉巨麻烦……[/quote 发表:
在我印象中handbook里面没有说不退出GVIM就使_vimrc生效的。
看看flw版主知不知道有没有办法。
作者: kukoo
时间: 2005-4-8 09:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
估计需要用到自动命令和一些脚本。去www.vim.org找找吧,应该有现成的脚本。
linux9的vim
:map <C-q>;<C-F9>; :echo "hello"<CR>;
:map <C-v>;<C-F9>; :echo "hello"<CR>;
然后按Ctrl+F9没反应!
作者: gvim
时间: 2005-4-8 10:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "kukoo" 发表:
linux9的vim
:map <C-q>;<C-F9>; :echo "hello"<CR>;
:map <C-v>;<C-F9>; :echo "hello"<CR>;
然后按Ctrl+F9没反应!
<CR>;是什么东西??你以为就是直接回车阿!?上面flw已经说了很多次了,不是直接回车。
作者: kukoo
时间: 2005-4-8 13:55
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
<CR>;是什么东西??你以为就是直接回车阿!?上面flw已经说了很多次了,不是直接回车。
<Return>; same as <CR>; *<Return>;*
<Enter>; same as <CR>; *<Enter>;*
这个不重要,重要的是Ctrl+F9还是不行。
我先前提到的问题都解决了,就是这个比较疑惑,估计我是在telnet里面的缘故吧。下面是help里找到的:
<F1>; - <F12>; function keys 1 to 12 *function_key* *function-key*
<S-F1>; - <S-F12>; shift-function keys 1 to 12 *<S-F1>;*
........
<S-...>; shift-key *shift* *<S-*
<C-...>; control-key *control* *ctrl* *<C-*
<M-...>; alt-key or meta-key *meta* *alt* *<M-*
<A-...>; same as <M-...>; *<A-*
<D-...>; command-key (Macintosh only) *<D-*
附一张我现在的vi截图,^_^,不比sourceinsight差,越来越喜欢vi了!
图上可以看出的功能有:光标下的函数自动预览(最下面的窗口);最近匹配括号高亮;文件变量、结构、函数列表(最左边)。当然还有函数自动完成,代码模板插入等等功能在图上看不出来。
[/img]

图片附件:
vi.jpg (2005-4-8 13:54, 46.95 K) / 该附件被下载次数 1
http://bbs.chinaunix.net/attachment.php?aid=93250
作者: 盲炳
时间: 2005-4-8 20:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
在我印象中handbook里面没有说不退出GVIM就使_vimrc生效的。
看看flw版主知不知道有没有办法。
http://vimdoc.sourceforge.net/htmldoc/usr_05.html
在上面的manual 5.1上有一段话:
set incsearch
For this new line to take effect you need to exit Vim and start it again.
Later you will learn how to do this without exiting Vim.
意思应该就是说可以在不退出VIM的情况下就使_VIMRC马上生效。但LATER我却找不到这个办法……
谁能解答?
谢谢……
作者: 盲炳
时间: 2005-4-8 20:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "kukoo"][/quote 发表:
顺便问问kukoo,你的问题一是怎么解决的?
作者: www.cnbie.com
时间: 2005-4-9 16:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我由于要经常配置一个软件的配置文件,很多情况下配置文件对空格 不可见字符要求严格,所以我用:set list来查看所有不可见字符,可是我不知道怎么重置它,就是查看完了后怎么取消掉那些结尾的$号?


作者: 盲炳
时间: 2005-4-10 01:07
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "www.cnbie.com"][/quote 发表:
:se nolist
即可解决,在VIM里面好像所有的“bool选项”都可以通过在前面加上no来取消,如 :se wrap (nowrap)等
另:印象中FLW版主好像在前面的回贴中已经回答过这样的问题了,建议通览本贴……嘿嘿
作者: kukoo
时间: 2005-4-10 13:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "盲炳" 发表:
顺便问问kukoo,你的问题一是怎么解决的?
我用比较迂回的方式处理的,不是很好,但能用:
:map <F3>; :s/^/\/\//<CR>;:s/xxxxxxxxxxxxxxxxx//e<CR>;:file<CR>;
不过现在我已经不用这个了,NERD Commenter 比较好,在http://www.vim.org上面找到的
作者: weismart
时间: 2005-4-11 23:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim 执行完s/reg/rep/g后
文本中所有的reg都变成有红色块状东西框上了,而且每次打开文件都是这样的,syntax off也没有用
只能 用s/,查找一个什么东西把它换成“,”被红掉,怎办。另外
在vim中处理中文,一个字被拆为两半,每次移动光标时光标移过的中文部分全都每个字带黑框,这个又怎办呢?
很想学好linux/unix下的开发,但总是觉得有点难。
确实不如windows下的开发简单。
学习中,先把vim混好了再说吧。
作者: gvim
时间: 2005-4-11 23:45
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
用 :set nohlsearch 和 :set hlsearch
作者: dft2000
时间: 2005-4-12 09:12
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
dddd
作者: weismart
时间: 2005-4-12 10:46
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "gvim"]用 :set nohlsearch 和 :set hlsearch[/quote 发表:
vim中编辑中文的时候,如果按jkl等光标移动键移过中文部分
移的过程及移完后,被光标移过的汉字变成有黑框盖着了。
样子就像不用set nohlsearch时,s/reg/rep时的情形。有时整个字被黑框盖着,有时只被盖住一半。如果按ctrl+l清屏,一切又都正常了。
请高手帮忙解决。先谢。
我连菜鸟都不是,只是个鸟蛋,但不管做什么我都做彻底,就象现在学vi。不要笑我。
作者: weismart
时间: 2005-4-12 14:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
老大,你好!先敬个礼!真诚的礼!
能否把vim的各set 选项的说明写篇文档。
我们可以看英文说明,但对一个菜鸟来说,有些概念我们还是搞不懂的,就算我们已经把英文文档看懂!我看完这个贴子的所有文章,看得出大多都是与set 的各选项有关。
当然喽,这任务的工作量是很大的。不过为了祖国的前途。请老大奉献奉献。
作者: xw009
时间: 2005-4-13 10:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问斑竹,怎样用vi来实现函数跟踪?
作者: albcamus
时间: 2005-4-13 11:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "xw009"]请问斑竹,怎样用vi来实现函数跟踪?[/quote 发表:
man ctags
作者: kunson
时间: 2005-4-13 16:23
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "weismart" 发表:
老大,你好!先敬个礼!真诚的礼!
能否把vim的各set 选项的说明写篇文档。
我们可以看英文说明,但对一个菜鸟来说,有些概念我们还是搞不懂的,就算我们已经把英文文档看懂!我看完这个贴子的所有文章,看得..........
在http://sourceforge.net/index.php 中查找vimdoc,下载vim的中文help文件,装到自己的/usr/share/vim下的相关目录中, 然后在vim中查看这个动东, 一边看一边练, 包您内力大增!
一定要在vim里面试.
受此启发,我在找emacs的中文info,准备再high一把. ^_^
作者: albcamus
时间: 2005-4-13 16:39
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "kunson" 发表:
在http://sourceforge.net/index.php 中查找vimdoc,下载vim的中文help文件,
help文件应该装vim时就装了吧?sourceforge还有vimcdoc,中文的,装上极其好用

作者: kunson
时间: 2005-4-13 16:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "albcamus" 发表:
help文件应该装vim时就装了吧?sourceforge还有vimcdoc,中文的,装上极其好用

恩, vim自代help, 不过是e文的. 换成中文, 就真相大白了.
说白了,还是咱的e文不够牛,呵呵
作者: kunson
时间: 2005-4-13 20:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim中文help下载:
http://sourceforge.net/projects/vimcdoc/
中文文档是unicode编码
作者: weismart
时间: 2005-4-13 22:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "kunson" 发表:
恩, vim自代help, 不过是e文的. 换成中文, 就真相大白了.
说白了,还是咱的e文不够牛,呵呵
我自认为英语还算马马虎虎,呵。。。。。至少把级过得差不多了。
但是对于一个刚结识vim的人来说,英语说明文档很难把一个中国人整明白,教清楚。另外,英文文档中,很少把处理中文过程中出现的一些怪现象说透。所以,一个高手的贴子对一个新手极其重要。
作者: benlan
时间: 2005-4-14 09:46
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
贴个vimrc供参考
set tabstop=2
set number
set autoindent
set tabstop=4
set tabstop=4
set shiftwidth=4
set incsearch
set encoding=gb2312
set fileencodings=ucs-bom,utf-8,gb2312,big5,latin1
set fileencoding=gb2312
set termencoding=gb2312
set background=dark
作者: 盲炳
时间: 2005-4-15 00:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "weismart" 发表:
我自认为英语还算马马虎虎,呵。。。。。至少把级过得差不多了。
但是对于一个刚结识vim的人来说,英语说明文档很难把一个中国人整明白,教清楚。另外,英文文档中,很少把处理中文过程中出现的一些怪现象说透..........
网上有很多VIM帮助的文档的啊,我手上有一个ZhaoRuFei翻译的VIM MANUAL PDF版,我觉得翻译得很好,看起来很有意思,我就是看这个入的门,呵呵,现在都爱死VIM了……如果找不到可以留下EMAIL,我发给你……
另:http://vcd.gro.clinux.org/doc/usr_01.html#usr_01.txt
里有Nek_in翻译的另一个版本,感觉也不错
作者: 独行侠1
时间: 2005-4-15 15:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
kukoo:
你的map:
:map! <C-j>; <C-o>;j
不行啊,hkl都没有问题,C+j却是换行!怎么解决呢?
作者: kukoo
时间: 2005-4-15 18:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "独行侠1" 发表:
kukoo:
你的map:
:map! <C-j>; <C-o>;j
不行啊,hkl都没有问题,C+j却是换行!怎么解决呢?
不会吧,我在linux下和windows下都可以的,是到下一行不是换行
作者: THEBEST
时间: 2005-4-17 20:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
为什么我在vi中替换命令不行?也根本没有V/v模式呀.怎么替换的你们?
作者: gvim
时间: 2005-4-17 21:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你用的FreeBSD吧,它的是nvi是不支持V/v模式的。
在sysinstall里面装个vim6.3,然后在/usr/local/share/vim/vim63里面把vim..(文件名记不清楚了)cp 到 ~/.vimrc
作者: albcamus
时间: 2005-4-18 09:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "THEBEST"]为什么我在vi中替换命令不行?也根本没有V/v模式呀.怎么替换的你们?[/quote 发表:
不可能吧?你用的是vi还是vim?我的vim中:
[quote]:%s/old-string/new-string/g
作者: THEBEST
时间: 2005-4-18 13:12
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim中我也可以用啊.但在VI中就是不行.sco openserver 5.0.7
不知它的VI是什么版本的.反正没有V/v模式我就不知道怎么替换了.
作者: gvim
时间: 2005-4-18 15:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "THEBEST" 发表:
vim中我也可以用啊.但在VI中就是不行.sco openserver 5.0.7
不知它的VI是什么版本的.反正没有V/v模式我就不知道怎么替换了.
用:ver看版本
在一行上ma,然后移到另外一行,执行 :'a,.s/XX/XXX/g 或者:.,'as/XX/XXX/g (反向)。
作者: albcamus
时间: 2005-4-21 13:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
问一下,vim是否可以插入一个空行?
我排版代码时,想调整布局,一般用o或O,或yy一个空行再p上,感觉麻烦,能不能直接插入一个空行,并且不进入insert模式?
作者: flw
时间: 2005-4-21 14:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
o<ESC>;
可以把这两个键映射成一个快捷键。
map 就可以了。
作者: flw
时间: 2005-4-21 14:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
还有啊,如果你需要不停地插入很多空行时,可以先插入一个,
然后再把光标挪到新位置,摁一下小数点就可以了。
作者: duding1972
时间: 2005-4-21 21:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
已经syntax enable,syntax on
但编辑程序(例如 esql c 程序)时只高亮一部分关键字,没有彩色并.
vimrc是cp的例子.
版本vim6.3 sco unix5.05
版主让看精华贴,我没找到,能告诉我在哪里吗?
作者: flw
时间: 2005-4-21 22:17
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "duding1972" 发表:
已经syntax enable,syntax on
但编辑程序(例如 esql c 程序)时只高亮一部分关键字,没有彩色并.
vimrc是cp的例子.
版本vim6.3 sco unix5.05
版主让看精华贴,我没找到,能告诉我在哪里吗?
我只有一个原创精华嘛!
作者: duding1972
时间: 2005-4-21 22:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
找到了,试试,thanks
作者: duding1972
时间: 2005-4-21 22:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
还是没有彩色.只不过黑白反色了.我没用netterm,直接在sco unix主机上.
着急!
作者: THEBEST
时间: 2005-4-25 18:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请大家推荐一下常用的,很好用的,比较需要用的,一些VIM插件之类,谢谢.
作者: flw
时间: 2005-4-28 10:35
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "THEBEST"]请大家推荐一下常用的,很好用的,比较需要用的,一些VIM插件之类,谢谢.[/quote 发表:
不知道 TOhtml 插件你经常用吗?
可惜我们的 BBS 不能帖 html,不然的话,以后帖代码用它倒是挺好的。
作者: BigMonkey
时间: 2005-4-30 10:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在 FreeBSD 5.3下的vimrc的配置文件位于什么位置?
作者: flw
时间: 2005-4-30 10:46
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
help vimrc
help system-vimrc
作者: THEBEST
时间: 2005-4-30 12:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
不知道 TOhtml 插件你经常用吗?
可惜我们的 BBS 不能帖 html,不然的话,以后帖代码用它倒是挺好的。
基本上这个不用.好像有的还会分左右屏显示一些函数原型,类型定义,变量在左边呀什么的...上次看到一个帖在这里的截图,不知道是否插件搞的.反正我没用过.
作者: flw
时间: 2005-4-30 12:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "THEBEST"]旧险飧霾挥� .好像有的还会分左右屏显示一些函数原型,类型定义,变量在左边呀什么的...上次看到一个帖在这里的截图,不知道是否插件搞的.反正我没用过.[/quote 发表:
那个不是插件,都是 Vim 自身的功能。
倒是用 ctags 这个命令了。scope 也行。
作者: evil_knight
时间: 2005-4-30 23:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎么实现vim内,打一个括号如 "("自动补全另一个括号 "

" ?
作者: flw
时间: 2005-5-3 17:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "evil_knight"]怎么实现vim内,打一个括号如 "("自动补全另一个括号 "
" ?[/quote 发表::iab ( ()
作者: evil_knight
时间: 2005-5-3 20:51
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
3ks

作者: gvim
时间: 2005-5-7 20:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"]:iab ( ()[/quote 发表:
不怎么好使。
[quote]
原帖由 "BigMonkey"]在 FreeBSD 5.3下的vimrc的配置文件位于什么位置?[/quote 发表:
cp /usr/local/share/vim/vim63/vimrc_example.vim ~/.vimrc
作者: sunway_bupt
时间: 2005-5-11 12:35
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在X下直接点那个文件就用VIM打开了,但接着用MAKE提示找不到MAKEFILE,因为现在的工作目录并不是那个文件的目录,怎么办?难道每次都在命令行下进行那个目录,再用命令行打开?
作者: freepower
时间: 2005-5-12 22:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请教, 如何删除所有的偶数行?
作者: flw
时间: 2005-5-13 18:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "freepower"]请教, 如何删除所有的偶数行?[/quote 发表:
<ESC>;ggqajddq10000@a
假设你的文本有不到 20000 行,那么输入以上的命令就可以删除所有的偶数行。
作者: Odinman
时间: 2005-5-16 16:07
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
有个问题,我翻看了前面20多页也没找到答案。
vim在我的FreeBSD终端下显示不正常
用vim打开一个文件后,第一行显示“25l”,而实际上第一行应该是空的
想退出,敲命令:q!
接着屏幕下面出现一堆25h25l25h25l25h
还是可以退出来,用less看文件也没发生变化。
用FreeBSD自带的vi编辑没有上述问题。
用ssh远程登录后使用vim,也没有上述问题。
我怀疑是键盘类型或者是charset的问题,但是不知道怎么解决
困扰很久了,请楼主帮我解答一下。
多谢
作者: flw
时间: 2005-5-16 16:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "Odinman" 发表:
有个问题,我翻看了前面20多页也没找到答案。
vim在我的FreeBSD终端下显示不正常
用vim打开一个文件后,第一行显示“25l”,而实际上第一行应该是空的
想退出,敲命令:q!
接着屏幕下面出现一堆25h25l25h25l25h
� ..........
应该是你的 TERM 环境变量不对,你把它印出来我看一下。
env | grep TERM
我不知道你的 FreeBSD 是哪个版本,我的 5.3 里边,是 con??? 记不清了。
作者: Odinman
时间: 2005-5-16 16:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
厉害,困扰这么久的问题一下子解决了
就是TERM的问题
主要是照搬网上某文档说的一个配置
alias vim "env TERM=xterm-color vim"
注释掉就没问题了,呵呵
我用的是FreeBSD 4.11-RELEASE,以后还请多多指教
再次感谢
作者: flw
时间: 2005-5-16 17:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
呵呵,vim 有关的问题,欢迎和我交流,随时欢迎。
作者: freepower
时间: 2005-5-16 21:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢flw的热心回答
再请教两个问题:
1:如何每隔两行插入一个空行 ?
2:一个文档如下
1
1......
2.......
.
.
2
1.....
2....
.
.
.
.
如何把格式变成
1-1....
1-2......
1-3....
.
.
.
2-1...
2-2...
2-3
.
.
.
作者: flw
时间: 2005-5-17 09:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1,隔两行插入一个空行:
ggqajo<ESC>;jq1000@a
2,……………………
gg:/^1$/+1,/^2$/-1 s/^/1-/<CR>;:/^2$/+1,/^3$/-1 s/^/2-/<CR>;
<CR>; 表示在那个地方需要回车一下。
作者: freepower
时间: 2005-5-17 09:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
如果文件格式:
1-01......
1-02.............
1-03..
2-01.....
2-02....
.
.
.
在vim中如何实现:
1-01......1-01
1-02.............1-02
1-03..1-03
2-01.....2-01
2-02....2-02
.
.
.
作者: flw
时间: 2005-5-17 11:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
:%s/\(\d\+-\d\+\)\(.*\)$/\1\2\1/
作者: freepower
时间: 2005-5-17 12:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢flw
作者: flw
时间: 2005-5-17 12:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "freepower"]谢谢flw[/quote 发表:
不客气。
下次有 vim 问题欢迎继续提问。
作者: jeffwang8001
时间: 2005-5-17 13:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我用vim打开一个文件,敲入字符后每个字符之间怎么都是以制表符间隔的???
作者: flw
时间: 2005-5-17 13:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "jeffwang8001"]我用vim打开一个文件,敲入字符后每个字符之间怎么都是以制表符间隔的???[/quote 发表:
哦?
这个现象倒是很奇怪,可否再说得更加明白些?
如果你确信你表达的没有问题,
那么,请检查你的 ~/.vimrc 文件、$VIM/vimrc 文件 是否被人修改过。
作者: jeffwang8001
时间: 2005-5-17 15:26
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
a b c d e f g h i j
~ k l m n o p q
我输入的如上面所示,
我不知道是否有人改过,如果是,怎么能改回来?
作者: flw
时间: 2005-5-17 16:39
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "jeffwang8001" 发表:
我输入的如上面所示,
我不知道是否有人改过,如果是,怎么能改回来?
真是这样吗?
不可思议!
作者: dpblue
时间: 2005-5-21 23:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
能把vim嵌入到eclipse里吗 ?
我刚从c转到java,但我太习惯用vi了,总觉得eclipse里的编辑器不够方便。
作者: flw
时间: 2005-5-22 08:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "dpblue" 发表:
能把vim嵌入到eclipse里吗 ?
我刚从c转到java,但我太习惯用vi了,总觉得eclipse里的编辑器不够方便。
上回 autrijus 跟我说,eclipse 有个叫 EPIC 的插件,可以实现。
因为我的机器太慢,eclipse 运行不起来,所以具体的情况我也不清楚。
作者: zleil
时间: 2005-5-23 11:00
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
楼主很强啊
作者: liuyishao
时间: 2005-5-29 22:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1.我是刚开始使用vi,(fc3自带的),主要实用来学习c语言。因为经常要在vi和shell之间切换,感觉太麻烦。我想请问能不能不离开vi环境进行编译,和运行。如果能要如何设置?
谢谢。
2.如何将编译出现的错误重定向到源文件中?
谢谢。
作者: liuyishao
时间: 2005-5-30 00:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
补充一下:我用make命令是提示:
make: *** No targets specified and no makefile found. Stop.
Hit ENTER or type command to continue
那么应该如何添加makefile文件呢?
谢谢
作者: flw
时间: 2005-5-30 09:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "liuyishao" 发表:
补充一下:我用make命令是提示:
make: *** No targets specified and no makefile found. Stop.
Hit ENTER or type command to continue
那么应该如何添加makefile文件呢?
谢谢
你的两个问题实际上是一个问题,而且看来你已经找到方法了,只不过遇到了障碍而已。
找找精华贴中写 Makefile 的章节,就知道该如何做了。
gook luck!
作者: liuyishao
时间: 2005-5-30 21:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
flw.刚看了。一头雾水。不知所云,能请你解释一下吗?
向你的效率致敬
作者: liuyishao
时间: 2005-5-31 00:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
感谢flw:问题已经解决,其实是可以直接用makefile的。只是我的方法有问题:
只要在makefile后跟上不带扩展名的文件名即可,如:
编译hollow.c,用这个命令就行了
make hollow
作者: mq110
时间: 2005-6-1 19:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请教flw
:set tabstop=4了
按tab缩进4了..可是再进 还是8啊..怎么办?
请教.
作者: flw
时间: 2005-6-2 09:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "mq110" 发表:
请教flw
:set tabstop=4了
按tab缩进4了..可是再进 还是8啊..怎么办?
请教.
Can't recognized “再进”,
Segmentation fault。
作者: tchhyc
时间: 2005-6-2 11:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
mq110
你可以在用户目录下建文本.exrc,在里面写上set ts=4就可,下次进入时按tab就只有4格了
作者: mq110
时间: 2005-6-2 13:17
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
表述的不好。.是退出再进入.
谢谢tchhyc
作者: lisp
时间: 2005-6-2 19:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问撤销命令是哪一个,我误删了东西,想把它恢复回来。找了半天都找不到这个命令,多谢了
作者: bleem1998
时间: 2005-6-2 20:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
try 'u'
作者: dpblue
时间: 2005-6-2 22:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎么在vi里面更方便的删除一段内容?
我现在都是看这一段的开始和结束行号,在用:line1,line2 d删掉,有没有更好的办法吗?比如利用ma,mb这样的标记?
作者: gvim
时间: 2005-6-2 23:07
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "dpblue" 发表:
怎么在vi里面更方便的删除一段内容?
我现在都是看这一段的开始和结束行号,在用:line1,line2 d删掉,有没有更好的办法吗?比如利用ma,mb这样的标记?
可以。
首先在你需要考贝头,mark为ma,然后下移或上移到考贝尾,在命令模式输入 d'a
或者在ex模式输入:.,'ad<CR>;
作者: redspider
时间: 2005-6-4 00:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎样让 vim 在打开不同文件的时候在开头写入不同的内容。
例如在打开一个后缀名为 cpp 的空文件的时候写入
#include <iostream>;
using namespace std;
在打开一个后缀名为 pl 的空文件的时候写入
#!/usr/bin/perl -w
use strict;
作者: seeLnd
时间: 2005-6-4 18:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "mq110" 发表:
表述的不好。.是退出再进入.
谢谢tchhyc
你需要将命令写入~/.vimrc, 再进就好了
作者: 何必有我
时间: 2005-6-5 21:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我也问一个
我有一个文件夹,里面有600多个文件,每个文件内容都有公司名,现在换公司名了,怎么换
如每个文件都有“www.unix.com”,现在想把它们都换成”www.chinaunix.net“,能批量做吗
非常感谢
作者: flw
时间: 2005-6-6 09:07
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
楼上的,vim 可以办到,不过……
唉,本着 Perl 精神,我建议你还是用 sed 做这件事。
作者: 何必有我
时间: 2005-6-6 10:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
楼上的,vim 可以办到,不过……
唉,本着 Perl 精神,我建议你还是用 sed 做这件事。
是WINGGER写的那个吗,我去看下
作者: xw009
时间: 2005-6-6 12:35
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
对工程进行编译连接后,用VI能实现跟踪吗?
可以的话,应该怎么做?
还有用ctags -R可以实现所有子文件夹下,所有的文件的函数或宏定义都能查找吗?我试了好象不行啊
作者: flw
时间: 2005-6-6 12:45
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "xw009" 发表:
对工程进行编译连接后,用VI能实现跟踪吗?
可以的话,应该怎么做?
还有用ctags -R可以实现所有子文件夹下,所有的文件的函数或宏定义都能查找吗?我试了好象不行啊
1,用 vim 来煮饭确实有相当大的难度。
2,-R
作者: kav
时间: 2005-6-7 15:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问vim有配制文件吗?有的话放在哪里
作者: flw
时间: 2005-6-7 16:35
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "kav"]请问vim有配制文件吗?有的话放在哪里[/quote 发表:
根据你的系统类型及配置情况的不同,vim 配置文件的路径也会不同,
所以具体请参照 :help vimrc
作者: kav
时间: 2005-6-8 11:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
根据你的系统类型及配置情况的不同,vim 配置文件的路径也会不同,
所以具体请参照 :help vimrc
搞定拉,谢谢

作者: redspider
时间: 2005-6-8 22:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "redspider" 发表:
怎样让 vim 在打开不同文件的时候在开头写入不同的内容。
例如在打开一个后缀名为 cpp 的空文件的时候写入
#include <iostream>;
using namespace std;
在打开一个后缀名为 pl 的空文件的时候写入
#!/usr/bin/perl -w
use strict;
flw 帮我看看这个问题啊 thank you
作者: homesp
时间: 2005-6-11 22:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
想问一下,如何实现一下删除多行,或是整个文件中的所有行?
作者: flw
时间: 2005-6-12 04:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
居然漏掉了一个问题,真是抱歉。现在马上解答。
autocmd BufNewFile *.cpp exec append(0,"#include <iostream>;") | exec append(1,"using namespace std;") | exec ':$'
autocmd BufNewFile *.pl exec append(0,"#!/usr/bin/perl -w") | exec append(1,"use strict;") | exec append(2,"use warnings;") | exec ':$'
作者: flw
时间: 2005-6-12 04:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "homesp"]想问一下,如何实现一下删除多行,或是整个文件中的所有行?[/quote 发表:
所有的命令都可以带范围,删除命令同样可以带范围。
所以,
:%d
和
ggdG
应该都可以完成你的任务。
作者: redspider
时间: 2005-6-13 20:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"][/quote 发表:
thank you 我试了一下,不知道怎么不行,不过感谢你给我提示,找到了一份 vim manual
ps: 现在是在windows上的gvim试的,到家再上 Linux 试一下。
作者: flw
时间: 2005-6-14 09:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
那两个命令是两行,不是四行,autocmd 开始是一个完整的行,
需要写到 vimrc 中去。
作者: CloseToFree
时间: 2005-6-14 16:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在VIM下如何实现C/C++语言中的“{”和“}”的对应匹配?
Example:
if(test)
{ <------从这个大括号“{”如何直接定位到最后一个与之配对的“}”
while(true)
{
;
}
}
作者: waterpub
时间: 2005-6-14 16:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1.怎样跳转到函数定义,我用了ctags -R,然后再gd,只是所有的函数调用和定义加亮?
2.类式系统库中的函数,如printf,可否用gd之类的函数跳转到其实现代码?
作者: flw
时间: 2005-6-14 17:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "CloseToFree" 发表:
在VIM下如何实现C/C++语言中的“{”和“}”的对应匹配?
Example:
if(test)
{ <------从这个大括号“{”如何直接定位到最后一个与之配对的“}”
while(true)
{
;
..........
%
作者: flw
时间: 2005-6-14 17:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "waterpub" 发表:
1.怎样跳转到函数定义,我用了ctags -R,然后再gd,只是所有的函数调用和定义加亮?
2.类式系统库中的函数,如printf,可否用gd之类的函数跳转到其实现代码?
1,<Ctrl+t>;
2,可以。前提是如果有源代码的话,并且正确地使用了 ctags。
作者: CloseToFree
时间: 2005-6-15 21:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
Thanks flw!
前面第16页上“kukoo”截图展示的VI的功能是如何实现的羡慕ing.
作者: flw
时间: 2005-6-15 21:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "CloseToFree" 发表:
Thanks flw!
前面第16页上“kukoo”截图展示的VI的功能是如何实现的羡慕ing.
http://vim.sourceforge.net/scripts/script.php?script_id=273
作者: homesp
时间: 2005-6-17 08:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"]该都可以完成你的任务。[/quote 发表:
谢谢flw
作者: prc
时间: 2005-6-20 11:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我启动VI之后在命令状态下输入
:cs add cscope.out
显示
E563: stat(cscope.out) error: 2
请问这可能是怎么原因呢??
作者: waterpub
时间: 2005-6-23 16:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
源代码比较混乱,有没有办法格式化呢?谢谢
作者: flw
时间: 2005-6-23 19:35
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "waterpub"]源代码比较混乱,有没有办法格式化呢?谢谢[/quote 发表:
gg=G
作者: albcamus
时间: 2005-6-24 14:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
老大偶请教个问题,谢谢!
写的C源文件中,每个函数我都用zfa{给折行了,然后mkview保存。可是此后如果有添加/删除某一行或几行的话,折行的格式都乱了。这个有没有办法让它自动识别语法块的范围,而不是 “a-b之间折起来”这样死板的形式?
作者: 天啸
时间: 2005-6-24 15:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我使用vi /etc/shadow清除掉root、非root密码后,出现问题。
single模式下,相关情况如下:
sh-2.05b#login回车
login:root回车
PAM-securetty[364]:/etc/securetty is either world writable or not a normal file login[364]:FAILED LOGIN 3 FROM(null) FOR root,Authontication.failure Login incorrect.
还有保存退出不能用"/""?"作为提示符,只能用":"。

作者: flw
时间: 2005-6-24 16:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "天啸"]还有保存退出不能用"/""?"作为提示符,只能用":"。
[/quote 发表:
嗯。
为什么不想用冒号?
冒号不够用吗?非得用 / ?
作者: flw
时间: 2005-6-24 17:12
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "albcamus" 发表:
老大偶请教个问题,谢谢!
写的C源文件中,每个函数我都用zfa{给折行了,然后mkview保存。可是此后如果有添加/删除某一行或几行的话,折行的格式都乱了。这个有没有办法让它自动识别语法块的范围,而不是 “a-b之间..........
你是聪明人,我就不多说了。
:help syn-fold
:set fdm=syntax
其实我更喜欢
:set fdm=marker
然后
/* {{{ */
/* }}} */
比较自由一些。
作者: albcamus
时间: 2005-6-26 14:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
你是聪明人,我就不多说了。
:help syn-fold
:set fdm=syntax
其实我更喜欢
:set fdm=marker
然后
/* {{{ */
/* }}} */
比较自由一些。
搞定!多谢

作者: Coolin
时间: 2005-6-28 22:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
求教 如何改变vim中[Tab]键的空格个数 默认是8个 个人习惯2个空格
如何设置 如果可以 做好能够保存这个设置 免得每次vi的时候都要改
谢谢 斑竹帮忙
作者: flw
时间: 2005-6-29 09:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "Coolin" 发表:
空格个数 默认是8个 个人习惯2个空格
如何设置 如果可以 做好能够保存这个设置 免得每次vi的时候都要改
谢谢 斑竹帮忙
linux:
echo set ts=2 >;>; ~/.vimrc
win32:
echo set ts=2 >;>; $VIM/_vimrc
把 $VIM 改成你的 vim 安装路径。
作者: waterpub
时间: 2005-6-29 10:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vi输入汉字出错,提示“不能写入-转换失败”
描述:
我在一段代码后面加入注释,是汉字,然后保存,提示不能保存,如下:
"***.c" 不能写入 -- 转换失败
请按 ENTER 或其它命令继续
vim版本是

redhat9)
VIM - Vi IMproved 6.1 (2002 Mar 24, compiled Feb 12 2003 07:42:12)
经常碰到这个问题,谢谢
作者: flw
时间: 2005-6-29 13:55
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
操作系统环境不对。
试着设置一下 LC_ALL LANGUAGE 等等。
作者: cryboy2001
时间: 2005-6-29 16:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在linux版問過(我是ROOT)路過看到有專門vi的地方
再問一次,重新開機好了
: vi 出問題了
編輯文件時不能保存:
:wq
"asdfasdf" E212: Can't open file for writing
Hit ENTER or type command to continue
:q!
E138: Can't write viminfo file /root/.viminfo!
Hit ENTER or type command to continue [ENTER]
[root@ksarrk root]#
-- INSERT -- W10: Warning: Changing a readonly file
E303: Unable to open swap file for "testshell", recovery impossible
Hit ENTER or type command to continue
這是什麼問題,有誰碰到過!?
作者: albcamus
时间: 2005-6-29 19:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
楼上朋友,那个文件你不具有写权限,vim也不能帮你逃过OS文件系统的监测。
你试着chmod 777 filename再看看
作者: cryboy2001
时间: 2005-6-30 08:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
重新開機好了
重新開機就好了,所以沒班法再試了,如是權限問題
不太可能重啟好了呀?
而且有一個是在/root/目錄下新加的文件!
作者: chinesewyx
时间: 2005-6-30 12:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1、请问我的vim在敲回车后自动向下了两行而不是一行,有什么办法变为一行呢
2、原来键盘的上下左右箭头可以移动光标,而现在却是 ABCD,请问这是怎么回事
多谢!
作者: albcamus
时间: 2005-6-30 18:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "cryboy2001" 发表:
重新開機好了
重新開機就好了,所以沒班法再試了,如是權限問題
不太可能重啟好了呀?
而且有一個是在/root/目錄下新加的文件!
除非你中了内核木马了。
作者: flw
时间: 2005-7-1 09:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "chinesewyx" 发表:
1、请问我的vim在敲回车后自动向下了两行而不是一行,有什么办法变为一行呢
2、原来键盘的上下左右箭头可以移动光标,而现在却是 ABCD,请问这是怎么回事
多谢!
终端设置不对。
作者: chinesewyx
时间: 2005-7-2 08:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
终端设置不对。
问题已解决,在终端中修改了几个参数
作者: mq110
时间: 2005-7-2 09:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
求教.终端参数在那里修改?
作者: chenyajun5
时间: 2005-7-4 11:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请教:使用:args可以查看你正在编辑哪个文件,但是我在C语言环境下,使用Ctrl-]跳转到函数定义地方以后,怎么知道我现在位于哪个文件呢?
作者: flw
时间: 2005-7-4 11:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "chenyajun5"]请教:使用:args可以查看你正在编辑哪个文件,但是我在C语言环境下,使用Ctrl-]跳转到函数定义地方以后,怎么知道我现在位于哪个文件呢?[/quote 发表:
Ctrl+g
作者: chenyajun5
时间: 2005-7-4 11:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
老大回复真快。。
作者: chinesewyx
时间: 2005-7-4 11:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "mq110"]求教.终端参数在那里修改?[/quote 发表:
呵呵话没说明白不好意思,是secureCRT设置的问题,Emulation->;modes
作者: prc
时间: 2005-7-6 10:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1. VIM 能不能定义书签,可以很快的定位到书签所在的行。
2. 当一行很长的时候会产生wrap。怎么在wrap之后的行上下移动?
比如
1111111111111111111111111111111111111111111111
2222222222222222222222222222222222222222222222
3333333333333333333333333333333333333333333333
能不能直接从11...那行向下移动到22... 33..那行?
作者: flw
时间: 2005-7-7 15:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "prc" 发表:
1. VIM 能不能定义书签,可以很快的定位到书签所在的行。
2. 当一行很长的时候会产生wrap。怎么在wrap之后的行上下移动?
比如
1111111111111111111111111111111111111111111111
2222222222222222222222222222..........
1, ma mb mc 就可以定义标签,用 'a 'b 'c 就可以很快到达标签所在的行。
a b c 分别是标签的名字,可用的标签名称有 26 个字母和 0-9 十个数字,还有一些特殊符号也可以用。
2,gj gk 分别可以向下、向上移动一个物理行,g0 g$ 分别可以到达物理行的行首、行尾,当 wrap on 时,一个逻辑行会自动折行成多个物理行。
作者: ynsmcn
时间: 2005-7-11 02:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
例如这样一个txt
1 23 45 67
1234 566 7 89
怎样才能匹配23 和 566 ?
这个问题折腾了我很久。。。
作者: flw
时间: 2005-7-11 08:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
/\<23\>;
/\<566\>;
其实你只要在搜索的时候带上空格就可以了。
作者: ynsmcn
时间: 2005-7-12 02:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "ynsmcn" 发表:
例如这样一个txt
1 23 45 67
1234 566 7 89
怎样才能匹配23 和 566 ?
这个问题折腾了我很久。。。
我没说清楚,我经常需要处理结构类似这样的数据文本,需要匹配其中某列(非定长),我想使用"%s/ .* /& &/"这个命令替换第二列,但是vim做了最大匹配,有没有什么好办法?
这个例子分成两步做是可以的,但是我希望能指定正则表达式最小匹配,或匹配第几次出现的空格(因为可能要匹配中间的列,需要替换空格很多次),不知道vim能不能做到?
作者: flw
时间: 2005-7-12 10:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "ynsmcn" 发表:
我没说清楚,我经常需要处理结构类似这样的数据文本,需要匹配其中某列(非定长),我想使用"%s/ .* /& &/"这个命令替换第二列,但是vim做了最大匹配,有没有什么好办法?
这个例子分成两步做是可以的,但是我希..........
你最好讲清楚你的文本格式,否则我将十分同情你而爱莫能助。
1,每行的列数都是固定的吗?
2,列的分隔符一定是空格吗?
3,每个字段都有哪些符号组成?汉字?数字?字母?标点符号?
初步考虑,用 {} 量词应该可以匹配,如果替换比较难做的话,可以考虑用宏。
作者: ynsmcn
时间: 2005-7-13 17:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
多谢斑竹关注!
我要处理的格式就是上面那样的,可以认为全部是数字,列数固定,分隔符一定是空格。要做的就是用某列前后两个空格将此列匹配出来。
实际上这个问题可以简化为怎么使用正则表达式的非贪婪模式,这几天我已经查到了元字符是{-},但是没试验成功。。。
作者: flw
时间: 2005-7-13 18:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "ynsmcn" 发表:
多谢斑竹关注!
我要处理的格式就是上面那样的,可以认为全部是数字,列数固定,分隔符一定是空格。要做的就是用某列前后两个空格将此列匹配出来。
实际上这个问题可以简化为怎么使用正则表达式的非贪婪模式,..........
非贪婪模式用 \{-\} 来实现。
注意 vim 中 {} 需要带斜杠。
作者: ynsmcn
时间: 2005-7-14 12:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢斑竹,问题解决了。我没弄懂vim的懒惰模式要转义。
我觉得vim的正则表达式元字符的用法有点怪,倒是微软的比较接近unix的习惯。
以前用Sco unix的vi用多了,现在学习vim很不习惯。呵呵。努力中。。。
作者: weismart
时间: 2005-7-15 08:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
windows下的Ggvim在打开文件进行编辑、保存完毕后,总是留下一个文件,文件名为刚才打开的文件名加上“~”,特讨厌,不知怎样去掉它。(如果不修改文件内容它不会产生,但只要修改一点点它就出来了)!求助急!!!!!!!
作者: flw
时间: 2005-7-15 09:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "weismart"]windows下的Ggvim在打开文件进行编辑、保存完毕后,总是留下一个文件,文件名为刚才打开的文件名加上“~”,特讨厌,不知怎样去掉它。(如果不修改文件内容它不会产生,但只要修改一点点它就出来了)!求助急!!!� ..........[/quote 发表:
在 Vim 中,打开并修改你的 $VIM/_vimrc 文件,在最后一行后面加入:
set nobackup
就可以了。
作者: homesp
时间: 2005-7-15 17:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
打开文件时显示乱码,我Linux系统默认编码是UTF-8,这个文件用gb2312编码打开时显示正常,我在vim中用
:set encoding=gb2312
修改但还是显示乱码,该如何更改才能正常显示?
作者: flw
时间: 2005-7-15 17:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
把你的 Putty 设置成 gb2312。
作者: homesp
时间: 2005-7-15 18:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"]把你的 Putty 设置成 gb2312。[/quote 发表:
是在.vimrc中设置吗?
set Putty=gb2312
是添加这样一句吗?
那要是在遇到utf-8编码的怎么办?还要改回来吗?
PS:
flw老大回复真快
作者: flw
时间: 2005-7-15 18:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
呵呵,我是猜测你用的终端软件是 putty,所以才这么说。
你是用什么终端软件登录 Linux 的呀?
再或者直接在控制台上操作?
一般来说,除了 vim 需要设置之外,终端也要支持 gb2312 才行。
作者: homesp
时间: 2005-7-15 18:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
呵呵,我是猜测你用的终端软件是 putty,所以才这么说。
你是用什么终端软件登录 Linux 的呀?
再或者直接在控制台上操作?
一般来说,除了 vim 需要设置之外,终端也要支持 gb2312 才行。
我终端用的是Bash
作者: flw
时间: 2005-7-15 18:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "homesp"]我终端用的是Bash[/quote 发表:
Bash 是 shell,不是终端。
回帖太慢,不和你玩啦!
作者: homesp
时间: 2005-7-15 18:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
Bash 是 shell,不是终端。
回帖太慢,不和你玩啦!
看来我水平还是有限,我再回去看看
记得个/dev/tty1
作者: homesp
时间: 2005-7-15 18:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎么查看终端类型?
老大指教
作者: homesp
时间: 2005-7-17 17:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我在Gnome的Console下,用cat命令可以显示文件内容,但是在vim却还是乱码,我想这应该不是终端的问题了吧
设置了编码
:set encoding=gb2312
后还是不行,在其它如gedit里设置成gb2312是可以的
作者: mq110
时间: 2005-7-17 17:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
感觉.. vi /etc/sysconfig/i18n 看看LANG是什么?SUPPORTED支持什么?
作者: gvim
时间: 2005-7-19 01:07
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
flw老大出来帮帮忙:
我有一个程序,一堆人写的,有的文件缩进是2,有的是4,还有的是8,靠,能不能有个法子将整个目录下面的.c .h文件全部弄成8 ?
谢过,在此谢过。
作者: mq110
时间: 2005-7-19 07:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
to gvim:
不知道 别人的程序在 你那里4个缩进应该是一个'\t'还是4个空格.
如果是空格的话 :%s/ /\t/g这样行吗?
作者: flw
时间: 2005-7-19 10:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "gvim" 发表:
flw老大出来帮帮忙:
我有一个程序,一堆人写的,有的文件缩进是2,有的是4,还有的是8,靠,能不能有个法子将整个目录下面的.c .h文件全部弄成8 ?
谢过,在此谢过。
这个几乎没有办法。
不过你可以试试这个:
gg=G
读作“哥哥等于大哥”
作者: albcamus
时间: 2005-7-19 12:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
可以用GNU indent程序来做:
indent -kr -i8 *.c *h
其中,‘i8’就是8个字符的缩进
作者: mq110
时间: 2005-7-19 12:36
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "albcamus" 发表:
可以用GNU indent程序来做:
indent -kr -i8 *.c *h
其中,‘i8’就是8个字符的缩进
HOHO 刚才man 了一下 这个命令真有用.
作者: gvim
时间: 2005-7-19 18:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
好的,谢谢上面的 哥哥和大哥 们。
今天开始上不了cu,得不到答案,老板又催的紧,把我急得。格式不统一,看的眼睛都疼了。
作者: del77
时间: 2005-7-20 07:51
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1.在vi中有没有直观的用于cvs的操作,就象emacs那样
2.在ex的命令方式下,怎么复制,
作者: del77
时间: 2005-7-20 11:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
3.当打开一个*.c后,怎样在另外一个窗口显示函数或者结构列表?
4.在用gg=G时,那个tab的大小默认是8,怎么样可以改变
作者: albcamus
时间: 2005-7-20 13:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
>;>;3.当打开一个*.c后,怎样在另外一个窗口显示函数或者结构列表?
试试Tlist吧,一个plugin,很不错

作者: del77
时间: 2005-7-20 16:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
非常感谢,原来plugin都在这里
http://www.vim.org/search.php
作者: 蓝白725
时间: 2005-7-21 10:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
问一个基本问题:
为什么在“Insert”模式下不能使用backspace键删除光标前面的字符,只能使用“delete”键删除当前光标下的字符?
作者: HeavenTear
时间: 2005-7-21 19:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎么自己定义syntax让vim 能够彩色显示,我是指针一些私有地文件类型有一些私有的tag和关键字.
能否给个例子,谢谢了....
作者: flw
时间: 2005-7-21 19:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "HeavenTear" 发表:
怎么自己定义syntax让vim 能够彩色显示,我是指针一些私有地文件类型有一些私有的tag和关键字.
能否给个例子,谢谢了....
例子很多,就在 $VIMRUNTIME/syntax
作者: weismart
时间: 2005-7-22 17:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
编程时总喜欢打开自动对齐功能,可是当要找begin 对应的是哪个end;(我用以编pl/sql),把光标对准begin的首字,然后按j/k上下移动,每每碰到一些不是以系列空格开头的行时,原来对准begin 之“B”的光标跳到了别的列,这样就弄不清,“B”在哪列了。当然可以看列数字显示,但总觉得这样显然不方便。
不知有没有解决的办法。等待中。。。。。。。。。。。。。。。
作者: cocaxl
时间: 2005-7-23 12:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎样实现:vim里对包括汉字的文档在指定的列数换行(插入换行)? textwidth对汉字没有效果, 对于英文字符也必须中间有空格才能生效.
在 ultraedit 里可以实现
作者: atg
时间: 2005-7-25 15:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我看见过有人用VI的时候左边可以一直显示行号!
是用什么命令的?
作者: mq110
时间: 2005-7-25 15:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
>;>;我看见过有人用VI的时候左边可以一直显示行号!
vi ~/.vimrc
里面添上 set number
作者: HeavenTear
时间: 2005-7-25 16:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我的系统没有设置$VIMRUNTIME,请问我怎么知道有效地.vim在什么路径下? 谢谢
作者: hphp
时间: 2005-7-28 10:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎样在HP11Ii环境下,vim彩色显示? 现在TERM=ansi, syntax on,但只有黑白高亮的语法显示
作者: Yarco
时间: 2005-7-28 11:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
怎样在当前位置插入当前时间?
作者: Yarco
时间: 2005-7-28 15:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
找是找知道了
:r !date
不过
:r !date +%F
不能用...怎么办?
作者: zhongshiz
时间: 2005-7-28 17:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谁有vim的配置文件
作者: homesp
时间: 2005-7-31 11:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
这是我在Debian/GNU Linux下的~/.vimrc文件,它可以实现编码的自动转换
" 自动补全命令时候使用菜单式匹配列表
set wildmenu
" 启用鼠标
set mouse=a
" 设置多编码文本
" multi-encoding setting
if has("multi_byte"

"set bomb
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
" CJK environment detection and corresponding setting
if v:lang =~ "^zh_CN"
" Use cp936 to support GBK, euc-cn == gb2312
set encoding=cp936
set termencoding=cp936
set fileencoding=cp936
elseif v:lang =~ "^zh_TW"
" cp950, big5 or euc-tw
" Are they equal to each other?
set encoding=big5
set termencoding=big5
set fileencoding=big5
elseif v:lang =~ "^ko"
" Copied from someone's dotfile, untested
set encoding=euc-kr
set termencoding=euc-kr
set fileencoding=euc-kr
elseif v:lang=~ "^ja_JP"
" Copied from someone's dotfile, untested
set encoding=euc-jp
set termencoding=euc-jp
set fileencoding=euc-jp
endif
" Detect UTF-8 locale, and replace CJK setting if needed
if v:lang=~ "utf8$"||v:lang=~ "UTF-8$""
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with muti_byte"
endif
作者: homesp
时间: 2005-7-31 11:12
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
想将从网页中粘贴的文字拷入当前文档中,但是在网页中文字是对齐的(比如说是一些C代码),但是拷到文档中后每一行都比前一行有一定的缩进,最后使文档呈阶梯状,有没有办法将它还原原来的格式
作者: mq110
时间: 2005-7-31 11:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我也遇到同样的问题了..
每次我都去改 ~/.vimrc 我也想知道有什么好办法.
作者: flw
时间: 2005-7-31 11:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
V 选中,然后 =
作者: weismart
时间: 2005-7-31 15:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在toad下编存储过程,我喜欢用vim作为外部editor,可是每次调用vim,打开后都是一般大小的窗口,极想让每次打开gvim窗口都最大化,如何设置。
也就是说,我的gvim在windows操作系统下,每次打开都是中等窗口。
如何让gvim每次打开都是最大化?
作者: abbr
时间: 2005-8-2 00:12
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim能不能用鼠标拷贝粘贴的?
我在windows下用,鼠标可以标志到文本,但右键不起作用要怎么改vimrc文件?
作者: 盲炳
时间: 2005-8-2 22:39
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在WIN下用记事本生成的UNICODE文件,用GVIM打开乱码,请问大家,如何设置才能正常显示?
作者: homesp
时间: 2005-8-2 22:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
是Linux系统吗?你可以尝试一个前面我贴出来的编码转换文件,或是看一下这里
http://www.linuxsir.org/bbs/showthread.php?t=179032&highlight=gvimrc
作者: 盲炳
时间: 2005-8-4 01:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
是WINDOWS系统,新建一文本文件,随便打上几个字母,另存为UNICODE文件,再用GVIM打开,乱码。
楼上给的脚本放到_VIMRC文件中,再打开这个文件还是乱码。
问题还没有解决,请大家继续帮忙。
谢谢……
作者: flw
时间: 2005-8-4 11:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "盲炳" 发表:
是WINDOWS系统,新建一文本文件,随便打上几个字母,另存为UNICODE文件,再用GVIM打开,乱码。
楼上给的脚本放到_VIMRC文件中,再打开这个文件还是乱码。
问题还没有解决,请大家继续帮忙。
谢谢……
set encoding=utf-8
set fileencoding=utf-8
作者: albcamus
时间: 2005-8-4 12:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
有个功能大家慎用啊!Vim编辑文件a,100dd删掉100行,保存退出;打开b,粘贴──只给你粘贴了十几行!可怜我这一周的不停的优化啊!
忙活了一上午,总算恢复了功能……
作者: flw
时间: 2005-8-4 13:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "albcamus" 发表:
有个功能大家慎用啊!Vim编辑文件a,100dd删掉100行,保存退出;打开b,粘贴──只给你粘贴了十几行!可怜我这一周的不停的优化啊!
忙活了一上午,总算恢复了功能……
呵呵,是你没掌握又不小心嘛。
我复制粘贴从来都不退出 vim 的。
:set viminfo
把那个 <50 改成 <50000 就可以保存最多 5 万行,不过它的后果就是 .viminfo 文件会变得很大。所以还是不要用这一招,就在 vim 里面复制粘贴就行了。
:help 'viminfo'
作者: 盲炳
时间: 2005-8-4 17:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "flw" 发表:
set encoding=utf-8
set fileencoding=utf-8
按flw老大所说的设置之后,还是不行,例如文件里只有“for”三个字母,设置了
“set encoding=utf-8
set fileencoding=utf-8”
之后,虽然看到for三个字母,但每个字母之间还有一个乱码。
另外,我按上面设置之后,所有的提示信息都变成乱码了。这是否正常?是否我那里操作不正确?
再次谢谢……
作者: 蓝白725
时间: 2005-8-4 17:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我有三个小问题想请教一下:
1、如何更新我已有的vim?
我下载了最新的vim63(针对unix的),也正常地make和make install了,可是在shell中输入vim,出来的还是我已有的老版本的vim,新版本的vim只有在vim63/src目录才可以用。怎么样才能将这个新的vim安装上去呢?
2、为什么我用vim打开一个文件后,进入insert模式,不能用backspace键删除光标前面的字符?只能用delete键删除正在光标上的字符。而我在windows下安装的vim就可以正常地使用backspace键。
3、如何让vim以不同的颜色来显示一些关键字,如何C语言中的“int”、“void”等等。
急盼答案,非常感谢!!!
作者: bowdom
时间: 2005-8-5 10:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
3. :set syntax=on
作者: 蓝白725
时间: 2005-8-5 14:26
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
按照楼上说的做了,没有任何变化。。。
作者: 盲炳
时间: 2005-8-5 21:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在你的_VIMRC文件中加上以下两行:
filetype plugin indent on
syntax on
应该就可以了吧
作者: cocaxl
时间: 2005-8-8 09:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim怎么设置对包括汉字的文档在指定的列数换行(插入换行)? textwidth对汉字没有效果, 对于英文字符也必须中间有空格才能生效.
在 ultraedit 里有这个功能
作者: nxnh
时间: 2005-8-8 09:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我下载的源代码里有一个函数调用,我想知道这个函数是在哪定义的,它可能是在/usr/include里也可能是在/home的哪个目录下,我能在vim找到吗?我用cscope -b 好象只能查找一个目录
作者: homesp
时间: 2005-8-8 19:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
有时候在从网上粘贴下来的源码中,开头都 是行号,即每行均以一个整数开头,有没有办法将这个整数去掉
作者: 蓝白725
时间: 2005-8-8 20:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢盲炳!那个问题已经解决了!
还有下面两个问题,那位高手帮帮忙啊~
1、如何更新我已有的vim?
我下载了最新的vim63(针对unix的),也正常地make和make install了,可是在shell中输入vim,出来的还是我已有的老版本的vim,新版本的vim只有在vim63/src目录才可以用。怎么样才能将这个新的vim安装上去呢?
2、为什么我用vim打开一个文件后,进入insert模式,不能用backspace键删除光标前面的字符?只能用delete键删除正在光标上的字符。而我在windows下安装的vim就可以正常地使用backspace键。
作者: homesp
时间: 2005-8-8 20:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
To 蓝白725
对于第一个问题:
你可以将/usr/bin/vim移到其它地方,然后在/usr/bin中建一下名为vim的符号链接,指向你所使用的文件 夹中的可执行性的文件
作者: 蓝白725
时间: 2005-8-9 09:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢homesp。
现在奇怪的是,我运行vi后,进入的老版本的vim(vim 6.2),而运行vim就进入了新版本的vim(vim 6.3),这是为什么啊?
可以把以前老版本的vim卸载掉只用新版本的吗?
作者: albcamus
时间: 2005-8-9 11:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "蓝白725" 发表:
谢谢homesp。
现在奇怪的是,我运行vi后,进入的老版本的vim(vim 6.2),而运行vim就进入了新版本的vim(vim 6.3),这是为什么啊?
可以把以前老版本的vim卸载掉只用新版本的吗?
我都是删掉自带的vim和vi,安装最新Vim,然后在~/.bashrc加上一句:
alias vi='vim'
作者: albcamus
时间: 2005-8-9 11:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
老大,偶再问一个,呵呵。
gcc编译时可以用-I指定非系统头文件路径,cpp预处理也支持这个,可是Vim中我用:ps 变量名来查看,好象它只能去系统目录下找相关的头文件……
看linux源代码,那些头文件在/usr/include下也有,但是跟我看的版本不一致,而且少很多,有无办法类似-I这样指定一个自己的头文件搜索路径?
谢谢
作者: weismart
时间: 2005-8-9 21:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我喜观用vim编写oracle pl/sql程序的快速及美观。
在编程的过程中,经常用到成对的begin end ,为了方便查找哪个begin 对应哪个end ,我在编完程序后,把所有的begin 替换成 begin ----( 注: 此处的“----”是pl/sql中的注释,其后面的“(”被注掉了。同时也把所有的 end;都换成end;--) 这样我就可以利用"%"命令快速找到begin 对应哪个end;(其实是先查到“(” 对应的“)” 因为end;就在"

"的边上呀。
具体做法是 :%s/begin/begin--( /g :%s/end;/end;--)/g
但这样做的后果是整个程序看起来不太美观。请问有没有更好的办法。比如有没有自定义匹配字符串,就是说把begin 与 end 定义成"(" 和“)”
或者采用map的做法来解决?请帮忙。
作者: homesp
时间: 2005-8-10 15:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
看来flw 老大这两天有点忙啊,同情ing

作者: 云对雨雪对风
时间: 2005-8-11 22:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你的办法很聪明,我那会也是这么做的,可你想想,天底下有这么多人用vim,你碰到的别人早就遇上了,所以自动匹配字符串的插件早就有了。
叫“matchit.vim”附上链接给你:http://vim.sourceforge.net/scripts/script.php?script_id=39 如果下不了的话,请在goole里找一下就肯定有的
详细使用方法请看包内说明书
把matchit.vim copy into plugin后
:let b:match_words = 'BEGIN:END'
everything is ok
作者: weismart
时间: 2005-8-16 10:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我是想在vi中对同一行不同位置的逗号做不同的替换
行1、“kk,789,中国人,日本鬼,美国佬"
行2、“test,鸡,鸭蛋,臭屁,7788“
行3、等等
对第一行这个串,我想把第一个“,”换成“‘,”,
第二个逗号换成“?,”
第三个逗号换成“kkkk,"
等等。
因为是要对全文进行操作,而且不同行的相同位置的逗号前或后没有明显的规律让你下手。请各位帮帮这个忙
作者: 盲炳
时间: 2005-8-22 15:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
初学C++,使用GVIM编辑源文件,用g++编译,本人做了一个
map <F11>; :w<cr>;!g++ %<cr>;
来使用F11键来编译文件,但我想实现的功能是像其它IDE(例如DEV C++)那样,按一个F9就可以完成编译,并且自动运行程序以观察运行结果。请问在VIM中如何实现这个功能?
菜菜菜……鸟,请大家多多帮忙。
作者: dozec
时间: 2005-8-24 20:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在命令行下,使用vi编辑器的时候,vi本身的信息有乱码,如何解决?
例如:vi回车后,进入vi后的欢迎界面就有乱码。
作者: zqone
时间: 2005-8-25 11:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我也问个问题, vim里面Ctrl+S是什么快捷键啊,我不小心按了一下,vim就不听话了,什么键都不起作用了……
作者: pupilzeng
时间: 2005-8-26 21:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "weismart" 发表:
我是想在vi中对同一行不同位置的逗号做不同的替换
行1、“kk,789,中国人,日本鬼,美国佬"
行2、“test,鸡,鸭蛋,臭屁,7788“
行3、等等
对第一行这个串,我想把第一个“,”换成“‘,”,
第二个逗号换成..........
:s/^\([^,]*\),\([^,]*\),\([^,]*\),/\1,\2?,\3kkkk/g
作者: 大蚂蚁
时间: 2005-8-26 22:23
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
可以在shell脚本中调用vi编辑么? 系统的sed之类的工具不能修改原来的文件
作者: weismart
时间: 2005-8-27 00:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "pupilzeng"]s/^\([^,]*\),\([^,]*\),\([^,]*\),/\1,\2?,\3kkkk/g[/quote 发表:
不太明白
作者: pupilzeng
时间: 2005-8-28 18:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "weismart" 发表:
不太明白
这个就是满足你的要求的替换表达式啊
哪不明白了,先试试看吧
作者: Solareq
时间: 2005-8-31 15:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
有个问题:
windows下在命令行窗口telnet到linux上进行vi时,点j下拉时,一般拉仅仅几行后屏幕就不动了,下面代码行就不断连在一起。无法区分每一行。
作者: 雨丝风片
时间: 2005-9-3 10:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "Solareq" 发表:
有个问题:
windows下在命令行窗口telnet到linux上进行vi时,点j下拉时,一般拉仅仅几行后屏幕就不动了,下面代码行就不断连在一起。无法区分每一行。
是有这个问题,所以我就从来不用windows的命令行登陆,何况它还不支持
语法高亮。
其实别说用windows的命令行登陆使用vi了,在sourceinsight里面,
用鼠标上下拖动选择,一旦拖过了两三页之后页是一样的效果,全挤在
一起去了。。。
作者: happen23
时间: 2005-9-4 14:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
elvis支持语法高亮显示
但不支持彩色显示
因为若是那样的话他就和vim一样庞大了
那还怎么加入slackware的a/软件包目录啊
作者: mmggyy810
时间: 2005-9-6 15:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
个人很佩服,这个板主对UNIX的熟悉程度! 你是我的偶像了
作者: xqw001
时间: 2005-9-6 22:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我用vi编程时怎么一回车就在下行空了8个空啊。怎么让他少空几个啊。如:2个。
作者: xqw001
时间: 2005-9-6 22:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我用linu编程时怎么键UP我的KEY_UP没有反应(curses),而是什么A显示在屏幕上啊。
还原我用vim编辑中文时,光标一经过中文,中文就乱了啊。怎么回事啊。我用的是:secureCRT软件中登到linu上的。终端仿真类型是:linux
作者: marsson
时间: 2005-9-7 11:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
比如有几个C++的类, 它们都有一个init函数, 然后在程序间的跳转, 在A类的init函数调用上按 ctrl + ] 时, 会跳到另外一个类的init函数定义上去?
不知有什么解决方法?
作者: 雨丝风片
时间: 2005-9-7 12:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "xqw001"]我用vi编程时怎么一回车就在下行空了8个空啊。怎么让他少空几个啊。如:2个。[/quote 发表:
:set shiftwidth=2
作者: 雨丝风片
时间: 2005-9-7 12:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "xqw001" 发表:
还原我用vim编辑中文时,光标一经过中文,中文就乱了啊。怎么回事啊。我用的是:secureCRT软件中登到linu上的。终端仿真类?.........
应该是你的系统本身的中文环境并没有进行设置,而仅仅是由于
secureCRT的原因使得你能够阅读你的系统中的含有中文的源
程序,但一旦光标经过中文,即变成乱码。
作者: 雨丝风片
时间: 2005-9-7 12:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "marsson"]比如有几个C++的类, 它们都有一个init函数, 然后在程序间的跳转, 在A类的init函数调用上按 ctrl + 发表:
时, 会跳到另外一个类的init函数定义上去?
不知有什么解决方法?
不要直接用ctrl+] ,试试看 :ts init 能不能起作用?
作者: wolfman.wu
时间: 2005-9-7 13:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vi中如何可以做到 列选择?
作者: 雨丝风片
时间: 2005-9-7 13:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "wolfman.wu"]vi中如何可以做到 列选择?[/quote 发表:
vi恐怕不行吧?vim中倒是可以通过 ctrl+v 来实现列选择。
作者: marsson
时间: 2005-9-7 17:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
不要直接用ctrl+] ,试试看 :ts init 能不能起作用?
有效,可以列出所有同名函数定义供选择了,谢过高手!
作者: cnunixxer
时间: 2005-9-8 10:39
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请教一个特别基础的问题,别笑我,
怎样进入VIM的last line mode ? 多多谢
作者: 雨丝风片
时间: 2005-9-8 11:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "cnunixxer" 发表:
请教一个特别基础的问题,别笑我,
怎样进入VIM的last line mode ? 多多谢
所谓last line mode,就是你在命令模式下输入分号“:”后进入的
模式,

。在这个模式下,你可以输入的编辑命令包括最简单
的“:q”、“:w”以及稍微复杂一点的文本查找、替换、搬移等。
作者: Benson_linux
时间: 2005-9-13 12:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
关于用//注释多行的问题。
大家有什么好的办法?
我用的是:
CTRL+V选中要注释的行
I
//
<ESC>;
有什么更快的别的办法?定义一个快捷键
作者: 雨丝风片
时间: 2005-9-13 13:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "Benson_linux" 发表:
关于用//注释多行的问题。
大家有什么好的办法?
我用的是:
CTRL+V选中要注释的行
I
//
<ESC>;
有什么更快的别的办法?定义一个快捷键
我觉得你的方法已经是一种很简便直观的方法了。
不过可以这样映射一下:
:map <F2>; :s/^/\/\//<CR>;
这样每次只需要按F2 和j或者k就行了,不知道这种方法是否能够
达到你的“更快”的要求?
作者: Benson_linux
时间: 2005-9-14 09:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
楼上的注意不错,结合v模式效果更佳
作者: xb_parasite
时间: 2005-9-14 11:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我以前是用emacs的,后来工作需要被迫在windows下开发,发现EMACS和windows兼容不太好。现在用VIM了。有几个问题。
1。使用map的时候,我想将命令映射到按键组合,比如 ctrl+某键,alt+某键。这时候是怎么写的。我总是没有找到相关的文档。
2。怎样方便的添加这种样子的注释(最好能让它自动添加右端的*和/,然后行末对齐:
/******************************************/
/******filename:main.c************************/
/******input:a,b,c *************************/
/******************************************/
作者: 雨丝风片
时间: 2005-9-14 12:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "xb_parasite" 发表:
我以前是用emacs的,后来工作需要被迫在windows下开发,发现EMACS和windows兼容不太好。现在用VIM了。有几个问题。
1。使用map的时候,我想将命令映射到按键组合,比如 ctrl+某键,alt+某键。这时候是怎么写的。我总..........
ctrl+某键: :map <C+某键>; xxxxxxx
alt+某键: :map <A+某键>; xxxxxxx
作者: 雨丝风片
时间: 2005-9-14 13:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "xb_parasite" 发表:
2。怎样方便的添加这种样子的注释(最好能让它自动添加右端的*和/,然后行末对齐:
/******************************************/
/******filename:main.c************************/
/******input:a,b,c *************************/
/******************************************/
这个需求可以通过一个vim脚本来实现。
1、把下面这段代码保存为一个.vim文件,比如说foo.vim
其中的函数名“ Mycomment”以及键映射“F2”是随便取的。
把这个文件保存在某个目录下,比如说如果你是在windows下面
使用vim的,就可以把它放在vim安装目录下的vimfiles\plugin目录中。
if exists("Mycomment_loaded")
delfun Mycomment
endif
function Mycomment()
let s:i = col(".")
while s:i < 80
let line = getline(".")
let repl = substitute(line, '$', "*", "g")
call setline(".", repl)
let s:i = s:i + 1
endwhile
let line = getline(".")
let repl = substitute(line, '$', "/", "g")
call setline(".", repl)
endfunc
:map <F2>; :call Mycomment()<CR>;
let Mycomment_loaded = 1
2、重启vim或者直接在命令模式下
:source $VIM/vimfiles/plugin/foo.vim
(假设你把这个文件放在vimfiles\plugin目录中了)。
3、导入这个脚本之后,使用映射好的快捷键(比如说F2)就可以从光标
当前位置开始,将“*”号一直补齐到脚本中指定的位置(例子中是80),
并在最后加上一个“/”号,实现补全注释的功能。
4、根据具体情况修改补全操作的结束位置,就可以满足你的要求了。
作者: xb_parasite
时间: 2005-9-14 15:23
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
妙!改天我也学着写点vim脚本^=^
作者: 一纸空文
时间: 2005-9-14 18:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我在http://vim.sourceforge.net/scripts/script.php?script_id=273中下载了一个TagList插件taglist_40b2.zip, 安装都是正确的,而且从命令行也能够生成tag,但是一到VIM6.3中就不好使了。后来debug一下发现可能是命令行的文件路径有问题:
假设当前路径下有个main.c,我如果执:
ctags.exe -f - --format=2 --excmd=pattern --fields=nks --sort=yes --language-force=c --c-types=dgsutvf ./main.c
就能够显示淅沥哗啦一大片tags。
但是我如果用全路径:
ctags.exe -f - --format=2 --excmd=pattern --fields=nks --sort=yes --language-force=c --c-types=dgsutvf "/cygdrive/c/cygwin_II/home/ctags554/main.c"
输出什么也没有。
但是不巧的是,taglist.vim中在处理tags时是先去取当前处理文件的全路径的,这样就导致Tlist Window是出来了,但是里面就只有一个当前文件的文件名,没有任何Tags出现。。。
看来是那个全路径不对了,不知道哪个地方没配对。(我最初怀疑是shellslashs设置不对,就用set nossl , set ssl等命令都瞧了瞧,但是结果还是一样的。。。)
请高手帮帮忙看看!谢谢!
作者: 雨丝风片
时间: 2005-9-15 10:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "一纸空文"]我在http://vim.sourceforge.net/scripts/script.php?script_id=273中下载了一个TagList插件taglist_40b2.zip, 安装都是正确的,而且从命令行也能够生成tag,但是一到VIM6.3中就不好使了。后来debug一下发现可能是?.........[/quote 发表:
这应该是ctags.exe的问题,它不认cygwin的“绝对”路径,即
“/cygdrive/c/”这部分内容,如果你是在cygwin下面使用ctags的,
对于你的例子来说,应该直接用windows的路径表示方式:
c:/cygwin_II/home/ctags554/main.c
这样就可以正常生成tags文件了。
作者: 一纸空文
时间: 2005-9-15 12:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
这应该是ctags.exe的问题,它不认cygwin的“绝对”路径,即
“/cygdrive/c/”这部分内容,如果你是在cygwin下面使用ctags的,
对于你的例子来说,应该直接用windows的路径表示方式:
c:/cygwin_II/home/ctags5..........
但是我的VIm6.3是装在cygwin下的啊,这样岂不是无法在VIM中用tagList了??
作者: 雨丝风片
时间: 2005-9-15 13:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "一纸空文" 发表:
但是我的VIm6.3是装在cygwin下的啊,这样岂不是无法在VIM中用tagList了??
我是直接下个win32的gvim和ctags,就在命令行下面用,速度反而比你运行
一个cygwin环境要快得多了,而且使用taglist_40b2也没有遇到你的问题。
不过我是把gvim+ctags+taglist这样的组合作为windows下面的开发环境的
(因为ue和si这样的东西让我的食指肌肉劳损得太痛苦了),而不是要在cygwin
下面做什么。不过不管你是不是想在cygwin上面做开发,编写代码这方面的工作
总是可以剥离到cygwin之外嘛,
另外,我在cygwin里面也试了一下,没有问题,taglist工作得很好。当然,我的
那些软件并不是在cygwin里面装的,而是直接在windows上“setup”的。
作者: xb_parasite
时间: 2005-9-16 11:51
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
ctrl+某键: :map <C+某键>; xxxxxxx
alt+某键: :map <A+某键>; xxxxxxx
我试了一下,用<C+某键>;好像不行。而用<C-某键>;能够工作正常。
另外,我每次看帮助,进入相应的链接后怎么退回到上层?
作者: 雨丝风片
时间: 2005-9-16 12:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "xb_parasite" 发表:
我试了一下,用<C+某键>;好像不行。而用<C-某键>;能够工作正常。
另外,我每次看帮助,进入相应的链接后怎么退回到上层?
应该是“-”号,是我写错了,不好意思!
你查看帮助文件的过程跟你编辑文件的过程是一样的,也就是说,vim
会对你在文件中的跳转位置进行记录,因此你就可以使用相关的命令回
到你曾经到过的地方。
一般来说,你可以根据具体情况使用
' '、
ctrl+]、
crtl+t、
ctrl+o、
ctrl+i
等命令在链接树中前进和回退。另外,你也可以把单个文件内的以及全局的
命名标记
m(a...z)、m(A...Z)和
'(a...z)、'(A...Z)跳转命令结合起来进行
任意位置的回退。
作者: heiyou
时间: 2005-9-21 00:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
这个贴子长得长不着北了我
还是中文的问题,请大家帮帮忙,
在 bsd5.4 中,mlterm,vim6.3.显示中文正常,输入行首第一个字正常,别的就不行了。为什么呢?
#vim cn.vim
i
a
o
I 行首插入
A 行尾插入
上面是我第一次输入的,以后再输入就不行了,奇怪了。
是用pkg_add -r vim安装的。
作者: iCharlene
时间: 2005-9-23 02:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
1。 编写程序时用taglist弄出个窗口来看函数定义,由于函数比较多,不知如何跳到左边那个taglist弄出来的窗口里,好往下看……不然只能看一二十个了。
2。 如何实现一些ide的简单功能?
如:
CTest *ct = new CTest();
ct->; 这时候有没有可能弄个列表之类的东西出来让我选择成员??
冒出个窗口来看都好啊。
作者: 雨丝风片
时间: 2005-9-23 07:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "iCharlene" 发表:
1。 编写程序时用taglist弄出个窗口来看函数定义,由于函数比较多,不知如何跳到左边那个taglist弄出来的窗口里,好往下看……不然只能看一二十个了。
这个问题,taglist的窗口实际上就是利用的vim的屏幕分割功能,
对于vim屏幕内的多个窗口,你都可以用<ctrl+w>; + (h,i,j,k)进行任意
方向的跳转,即先按下ctrl+w,再使用vim的4个方向键跳往任意方向的
窗口。一般来说,taglist的窗口在左边, <ctrl+w>; + h 就可以了,
当然,回来就是 l 了。
作者: 雨丝风片
时间: 2005-9-23 08:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "iCharlene" 发表:
2。 如何实现一些ide的简单功能?
如:
CTest *ct = new CTest();
ct->; 这时候有没有可能弄个列表之类的东西出来让我选择成员??
冒出个窗口来看都好啊。
关于这个,你可能需要去找个插件,比如说cppcomplete:
http://vim.sourceforge.net/scripts/script.php?script_id=527
但感觉这玩意儿写点小程序还行,搞大工程就不方便了。
作者: 蓝白725
时间: 2005-10-3 10:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问vim可以识别汇编语法吗?
我在WinXP下装了vim63,想要它来编辑asm代码,可是好像没有语法高亮啊。。。
作者: aiirr
时间: 2005-10-4 01:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我想请问一个关于tag方面的问题:
我用Windows XP,下载了CTags,然后在c:\program files\microsoft visual studio\vc98下执行了ctags -R,产生了一个tags文件,然后在gvim中执行
:set tags=c:\program\ files\microsoft\ visual\ studio\vc98\tags<CR>;
然后就尝试去找一个标签,譬如说我在gvim中输入了一个单词:CreateProcess,按esc键,再按Ctrl+]键,这时系统显示
E433:没有tag文件
E426:找不到标签(tag):CreateProcess
我打开我创建的tags文件,里面有对CreateProcess的描述,但好像gvim根本没有理会我做的set tags的命令,我该怎么做呢?
作者: aiirr
时间: 2005-10-4 15:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
就刚才的问题,还有一些补充:当我在当前目录产生的tags文件,是可以用
<ctrl-]>;来跳转的,当然,这个时候我没有用set tags重新设置tags的搜索路径。
还有,我发现我生成的tags文件很古怪,譬如说,它会产生CreateProcess的记录,但是不会产生CreateProcessW和CreateProcessA的记录,也就是说,对如下代码(假设的代码):
void CreateProcessW();
void CreateProcessA();
#ifdef unicode
#define CreateProcess CreateProcessW
#else
#define CreateProcess CreateProcessA
#endif
ctags只会产生宏CreateProcess的记录,却不产生函数自己的记录,奇怪,望解之!
作者: 雨丝风片
时间: 2005-10-5 23:11
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
我想请问一个关于tag方面的问题:
我用Windows XP,下载了CTags,然后在c:\program files\microsoft visual studio\vc98下执行了ctags -R,产生了一个tags文件,然后在gvim中执行
:set tags=c:\program\ files\mic..........
问题还是出在tag文件的引用目录中的空格上。在.vimrc文件或者vim的命令
行中设置tag文件目录的时候使用“\ ”来转义空格是不可行的,因为“\ ”
是在指定多个tag文件时用来分隔不同的tag文件的。
一种可行的方法是,在xp系统中定义一个环境变量,比如说MYDIR,
它的值就是你的目录,比如“c:\program files\
microsoft visual studio\vc98”。这样,在.vimrc文件中或者是在vim的
命令行中,你就可以用$MYDIR/tags的形式来指定你的tag文件了。
作者: 雨丝风片
时间: 2005-10-6 08:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "蓝白725" 发表:
请问vim可以识别汇编语法吗?
我在WinXP下装了vim63,想要它来编辑asm代码,可是好像没有语法高亮啊。。。
vim是支持汇编语法的。
不知道你所说的“没有语法高亮”是指完全没有颜色还是颜色不够丰富?
如果是完全没有颜色的话,需要确定一下你的汇编文件的后缀名属不属于
vim可以识别的范围,这一点可以从你的filetype.vim文件中得到确认。
如果是颜色不够丰富的话,你可以去下个汇编语法插件,比如asmx86.vim,
比较简单的办法就是直接用它替换掉你的vim63\syntax目录下的asm.vim
文件,它看上去至少会比默认的着色方案眼花缭乱一点,

作者: 雨丝风片
时间: 2005-10-6 08:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
就刚才的问题,还有一些补充:当我在当前目录产生的tags文件,是可以用
<ctrl-]>;来跳转的,当然,这个时候我没有用set tags重新设置tags的搜索路径。
还有,我发现我生成的tags文件很古怪,譬如说,它会产生..........
按照你给出的代码片段,两个函数实际上都是声明,因此ctags不会产生
它们的信息。如果你给出的是一个完整的函数体就没有这个问题了。
作者: aiirr
时间: 2005-10-8 12:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
按照你给出的代码片段,两个函数实际上都是声明,因此ctags不会产生
它们的信息。如果你给出的是一个完整的函数体就没有这个问题了。
1、太感谢您了,不过我还有一个问题,我只拥有头文件,而函数的实现是厂家以库的形式提供,并没有源码,那怎么办?
2、我还希望函数名和变量名会高亮,不知道有没有可能。
3、我习惯把成对出现的东西(例如“{},()”等等)先打出来,再在里面填写,那么在vim中我想键入:
void main(){
return;
}
就很辛苦了,因为我输入{}后要先esc,再i,再回车,再ese,再o,每个成对出现的符号我都这么操作,太无聊了,有什么好建议吗?
作者: 雨丝风片
时间: 2005-10-8 13:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
1、我只拥有头文件,而函数的实现是厂家以库的形式提供,并没有源码,那怎么办?
如果没有函数定义,ctags恐怕就无能为力了,你可以考虑用cscope,它可以
帮你确定函数声明的位置。
QUOTE:
原帖由 "aiirr" 发表:
2、我还希望函数名和变量名会高亮,不知道有没有可能。
这需要打开vim的语法高亮功能,具体怎么打开可以看看前面的帖子。
QUOTE:
原帖由 "aiirr" 发表:
3、我习惯把成对出现的东西(例如“{},()”等等)先打出来,再在里面填写,那么在vim中我想键入:
void main(){
return;
}
就很辛苦了,因为我输入{}后要先esc,再i,再回车,再ese,再o,每个成对出现的符号我都这么操作,太无聊了,有什么好建议吗?
想做懒人的办法有很多,
其中一种就是利用vim的缩写功能。
假如你的要求是在写函数的时候输入函数名之后能够一次性输入
(){
return;
}
就可以这样做:
:iab () (){^M^Ireturn;^M}
上面这句话的输入方法要看你在unix下面还是在windows下面了
(下面我用加号‘+’将输入分开,它不属于输入的内容):
其中,<Ctrl-V>;、<Ctrl-Q>;表示需要同时按下Ctrl和v或者q,按下
这个东西之后,等于告诉vim忽略掉下面将要输入的那个字符的所有
特殊意义,只把它当一般字符看待——我们需要这个功能来输入回车键。
因为windows平台上的vim已经把Ctrl+v重新映射成了粘贴键,因此
就需要使用Ctrl+Q来完成这个任务。
<TAB>;表示tab键,在这个位置上是用于定义return前面的缩进的,
可以根据你的需要随便换成空格什么的。
unix:
:iab () (){ + <Ctrl-V>; + 回车 + <TAB>; + return; + <Ctrl-V>; + 回车 + }
windows:
:iab () (){ + <Ctrl-Q>; + 回车 + <TAB>; + return; + <Ctrl-Q>; + 回车 + }
上面这句话实际上就是把 () 定义成了
(){
return;
}
这一大堆东西的缩写,因此,你只需要在输入()之后再输入一个vim认为的“非
word”字符,即vim用来判断单词边界的字符(比如空格,或者<ESC>;键,或
任何标点符号)时,就会把刚输入的()自动替换为
(){
return;
}
上面只是给出了一种利用缩写进行多行替换的方法框架,
你可以继续修改以满足你的要求,比如,你可以不要换行,
也不要“return”,

作者: bigapple2008
时间: 2005-10-8 14:47
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我现在要编辑一些sqc和sqf文件,这个是嵌入sql的c和fortran文件,但一旦用vi打开,它就不识别为c或fortran,因为后缀不是.c或.for。
怎么才能让vi把.sqc的文件用c的语法高亮呢?当然在打开后可以用
set filetype=c来实现,但每次都打一下好麻烦。
能不能在vimrc里写个判断,后缀是.sqc的,就set filetype=c。
作者: aiirr
时间: 2005-10-8 15:16
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
这需要打开vim的语法高亮功能,具体怎么打开可以看看前面的帖子
非常感谢,没想到回复的这么快
我查阅了前面的帖子,只看到如何对关键字进行语法高亮的,如果是ctags产生的标识符的标签,例如一个函数名字或者一个宏的名字等(就是所有的标识符啦),我希望能够用一种特殊的颜色来做区分,这样代码会清晰很多,不知道有没有办法,我没有找到相关的帖子,也许是没有仔细找,^_^
作者: 雨丝风片
时间: 2005-10-8 15:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "bigapple2008" 发表:
我现在要编辑一些sqc和sqf文件,这个是嵌入sql的c和fortran文件,但一旦用vi打开,它就不识别为c或fortran,因为后缀不是.c或.for。
怎么才能让vi把.sqc的文件用c的语法高亮呢?当然在打开后可以用
set filetype=c..........
在你的.vimrc里面加上这一句:
au BufNewFile,BufRead *.sqc,*.sqf setf c
作者: 雨丝风片
时间: 2005-10-8 16:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
非常感谢,没想到回复的这么快
我查阅了前面的帖子,只看到如何对关键字进行语法高亮的,如果是ctags产生的标识符的标签,例如一个函数名字或者一个宏的名字等(就是所有的标识符啦),我希望能够用一种特殊的颜色..........
你的意思是对于ctags生成了标签的那些名字进行高亮显示?这个偶还真没
尝试过。
如果你是对现有的语法高亮方案不满意,可以尝试一下std_c.zip插件:
http://vim.sourceforge.net/scripts/script.php?script_id=234
用它解压出来的c.vim替换掉你系统中的同名文件,它至少可以实现整个程序
的“全彩色”显示, 只是对程序正文的色彩区分度还很不够,多少比默认的
好一些吧,

作者: bigapple2008
时间: 2005-10-8 16:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "雨丝风片"][/quote 发表:
首先感谢雨丝了啊,呵呵,大概是你理解错我的意思了,.sqf应该关联成fortran的语法。
所以我改了一下你给我的
au BufNewFile,BufRead *.sqc setf c
au BufNewFile,BufRead *.sqf setf fortran
这样就可以了,呵呵
作者: 雨丝风片
时间: 2005-10-8 16:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
呵呵,看来我只能做一些tool provider的事情,而不能做solution provider啊!

作者: bigapple2008
时间: 2005-10-9 18:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "flw"]:vmap <F3>; :s/^/\/\//<CR>;是一个命令,要一次输入。[/quote 发表:
我是fortran里加注释,希望是用CCC替代//,怎么改呢?
:vmap <F3>; :s/^/\/\CCC<CR>;吗?
作者: bigapple2008
时间: 2005-10-9 18:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
呵呵,我知道答案了
vmap <F4>; :s/^/\C\C/<CR>;
作者: 雨丝风片
时间: 2005-10-9 20:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "bigapple2008" 发表:
呵呵,我知道答案了
vmap <F4>; :s/^/\C\C/<CR>;
啊哈,你可真是照猫画
猫啊!“\/”是用来转义“/”的,
你的“c”用不着“\”来转义的,

作者: aiirr
时间: 2005-10-10 16:26
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
你的意思是对于ctags生成了标签的那些名字进行高亮显示?这个偶还真没
尝试过
就好像再source insight中那样,对工程中的标识符用不同的颜色来区分,这样代码会好读一些。
我还有一个疑问,怎么设置vim的工作路径?
譬如我编辑的文件是d:\work\prj1\src\a.cpp,然后我set tags=../tags 并且我在d:\work\prj1目录下产生了tags文件。我是希望能通过相对路径来找到tags文件,而实际上我发现vim理解的../tags是我的宿主目录的上级目录下的tags。
我可能会有d:\work\prj1;d:\work\prj2 .......
所以希望能通过相对路径来寻找,而不是一个个的写入绝对路径。
我用的是gvim,不是在命令行启动的,并且不想先切换到命令行窗口,再转到d:\work\prj1,再启动gvim,有办法通过指令来设置吗?
作者: 雨丝风片
时间: 2005-10-10 17:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
就好像再source insight中那样,对工程中的标识符用不同的颜色来区分,这样代码会好读一些。
这个。。。我好像还没有看到能把颜色层次区分得像source insight那么细致
的vim语法高亮方案呢,我觉得现有的已经够了,

,不过,这确实
是一个合理的需求,

QUOTE:
原帖由 "aiirr" 发表:
怎么设置vim的工作路径?
直接在vim里面cd就可以了,如果你要cd的目录比较固定而又经常使用的话,
可以搞几个键映射来简化操作嘛,
比如,按照你给出的目录:
map <F4>; :cd d:\work\prj1<CR>;
map <F5>; :cd d:\work\prj2<CR>;
到时候你直接F4或者F5就可以了。。。

作者: aiirr
时间: 2005-10-10 17:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
如果你是对现有的语法高亮方案不满意,可以尝试一下std_c.zip插件:
http://vim.sourceforge.net/scripts/script.php?script_id=234
这下郁闷了,为何会这样呢?

图片附件:
[出错信息]
a.JPG (2005-10-10 17:26, 49.93 K) / 该附件被下载次数 1
http://bbs.chinaunix.net/attachment.php?aid=115770
作者: 雨丝风片
时间: 2005-10-10 18:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
这下郁闷了,为何会这样呢?
呵呵,这是这个插件的一个容易混淆的“bug”。
这个插件只适用于c语言。
用它提供的c.vim替换掉系统默认的c.vim之后,编辑c文件是没有问题的,
因为它本来就是标准“c”语法方案,
但系统中还有很多种语言的语法方案文件引用了c.vim,因为这些语言的
语法方案在很大程度上和c语言类似,因此就在c.vim的基础上各自再加上
自己的东西,比如c++的语法文件cpp.vim。由于这些其它语言的语法文
件是在系统默认的c.vim的基础上修改完成的,因此依赖于这个默认文件
的结构和内容。在这些情况下,“标准c”语法文件无法保证对原有的c.vim
的“透明”替换,因此,它会对此加以判断,如果发现是其它语言的*.vim
文件引用了它,它就会转而去引用系统默认的c.vim,从而假装自己不存在。
引用系统默认的c.vim的语句是:
source $VIMRUNTIME/syntax/c.vim
如果你是直接用“标准c”语法文件的c.vim替换了原有的c.vim,在编辑c++
文件的时候又没有对此加以修改的话,它会发现是cpp.vim引用了它,于是
就会去包含系统目录下的c.vim——实际上就是它自己,结果就出现了你
遇到的错误,
解决办法就是留着原来的那个c.vim,把它改个名字,比如default_c.vim,
然后把新的c.vim里面的上述语句改为:
source $VIMRUNTIME/syntax/default_c.vim
就可以了。这样既不会影响你写c程序,也不会影响你写其它语言的程序,
只是其它语言仍然使用的是系统默认的语法方案而已。
作者: aiirr
时间: 2005-10-11 10:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
呵呵,这是这个插件的一个容易混淆的“bug”。
这个插件只适用于c语言。
雨丝兄,对你的敬仰之情有如滔滔江水,绵绵不绝,又有如黄河泛滥,一发不可收拾
作者: aiirr
时间: 2005-10-11 10:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
无意中看到大师的手稿,大家都来读读(中文版)
有趣,把两节车厢封装成一节,敢情,面向对象了
作者: 雨丝风片
时间: 2005-10-11 11:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
又有如黄河泛滥,一发不可收拾
这个。。。黄河现在还有脾气泛滥吗?呵呵!

作者: swingcoder
时间: 2005-10-11 14:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
cvs上下载的一个vim version 6.4b BETA为何不能用方向键移动光标?
还有vim.org上6.3最新版本也不行?
一移动就插入一些DDD,AAAA,BBBB
但我另一台机子上的6.29就可以,郁闷!!
什么原因呢,编译时好像也没什么参数可选择啊??
作者: swingcoder
时间: 2005-10-11 14:51
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
奇怪,过会又可以了.
作者: swingcoder
时间: 2005-10-11 15:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
再问个问题,如何在VI里自动插入注释呢?
作者: 雨丝风片
时间: 2005-10-11 15:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "swingcoder"]再问个问题,如何在VI里自动插入注释呢?[/quote 发表:
你要自动插入什么样的注释?
作者: 雨丝风片
时间: 2005-10-11 15:45
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "swingcoder" 发表:
cvs上下载的一个vim version 6.4b BETA为何不能用方向键移动光标?
还有vim.org上6.3最新版本也不行?
一移动就插入一些DDD,AAAA,BBBB
但我另一台机子上的6.29就可以,郁闷!!
什么原因呢,编译时好像也没什么参?.........
这是由于你的vim默认设置成了vi兼容模式的原因。
如果再出现,试一下:
:set nocp
或者把它写到你的.vimrc文件里吧。
作者: swingcoder
时间: 2005-10-11 18:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
你要自动插入什么样的注释?
这样的
/* */
作者: 雨丝风片
时间: 2005-10-12 07:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "swingcoder" 发表:
这样的
/* */
如果你每次插入的是固定内容的注释的话,比如文件前面或者函数前面
的那种的话,用vim的缩写功能就可以了。
作者: swingcoder
时间: 2005-10-12 13:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
不是,如:aaaaaaaaaaaa,我想按什么键组合,就可以换成/*aaaaaaaaaaaaaa*/.
作者: 雨丝风片
时间: 2005-10-12 13:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "swingcoder"]不是,如:aaaaaaaaaaaa,我想按什么键组合,就可以换成/*aaaaaaaaaaaaaa*/.[/quote 发表::s/^/\/*/g|s/$/*\//g
这样可以把一行给注释掉。
:map <F5>; i/*<ESC>;ea*/<ESC>;
这样的键映射可以把一个单词给注释掉,前提是把光标放在词首。
其它的。。。就看具体情况了。
作者: shaver
时间: 2005-10-13 11:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
也问一个问题,如何删除包含特定内容的行
作者: 雨丝风片
时间: 2005-10-13 12:45
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "shaver"]也问一个问题,如何删除包含特定内容的行[/quote 发表::g/特定内容/d

作者: swingcoder
时间: 2005-10-13 13:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
这样的键映射可以把一个单词给注释掉,前提是把光标放在词首。
其它的。。。就看具体情况了。
映射后是不是按F5就可以了,但我试了怎么是将单词变成小写的?
另外还有一问题请教:我的vim怎么有时不能用Backspace键?
作者: 雨丝风片
时间: 2005-10-13 14:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "swingcoder" 发表:
映射后是不是按F5就可以了,但我试了怎么是将单词变成小写的?
是啊,应该是这样的。也许是映射的键有冲突?你可以试试把它映射成其它
的键组合?比如F6789或者Ctrl+。。。其实这段代码很简单的:
map <F5>; i /* <ESC>; e a */ <ESC>;
进入输 输入 回到命 到词尾 在词尾进 输入 回到命
入模式 “/*” 令模式 输入模式 */” 令模式
只要你认可后面的操作,

,那么换换映射键就应该可以了。
QUOTE:
原帖由 "swingcoder" 发表:
另外还有一问题请教:我的vim怎么有时不能用Backspace键?
你可以试试:
:set t_kb=^v<BS>;
“^v<BS>;”的输入方法是先按一下Ctrl+v(windows是Ctrl+q),
再按一下退格键。
作者: swingcoder
时间: 2005-10-14 13:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢,我改成
map fa ^i/*<ESC>;$a*/<ESC>;
这样就可以无论光标在何处而注释整行了
回退键那个好像还不行.
另外再请教:
如果我想删除一大段文本,我想能不能实现这样的操作,先按下键(如D),再按向下的方向键,键到我想删除的此段文本尾,再按个键,那这一段才删除.
vim里有没办法暂时隐藏整个函数块?
作者: 雨丝风片
时间: 2005-10-14 14:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "swingcoder" 发表:
谢谢,我改成
map fa ^i/*<ESC>;$a*/<ESC>;
这样就可以无论光标在何处而注释整行了
果然是抓住本质,活学活用啊,呵呵

QUOTE:
原帖由 "swingcoder"]回退键那个好像还不行. [/quote 发表:
你确定按照指定格式输入了吗?简单的说,就是根据终端类型的
不同退格键产生的编码也不同,由此就可能产生问题,而
:set t_kb=^v<BS>;
这句话就是告诉vim你的系统中退格键的编码是什么。
如果还是不行,你可以参考一下vim手册里面的FAQ部分对这一
问题的解释。或者可以直接在vim里面 :h fix 一下,看看那里
给出的方法。
[quote]原帖由 "swingcoder" 发表:
如果我想删除一大段文本,我想能不能实现这样的操作,先按下键(如D),再按向下的方向键,键到我想删除的此段文本尾,再按个键,那这一段才删除.
你可以使用可视模式。在vim命令模式下按一个“v”就可以了,然后
随便你按什么方向键,直到把你想操作的文本块都包括进来之后,再
输入你想执行的操作命令。
(如果想把选择的最小单位限制为一行,则使用大写的“V”)。
[quote]
原帖由 "swingcoder"]vim里有没办法暂时隐藏整个函数块?[/quote 发表:
这个需要用到vim的折行功能。vim里面进行折行的命令是zf,而打开折行的
命令是zo。
最简单的方法就是把折行和可视模式一起用。你可以用可视模式选定你要
折行的代码块,然后zf一下就可以了,打开的时候移到折行上面zo一下
就ok了。
如果不用可视模式,你就要在zf后面加上一些额外的命令来指示到底要
折多少了,这个上手就要慢一点了。。。

作者: swingcoder
时间: 2005-10-14 14:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
爱死vim了,谢谢雨丝风片,为我解决不了少问题.因自己懒得看vim手册,才有这么多问题,等有空时一定再仔细研究下.
作者: aiirr
时间: 2005-10-14 14:51
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
假如现在vim的buffers中有三个文件,现在希望用分割窗口的方法来显示这三个文件,但这三个文件的名字很长,不想用split filename的方法去做,该怎么办呢?又不能split buffer n
作者: 雨丝风片
时间: 2005-10-14 14:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
转一篇我手头的vim手册里的译者序,同时向译者ZhaoRuFei致敬!

QUOTE:
不要试图从本手册中去获取什么知识, 使用Vim更多的是一种技能而
不是一种知识, Vim的学习需要的更多的不是头脑而是双手, 经常按书中
的指示进行示例性的操作, 在学习Vim众多精致的技巧时, 不要贪图一下
子全都掌握, 最好是看一条技巧后, 马上在编辑器上进行操作, 这样在以
后实际的编辑操作时你的手指就会建立一种自然的反应而不是由头脑来搜
索该使用哪一条操作技巧. 建议读者不动手来不读书. 如果手边没有一
个合适的Vim编辑器环境可供操练, 那么建议读者还是不要在这里浪费时
间.
如果读者是在气温比较低的条件下阅读此书从而增加了你动手的惰性
时, 也请不要浪费时间, 这会严重影响学习的效果.
虽然本书鼓励读者多动手, 但也绝非说一点不要动脑, 相反, Vim中
多达几百个的命名与操作方式有它自己的规律可循, 在你的手指能对要完
成的编辑任务条件反射之前, 最好还是由头脑做一点辅助. 经常总结自己
最经常进行的操作. 为这些操作找出最简练的办法来, 在每学习一条新的
操作之前与自己以前的编辑经验比较一下, 找出节省你敲击键盘次数的捷
径来. 是提升Vim经验值的不二法门.
其实, Vim与其它编辑器一个很大的区别在于, 它可以完成复杂的编
辑与格式化功能. 在这些领域还少有软件能与它分庭抗礼, 但是, 与所有
的灵活性的代价一样, 你需要用自己的双手来实现它. 这在事实上造成
了用户在使用Vim过程中的几个自然阶段.
一开始是notepad, word, edit垄断你的大脑, 这些东西根深蒂固,
挥之不去. Vim 的使用对你而言是一场噩梦, 它降低而不是提高了你的
工作效率. 对三种工作模式的不解甚至使你认为它是一个充满BUG或者至
少是一个古怪的与当今友好用户界面设计严重脱节的软件. 事实上, 这些
起初看起来古怪的特性是Vim(或者是vi)的作者和它的用户们在自己漫长
的文字编辑和程序设计生涯中总结出来的最快速最实在的操作, 在几乎等
于计算机本身历史的成长期中, 历经无数严厉苛刻的计算机用户的批评与
检验, 无用的特性或糟糕的设计在Vim用户群面前根本就没有生存的余地.
Vim细心而谨慎的作者们也不允许自己精心设计的软件里有这样的东西.
第二个阶段你开始熟悉一些基本的操作, 这些操作足以应付你日常
的工作, 你使用这些操作时根本就不假思索. 但这些阶段你仍然很少去
碰Vim那晦涩的在线帮助文档. 它在你心里只是notepad, edit一个勉强
合格的替代品.
第三个阶段, 精益求精的你不满足于无休无止的简单操作, 冗长而
乏味, 有没有更好的办法可以驭繁于简? 于是, 从UNIX参考手册上, 从
同事口中, 你渐渐叩开:help xxx的大门. 开始探索里面充满魔力的咒
语. 从杂耍般的带有表演性质的技巧开始, 这些技巧令人眩目但少有实
用性. 不过这却是你拥有魔力的第一步. 接下来, 你开始认识到这些
咒语背后的真经, 开始偷偷修改一些奇怪的符号, 于是, 奇迹产生了,
魔力不但仍然有效, 而且真实地作用于你现实中的文字编辑生活. 你
在第二阶段由于熟练操作而尘封已久的大脑突然开始运作. 但这个过
程并非是达到某个临界状态后的一路坦途, 不断的挫折, 新的挑战, 看
似Mission Impossible的任务. 永远伴随着任何一个人的任何一个学习
过程. 这是你使用Vim的最后一个阶段, 也是最漫长最有挑战性同时也
充满无数奇趣的阶段. 这个阶段里你开始定制一些希奇古怪的颜色.
开始以敲入i18n来输入internationalization, 开始让Vim替你纠正经常
把the 误敲成teh的毛病, 开始让Vim与系统里各种精悍而强大的兄弟工具
进行合作, 开始写越来越长的script, 每一次的文本编辑体验都妙趣横
生高潮跌起. 你的头脑因为要用Vim完成高效的编辑而高度紧张. 你开始
在Vim邮件列表里提一些确实是问题的问题. 也开始发现你在Vim里做了以
前在SHELL里做的几乎一切事. 事实上你已经成了一个无可救药的Vim骨
灰级玩家.
以上就是一个Vim用户的精神之旅.
作者: 雨丝风片
时间: 2005-10-14 15:13
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "aiirr"]假如现在vim的buffers中有三个文件,现在希望用分割窗口的方法来显示这三个文件,但这三个文件的名字很长,不想用split filename的方法去做,该怎么办呢?又不能split buffer n[/quote 发表:
把你的“split buffer n”写短点儿就可以了,

:sbuffer n
作者: waterpub
时间: 2005-10-15 10:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我每次剪贴大块文本都是分成好几次,可能是vi缓冲大小设置不够吧,有没有什么好的解决方法?谢谢
作者: 雨丝风片
时间: 2005-10-17 07:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "waterpub"]我每次剪贴大块文本都是分成好几次,可能是vi缓冲大小设置不够吧,有没有什么好的解决方法?谢谢[/quote 发表:
你能不能具体描述一下你是在什么环境下用什么操作命令剪贴多大的文本块时
遇到了问题?

作者: aiirr
时间: 2005-10-17 11:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "雨丝风片"]把你的“split buffer n”写短点儿就可以了[/quote 发表:
做人要厚道,提问要感谢。
呵呵,在此多谢雨丝兄的大力帮助,

作者: bleem1998
时间: 2005-10-17 11:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我需要制作一个只包含一个字符的文件
用vi打开一个空文件写一个字符保存退出
结果vi自动在后面加了一个回车
文件变成2个字节大了
我调试了老大半天结果是错这这里
快要气晕了!!!
作者: 雨丝风片
时间: 2005-10-17 13:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "bleem1998" 发表:
我需要制作一个只包含一个字符的文件
用vi打开一个空文件写一个字符保存退出
结果vi自动在后面加了一个回车
文件变成2个字节大了
我调试了老大半天结果是错这这里
快要气晕了!!!
如果要制作一个只包含一个字符的大小为一个字节的文件,
可以使用vim自带的xxd程序(不用进入vim就可以了),
shell命令如下:
echo '010000: 61' | xxd -r -s -0x10000 >; foo
其中,61是你想输入的字符的ascii码的十六进制形式,这个例子中就是‘a’,
foo是你想创建的文件名。
作者: swingcoder
时间: 2005-10-18 09:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
echo 'a' >; foo
不就行了?
作者: 雨丝风片
时间: 2005-10-18 10:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "swingcoder" 发表:
echo 'a' >; foo
不就行了?
你先看看这样生成的foo文件是几个字节嘛。。。
bleem1998想让这个文件只有一个字节,

作者: swingcoder
时间: 2005-10-18 10:17
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
你先看看这样生成的foo文件是几个字节嘛。。。
bleem1998想让这个文件只有一个字节,

哦,应该是echo -n 'a' >;foo

作者: 雨丝风片
时间: 2005-10-18 10:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "swingcoder" 发表:
哦,应该是echo -n 'a' >;foo

哈哈,没想到貌不惊人的echo里面还藏着这个东东,
看我那一大圈儿绕的!

作者: aiirr
时间: 2005-10-18 11:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我在windows xp 下用cscope,怎么才能产生库文件啊?
我看到cscope的主页上说要先产生一个cscope.files文件,这个文件在unix下用find可以产生,但windows下哪有这个东东啊(windows下的find不能做这种事情 ),我写的是c++的代码,所以缺省选项不能用,手册上说缺省不用cscope.files时只搜索*.c *.h,不会为*.cpp产生索引的,怎么办呢?
作者: 雨丝风片
时间: 2005-10-18 13:17
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
我在windows xp 下用cscope,怎么才能产生库文件啊?
我看到cscope的主页上说要先产生一个cscope.files文件,这个文件在unix下用find可以产生,但windows下哪有这个东东啊(windows下的find不能做这种事情 ),我写..........
如果要用cscope处理cpp的话,看来也只有这种方式了,即把你要处理的所有
源文件都列在你的文件名文件中,我也不知道xp本身有什么好方法实现这个要
求,你还是去下一个find吧:
www.sf.net/projects/gnuwin32/
下载并安装里面的findutils-***.exe,你就可以在win32下面用gnu的find了。
作者: aiirr
时间: 2005-10-24 13:28
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
下载并安装里面的findutils-***.exe,你就可以在win32下面用gnu的find了。
问题有二:
1:这个find怎么表现带空格的路径?find c:\program files -name *.cpp中的c:\program files是不合法的参数,我加上双引号也不行
2:我用find产成了cscope.files文件,然后cscope -b,提示信息如下“cscope: cannot find file”,这样的提示有很多行,还有“cscope: cannot find file .H”等等这样的提示。
我打开cscope.files,里面有1千多行,我删除其中的某些行,就不会出现错误提示,我从删除的行中挑选两行如下:
"c:\Program Files\Microsoft Visual Studio\VC98\Include\ObjModel\TEXTGUID.H"
"c:\Program Files\Microsoft Visual Studio\VC98\Include\OCIDL.H"
(文件中没有折行)
保存为cscope.files,执行cscope -b,提示“cscope: conn't find file”,奇怪的问题是我任意删除这两行中的一行,或者调换两行的顺序,都不会提示错误信息。
我不可能对1000多行路径反复尝试哪种顺序是可行的,这比汉诺塔还难搞定,简直就是《不可能完成的任务》第4集。
作者: aiirr
时间: 2005-10-24 13:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
上述问题中(文件没有折行)这句话忽略。
我在回复窗口中看到一行路径会折行显示,才加了这句话,不好意思,贴上去后一行能显示完,不折行了,呵呵
作者: sttty
时间: 2005-10-24 18:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我问一个问题,我在打开别.c文件的时候看到最后几行是这样写的:
// Local variables:
// tab-width: 4
// c-basic-offset: 4
// End:
// vim:tw=78
// vim600: sw=4 ts=4 fdm=marker
// vim<600: sw=4 ts=4
请问这是什么意思呢?
而且我发现我的tab键是8个空格 但是vi 这个文件的时候格式很整齐而且tab是4个空格,
是不是和如上内容有关系呢。 如果是,我自己也按照它的内容写了一个.c文件,但是看不到它的效果。
作者: sttty
时间: 2005-10-24 18:36
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问我在 vim c.c的时候 :Tlist 左边出来了一个框,上面只显示了这个文件的函数, 请问如何显示结构体定义,和整个项目目录的所有函数呢
作者: 雨丝风片
时间: 2005-10-24 19:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
1:这个find怎么表现带空格的路径?find c:\program files -name *.cpp中的c:\program files是不合法的参数,我加上双引号也不行
加上双引号应该就可以了,至少在我的环境里可以,

,
比如 find "c:\program files" -name *.cpp
QUOTE:
原帖由 "aiirr" 发表:
我不可能对1000多行路径反复尝试哪种顺序是可行的,这比汉诺塔还难搞定,简直就是《不可能完成的任务》第4集。
还是尽量避免在你的路径名中使用空格吧,虽然cscope和vim都可以处理空格,
但是它们处理的方法是不同的。就用你举的例子:
c:\Program Files\Microsoft Visual Studio\VC98\Include\ObjModel\TEXTGUID.H
你用find就可以在cscope.files文件中生成一条它的记录,但是由于它的路径名
中含有空格,所以你必须把它用双引号括起来,成为:
"c:\Program Files\Microsoft Visual Studio\VC98\Include\ObjModel\TEXTGUID.H"
但这只搞定了scope,使它能够从这个cscope.files生成cscope.out文件。
但在vim里面,含有空格的文件名将被认为是指定了多个文件,
于是就会出错。本来vim里面可以用'\'来对文件名中的空格进行转义,但这
又会导致cscope无法识别相应tag。
所以,如果一定要在含有空格的路径名中工作的话,还是通过定义环境变量
来搞定吧,我也不知道还有没有更好的办法

。可以按照前面的方法
用-b选项生成cscope.out文件,然后在根据里面的带空格的路径名定义几个
系统环境变量,比如FOO,然后再用$FOO把这里面的路径名替换掉。这样
既过了cscope这一关,也可以让vim能够正确识别出文件。
这个办法看上去太笨拙了。

,不过如果你的路径名不经常改变的
话,写个简单的脚本就可以每次自动完成这些事情了,用起来也还不算麻烦。
作者: 雨丝风片
时间: 2005-10-24 19:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "sttty" 发表:
我问一个问题,我在打开别.c文件的时候看到最后几行是这样写的:
我问一个问题,我在打开别.c文件的时候看到最后几行是这样写的:
// Local variables:
// tab-width: 4
// c-basic-offset: 4
// End:
// vim:tw=78
// vim600: sw=4 ts=4 fdm=marker
// vim<600: sw=4 ts=4
请问这是什么意思呢?是不是和如上内容有关系呢。 如果是,我自己也按照它的内容写了一个.c文件,但是看不到它的效果。
..
这是vim的模式行功能。如果你只想对某个文件应用某些设置选项的话就可以
用这种方式来实现。比如:
// vim:tw=78
表示这个文件的textwidth等于78
// vim600:!
sw=4 ts=4 fdm=marker
表示该行设置只对vim6.0有效。
具体格式可以通过 :h modeline 查看。
作者: 雨丝风片
时间: 2005-10-24 20:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]
原帖由 "sttty"]请问我在 vim c.c的时候 :Tlist 左边出来了一个框,上面只显示了这个文件的函数, 请问如何显示结构体定义,和整个项目目录的所有函数呢[/quote 发表:
能不能简单说一下你安装使用taglist插件的过程?taglist默认是可以显示
结构体定义的。这应该和它调用ctags的时候的选项有关。
它好像不能显示整个项目的所有函数吧?不过只要你打开过的文件,
它的tag就会一直显示在taglist窗口中,除非你去把它“d”掉。
作者: sttty
时间: 2005-10-24 21:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
// vim:tw=40
我这样设置好像不行, 输入很长了还是可以输入。
我的taglist是这样装的:
unzip 后
su
cp doc/taglist.txt /usr/share/vim/vim61/doc/
cp plugin/taglist.vim /usr/share/vim/vim61/plugin/
over
作者: 雨丝风片
时间: 2005-10-24 22:46
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "sttty" 发表:
// vim:tw=40
我这样设置好像不行, 输入很长了还是可以输入。
首先,tw选项的换行是以单词为单位的,即只有你的输入是以空格分隔的
单词时,才会将超过范围的单词换到下一行。
其次,对于c语言之类的程序文件是屏蔽了这项功能的,因为程序代码在什
么时候换行还是应该由程序员而不是vim来定。这一点,你可以在编辑c程序
的时候通过 :set filetype=xxx 随便改一下文件类型就可以让set tw生效了。
QUOTE:
原帖由 "sttty" 发表:
// vim:tw=40
我的taglist是这样装的:
unzip 后
su
cp doc/taglist.txt /usr/share/vim/vim61/doc/
cp plugin/taglist.vim /usr/share/vim/vim61/plu..........
这倒是没有问题。那么,你所用的ctags是不是taglist要求的
exuberant-ctags呢?你可以先在命令行上直接对你的程序文件ctags一下,
看看能不能生成结构体的tag,或者,你也可以在vim里面多TalistUpdate几下。

作者: aiirr
时间: 2005-10-25 09:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
加上双引号应该就可以了,至少在我的环境里可以
是的,我重新尝试过,发现如果在路径末尾加上"\"就不可以,不加就正常,不过find产生的内容是unix风格的路径分隔符"/",有趣。
QUOTE:
原帖由 "雨丝风片" 发表:
还是尽量避免在你的路径名中使用空格吧,虽然cscope和vim都可以处理空格,
但是它们处理的方法是不同的。
是的,你的方案可以解决产生.out文件后的兼容问题,可是,我现在的问题是不能正常产生.out文件,我给路径加上双引号,有的路径可以被cscope识别,有的不能被识别,有的路径交换前后顺序后又可以被识别,搞的我头大一圈。
真的非常感谢您用如此大的篇幅来详细回答我的问题,谢谢!!!

图片附件:
err.GIF (2005-10-25 09:53, 11.64 K) / 该附件被下载次数 0
http://bbs.chinaunix.net/attachment.php?aid=117311
作者: aiirr
时间: 2005-10-25 10:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我的cscope被复制到了vim63目录下,执行的指令是cscope -b -k
我的cscope.files的内容如下图:

图片附件:
err.GIF (2005-10-25 10:03, 8.65 K) / 该附件被下载次数 0
http://bbs.chinaunix.net/attachment.php?aid=117312
作者: aiirr
时间: 2005-10-25 10:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "雨丝风片" 发表:
根据里面的带空格的路径名定义几个
系统环境变量,比如FOO,然后再用$FOO把这里面的路径名替换掉。这样
既过了cscope这一关,也可以让vim能够正确识别出文件。

图片附件:
d.GIF (2005-10-25 10:14, 4.34 K) / 该附件被下载次数 0
http://bbs.chinaunix.net/attachment.php?aid=117313
作者: sttty
时间: 2005-10-25 10:32
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你所用的ctags是不是taglist要求的
exuberant-ctags呢?
我用的ctags是rh9 自带的, 是不是这个得原因呢
作者: 雨丝风片
时间: 2005-10-25 14:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "sttty" 发表:
你所用的ctags是不是taglist要求的
exuberant-ctags呢?
我用的ctags是rh9 自带的, 是不是这个得原因呢
很有可能,taglist只能使用exuberant-ctags,在它的文档里面有这段话:
QUOTE:
The exuberant ctags utility must be installed in your system to use this
plugin. You should use exuberant ctags version 5.0 and above. This plugin
doesn't use or create a tags file and there is no need to create a tags file
to use this plugin. The taglist plugin will not work with the GNU ctags or the
Unix ctags utility.
作者: 雨丝风片
时间: 2005-10-25 14:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "aiirr" 发表:
是的,你的方案可以解决产生.out文件后的兼容问题,可是,我现在的问题是不能正常产生.out文件,我给路径加上双引号,有的路径可以被cscope识别,有的不能被识别,有的路径交换前后顺序后又可以被识别,搞的我头大?.........
确实奇怪,感觉已经不像是空格引起的问题了,偶的头也大了。。。
另外,我说的用环境变量替换的方法就是你理解的那样的,

作者: 新新手
时间: 2005-10-28 15:49
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请求打下总结一下modeline
谢谢
作者: 雨丝风片
时间: 2005-10-28 17:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
QUOTE:
原帖由 "新新手" 发表:
请求打下总结一下modeline
谢谢
简单总结一下modeline:
1、适用场合
当你想对某个文件进行特殊的设置而又不想影响其它文件,因此并不打算在
.vimrc里面修改这些设置的时候。
2、modeline有两种格式:
(1)第一种格式:
[text]{white}{vi:|vim:|ex:}[white]{options}
[text] 随便什么文本,或者空白。
{white} 至少一个空格或tab。
{vi:|vim:|ex:} 后面三个字符串之一,"vi:", "vim:" 或 "ex:"。
[white] 可有也可无的空格。
{options} 被set的选项列表,用冒号':'分隔。
举例:
vi:noai:sw=3 ts=6
/* vim:tabstop=8:expandtabs:shiftwidth=8 */
(2)第二种格式:
[text]{white}{vi:|vim:|ex:}[white]set {options}:[text]
[text] 随便什么本文,或者空白。
{white} 至少一个空格或tab。
{vi:|vim:|ex:} 后面三个字符串之一,"vi:", "vim:" or "ex:"。
[white] 可有也可无的空格。
set 字符串"set " (注意set后面的那个空格不可少)。
{options} 选项列表,用空格分开。
: 一个冒号。
[text] 随便什么文本,或者空白。
举例:
/* vim: set ai tw=75: */
/* vim: set shiftwidth=4 autoindent : */
3、注意:
vi:或vim:或ex:前面的那个空格不可少,这可以最大限度地避免误判。但,
vi:和vim:可以直接放在行首,而ex:不行。
4、带版本的modeline:
用法一目了然,所用数字为实际版本号乘以100。
vim600: 版本大于等于6.0
vim<600: 版本小于6.0
vim=600: 版本等于6.0
vim>;600: 版本大于6.0
5、两种格式的区别:
对于第一种格式,一旦识别,该行剩余部分都将被使用,因此,这样的写法
/* vi:ts=4: */
将因为后面的*/而出错。
而采用第二种格式就没有这个问题了,因为它将显式地以一个冒号结束。
/* vi:set ts=4: */
6、modeline写在哪儿?
vim只会在一个文件的前modelines行和后modelines行中寻找modeline命令
模式,modelines的默认值是5。
7、modeline的开关是什么?
开:set modeline
关:set nomodeline
事实上,set modelines=0 的效果和set nomodeline是一样的。
[
本帖最后由 雨丝风片 于 2005-10-30 21:31 编辑 ]
作者: swingcoder
时间: 2005-10-31 09:45
各位能展示下你们自己配置的(在实际编程中使用的):.vimrc文件么?并加些必要的注解.
作者: future0906
时间: 2005-10-31 20:03
请问下,vim里面有没有好看点的语法颜色呢 ~?
他 默认的那个有点刺眼,我是用黑色背景,白色字体得mlterm
作者: 雨丝风片
时间: 2005-11-1 08:10
QUOTE:
原帖由 future0906 于 2005-10-31 20:03 发表
请问下,vim里面有没有好看点的语法颜色呢 ~?
他 默认的那个有点刺眼,我是用黑色背景,白色字体得mlterm
首先,可以在vim里面 :!ls $VIMRUNTIME/colors 一下,看看都有哪些色彩
方案,然后随便 :source $VIMRUNTIME/colors/xxxx.vim 一个试试看,
如果没有满意的,就试试这个插件吧,够你挑的:
http://vim.sourceforge.net/scripts/script.php?script_id=625
[
本帖最后由 雨丝风片 于 2005-11-1 08:17 编辑 ]
作者: liuwantao
时间: 2005-11-1 10:58
标题: 刚开始用linux,不知如何选择一行复制,粘贴
请教:不知如何不用鼠标选择一行复制,粘贴?
作者: 雨丝风片
时间: 2005-11-1 12:03
QUOTE:
原帖由 liuwantao 于 2005-11-1 10:58 发表
请教:不知如何不用鼠标选择一行复制,粘贴?
“选择一行复制” yy
“粘贴” p
作者: heiyou
时间: 2005-11-2 15:52
标题: 如何全部选中?并复制?
在WIN中是Ctrl+A,Ctrl+C
在VIM中用dgg,dG是删除到文首,文尾。而ygg,yG好象不行哦?
谢谢。
作者: 雨丝风片
时间: 2005-11-2 16:24
QUOTE:
原帖由 heiyou 于 2005-11-2 15:52 发表
在WIN中是Ctrl+A,Ctrl+C
在VIM中用dgg,dG是删除到文首,文尾。而ygg,yG好象不行哦?
谢谢。
可以啊,没问题。你能不能把问题描述详细一点?

作者: heiyou
时间: 2005-11-2 20:40
QUOTE:
原帖由
雨丝风片 于 2005-11-2 16:24 发表
可以啊,没问题。你能不能把问题描述详细一点?
谢谢丽丝风片老大。
偶有点晕,老大都说行,肯定可以,偶怎不行?
一些大一点的文档想全部选中后复制到别的地方,如blog中,用ygg或者yG,可是中键还是粘贴(灰色不可用),总是不行,我不想用gvim.@

我也试了,在VIM中也不能用p或"*p粘贴,用了也没有效果。看样是得复制到系统粘贴板?偶只会在支持鼠标复制粘贴的地方才会用系统粘贴板哦。
[
本帖最后由 heiyou 于 2005-11-2 21:01 编辑 ]
作者: 雨丝风片
时间: 2005-11-3 08:08
QUOTE:
原帖由
heiyou 于 2005-11-2 20:40 发表
谢谢丽丝风片老大。
偶有点晕,老大都说行,肯定可以,偶怎不行?
一些大一点的文档想全部选中后复制到别的地方,如blog中,用ygg或者yG,可是中键还是粘贴(灰色不可用),总是不行,我不想用gvim.@

我也 ...
把偶的名字都看错了。。。
你的问题是不是可以提炼成想在不用鼠标的情况下使用系统剪贴板在vim和其它程序之间拷贝数据?
vim里面指定系统剪贴板的方法就是 "*,后面再加上你的操作命令。比如你说的ygg和yG现在就要
变成 "*ygg 和 "*yG 了,这就完成了向系统剪贴板的复制,而从系统剪贴板里复制出来就是你所
说的 "*p 了。
作者: heiyou
时间: 2005-11-3 10:09
标题: 一语惊醒了偶-vim里面指定系统剪贴板的方法就是 "*
嘿 ,现在偶明白了,总觉得对不住雨丝风片老大,把名字都打错了,打成一女孩了。不过老大的名字很特别的,改天偶也学学。
现在用VIM用的,在论坛打字也常不自觉地按VIM方式打,结果不用说了。

虽说俗了点,还是要谢谢老大在这里传道解惑。
偶学之于CU,盼将来有用之于CU.
作者: 雨丝风片
时间: 2005-11-3 12:59
QUOTE:
原帖由 heiyou 于 2005-11-3 10:09 发表
偶学之于CU,盼将来有用之于CU ...
偶也是这么想的。。。

作者: yangtou
时间: 2005-11-10 11:48
标题: 如何把^M替换为换行
文本里面没有换行,只有一大堆^M,如何用换行代替^M
作者: jacksg
时间: 2005-11-12 10:15
标题: freebsd6.0下vim的imap问题
我在windows下使用vim的imap功能是正常的,比如我imap #i #include <><LEFT>
在freebsd下使用vim-lite编辑c程序输入#i就会出现#include <><LEFT>而在windows下或者linux下是正常的,会出现#include <> 光标停留在<>中间.
作者: 雨丝风片
时间: 2005-11-12 10:58
QUOTE:
原帖由 yangtou 于 2005-11-10 11:48 发表
文本里面没有换行,只有一大堆^M,如何用换行代替^M
:%s/^M/回车/g
这里的^M是Ctrl + v 之后再Ctrl + m ;
这里的回车是Ctrl + v 之后再回车。
作者: 雨丝风片
时间: 2005-11-12 11:01
QUOTE:
原帖由 jacksg 于 2005-11-12 10:15 发表
我在windows下使用vim的imap功能是正常的,比如我imap #i #include <><LEFT>
在freebsd下使用vim-lite编辑c程序输入#i就会出现#include <><LEFT>而在windows下或者linux下是正常的,会 ...
被你绕晕了。。。你是说FreeBSD下面就不能把光标停留在<>中间?
偶用的是5.1,没有遇到你的问题,

作者: jacksg
时间: 2005-11-12 12:48
QUOTE:
原帖由
雨丝风片 于 2005-11-12 11:01 发表
被你绕晕了。。。你是说FreeBSD下面就不能把光标停留在<>中间?
偶用的是5.1,没有遇到你的问题,
我前面用5.4的时候也是正常的,好像用的是5.4自己带的package,版本是vim6.38,但是后来换成freebsd6.0 使用ports安装vim6.4就出现了这样的情况,你可以试试在5.1下使用ports,cvsup一下vim-lite的ports再试试?
作者: 雨丝风片
时间: 2005-11-12 12:58
QUOTE:
原帖由 jacksg 于 2005-11-12 12:48 发表
我前面用5.4的时候也是正常的,好像用的是5.4自己带的package,版本是vim6.38,但是后来换成freebsd6.0 使用ports安装vim6.4就出现了这样的情况,你可以试试在5.1下使用ports,cvsup一下vim-lite的ports再试试?
呵呵,偶就不去试了,你就换换其它方法来实现你的要求吧,
比如不要用<LEFT>了,换成Ctrl+v 加上左键,或者<ESC> h
之后再 i 一下。
作者: aux888
时间: 2005-11-14 11:23
请版主介绍一下经验:
由c++到vc,据说要学习api,版主介绍一下学习方法。
还有,我这儿不大能买到一些好的计算机书,网上购买怕上当,请朋友们介绍几个
好的购书网站,谢谢
作者: gosapphire
时间: 2005-11-14 18:48
问个 比较弱智的问题,win下写的*.c每行结尾都有^M,我用:%s/^M//g 无法删掉,显示E486: Pattern not found: ^M ......想问一下这个问题怎么解决?谢谢!
作者: 雨丝风片
时间: 2005-11-14 19:00
QUOTE:
原帖由 gosapphire 于 2005-11-14 18:48 发表
问个 比较弱智的问题,win下写的*.c每行结尾都有^M,我用:%s/^M//g 无法删掉,显示E486: Pattern not found: ^M ......想问一下这个问题怎么解决?谢谢!
不要直接写^和M,而应该是Crtl+q之后再Ctrl+m
作者: gosapphire
时间: 2005-11-14 19:09
QUOTE:
原帖由 雨丝风片 于 2005-11-14 19:00 发表
不要直接写^和M,而应该是Crtl+q之后再Ctrl+m
真是晕,刚看到前页有 %s/Crtl+v Crtl+m/Ctrl+v 回车/g
我想再问个问题,Crtl+v显示的^和直接打出来的^有什么区别,谢谢!
作者: 雨丝风片
时间: 2005-11-14 19:17
QUOTE:
原帖由 gosapphire 于 2005-11-14 19:09 发表
真是晕,刚看到前页有 %s/Crtl+v Crtl+m/Ctrl+v 回车/g
我想再问个问题,Crtl+v显示的^和直接打出来的^有什么区别,谢谢!
一个是一个字符,一个是两个字符,你用十六进制看一下。。。
作者: gosapphire
时间: 2005-11-14 20:09
QUOTE:
原帖由 雨丝风片 于 2005-11-14 19:17 发表
一个是一个字符,一个是两个字符,你用十六进制看一下。。。
十分感谢

作者: flw10000
时间: 2005-11-15 16:46
怎么用十六进制查看?
谢谢 ~!
作者: 雨丝风片
时间: 2005-11-15 17:16
QUOTE:
原帖由 flw10000 于 2005-11-15 16:46 发表
怎么用十六进制查看?
谢谢 ~!
:%!xxd
:%!xxd -r
作者: THEBEST
时间: 2005-11-16 11:06
如果我要写一个filename.cp文件,默认不识这个后缀,如果为这这种情况也加语法高亮显示?想和C程序显示的一样.
作者: 雨丝风片
时间: 2005-11-16 11:24
QUOTE:
原帖由 THEBEST 于 2005-11-16 11:06 发表
如果我要写一个filename.cp文件,默认不识这个后缀,如果为这这种情况也加语法高亮显示?想和C程序显示的一样.
前面已经有人问过类似的问题了。
:setf c
或者在.vimrc里面加上下面这句:
au BufNewFile,BufRead *.cp setf c
作者: cocaxl
时间: 2005-11-16 16:16
英文有空格分开,textwidth对中文没用
vim里中文换行的解决办法?
最好是能自动换行的,而且换行之后再编辑文本,最好也能自动重新排版
作者: Gentwo
时间: 2005-11-17 14:14
标题: 出了一些问题.
我安装的是redhat7.1.安装了,系统中的版本是6.0apahe版.但是没有安装的时候,vim-enhanced包没有装上.当然不支持语法高亮了.exrc中的第9行是syntax on.
系统提示"option nt supported: syntax"
刚才从光盘中安装vim-enhanced.出错提示.
双从网上下载了6.3安装上.还是不行.
是哪一步做得不对.请 flw 指点.
作者: 雨丝风片
时间: 2005-11-18 10:21
QUOTE:
原帖由 cocaxl 于 2005-11-16 16:16 发表
英文有空格分开,textwidth对中文没用
vim里中文换行的解决办法?
最好是能自动换行的,而且换行之后再编辑文本,最好也能自动重新排版
看了前面的帖子,才知道老兄已经是第三次在这儿问这个问题了

,网上也
有关于这个问题的讨论,但还没有看到解决办法。
本来想用一种定时机制来模拟“实时”换行的,但在vim里面找不到能在输入
模式下使用的此类事件,比如CursorHold事件就只能在命令模式下触发。
同时,中文里面不会用空格来分开,因此似乎只能用强行限制行宽来模拟
textwidth的效果。
我写了一个简单的脚本函数:
if exists("ChineseWrap")
delfun Chwrap
endif
function Chwrap()
exe "normal $"
if col(".") > 70
call cursor(getline("."), 70)
exe "normal a\n\<ESC>$"
endif
endfunc
let ChineseWrap = 1
Chwrap()函数实际上就是把光标所在行(不管是否含有中文字符)强行在
第70个字符后面截断。由于并没有找到合适的触发机制,因此只给出了这
个函数体。目前这个函数可以在命令模式下用CursorHold事件触发,也可
以通过直接调用或者键映射的方式手动触发进行单行或整篇文档的整理。
只能算是个半成品了。。。
[
本帖最后由 雨丝风片 于 2005-11-18 10:29 编辑 ]
作者: frost.wrath
时间: 2005-11-19 13:23
请问怎么修改gvim的默认配色?
我的默认配色是"default",第次运行后我得手动将配色改成我比较习惯的"torte"。怎么才能让gvim运行后就使用torte配色呢?
多谢。
作者: 雨丝风片
时间: 2005-11-19 13:39
QUOTE:
原帖由 frost.wrath 于 2005-11-19 13:23 发表
请问怎么修改gvim的默认配色?
我的默认配色是"default",第次运行后我得手动将配色改成我比较习惯的"torte"。怎么才能让gvim运行后就使用torte配色呢?
多谢。
.vimrc中加上一句:
source $VIMRUNTIME/colors/torte.vim
作者: Com_Net
时间: 2005-11-20 09:05
标题: ======================
VI怎样设置使C的关键字变成有颜色?
作者: 雨丝风片
时间: 2005-11-21 08:07
QUOTE:
原帖由 Com_Net 于 2005-11-20 09:05 发表
VI怎样设置使C的关键字变成有颜色?
你用的是什么系统?什么版本的vi?“vi”不行,“vim”默认就可以。
作者: Com_Net
时间: 2005-11-21 16:07
标题: =====
redhatlinux 9.0
有VI和VIM吗?
作者: 雨丝风片
时间: 2005-11-21 16:21
QUOTE:
原帖由 Com_Net 于 2005-11-21 16:07 发表
redhatlinux 9.0
有VI和VIM吗?
看前面的帖子,

作者: lovered
时间: 2005-11-21 16:32
vim 如何打开不同编码的文件 例如我想用vi打开utf-8编码的文件
作者: xujie0724
时间: 2005-11-22 14:25
在vi里make报程序有错后,我已经修改了第一个错误,我怎么显示第二个错误和调到那一行呢??难道要再重新make再跳到出错的地方??
作者: xujie0724
时间: 2005-11-22 14:30
QUOTE:
原帖由 Com_Net 于 2005-11-21 16:07 发表
redhatlinux 9.0
有VI和VIM吗?
肯定又,我还一直在用
作者: Com_Net
时间: 2005-11-22 17:03
标题: =======================
REDHATLINUX 9。0
VI怎样复制光标当前行啊?
作者: lof
时间: 2005-11-22 22:33
新装的vim 怎么backspace键不管用了?
不能用backspace键来删除了,怎么办呢?
作者: 雨丝风片
时间: 2005-11-23 08:22
QUOTE:
原帖由 lof 于 2005-11-22 22:33 发表
新装的vim 怎么backspace键不管用了?
不能用backspace键来删除了,怎么办呢?
往前面翻几页找答案。
作者: albcamus
时间: 2005-11-23 10:16
请教一下,我telnet到AIX5.1 上, 在AIX上从源代码编译安装了Vim6.3,一直没有语法加亮,很难看。 ~/.vimrc中加了syntax on,/usr/share/vim/vim63/syntax下也有众多的*.vim文件存在,为何一直没有语法加亮呢?
作者: 雨丝风片
时间: 2005-11-23 11:36
QUOTE:
原帖由 albcamus 于 2005-11-23 10:16 发表
请教一下,我telnet到AIX5.1 上, 在AIX上从源代码编译安装了Vim6.3,一直没有语法加亮,很难看。 ~/.vimrc中加了syntax on,/usr/share/vim/vim63/syntax下也有众多的*.vim文件存在,为何一直没有语法加亮呢?
没准是终端设置的问题,你用什么程序telnet上去的?终端类型设置成什么?除了vim,在shell里有颜色吗?
作者: lof
时间: 2005-11-23 13:14
QUOTE:
原帖由 雨丝风片 于 2005-11-23 08:22 发表
往前面翻几页找答案。
老大说的是这个吗?
可以试试:
:set t_kb=^v<BS>;
“^v<BS>;”的输入方法是先按一下Ctrl+v(windows是Ctrl+q),
再按一下退格键。
可是不管用啊,刚刚输入的可以删除,只要一回车,再回来就不能用backspace删除 了,所以应该不是键映射的问题
。。
作者: xujie0724
时间: 2005-11-23 14:51
QUOTE:
原帖由 xujie0724 于 2005-11-22 14:25 发表
在vi里make报程序有错后,我已经修改了第一个错误,我怎么显示第二个错误和调到那一行呢??难道要再重新make再跳到出错的地方??
有人能回答我的问题吗,还是我没讲清楚
作者: 雨丝风片
时间: 2005-11-23 15:34
QUOTE:
原帖由 xujie0724 于 2005-11-23 14:51 发表
有人能回答我的问题吗,还是我没讲清楚
用 :clist 查看所有的make错误
用 :cc n 跳转到第n个错误行。
作者: albcamus
时间: 2005-11-23 16:23
QUOTE:
原帖由 雨丝风片 于 2005-11-23 11:36 发表
没准是终端设置的问题,你用什么程序telnet上去的?终端类型设置成什么?除了vim,在shell里有颜色吗?
shell里极其丰富多彩

偶用的是KDE的konsole,配置很漂漂的说

作者: 雨丝风片
时间: 2005-11-23 16:41
QUOTE:
原帖由
albcamus 于 2005-11-23 16:23 发表
shell里极其丰富多彩

偶用的是KDE的konsole,配置很漂漂的说
老大,vim手册里的招儿你都试过了吗?
I Turned on Syntax Colors, but All I Get Is Black and White (UNIX)
A common problem affects the xterm program used on many UNIX systems.The
problem is that although the xterm program understands colors, the terminal description
for xterm frequently omits colors.This cripples syntax coloring.To correct this
problem, you need to set your terminal type to the color version. On Linux this is
xterm-color, and on Solaris this is xtermc.
To fix this problem, put the following in your $HOME/.cshrc file:
if ($term == xterm) set term = xterm-color
This works on Linux with the csh shell. Other systems and other shells require different
changes.
[
本帖最后由 雨丝风片 于 2005-11-23 16:42 编辑 ]
作者: xujie0724
时间: 2005-11-23 17:10
thanks -> 雨丝风片
作者: leyyer
时间: 2005-11-23 18:24
QUOTE:
原帖由 lof 于 2005-11-22 22:33 发表
新装的vim 怎么backspace键不管用了?
不能用backspace键来删除了,怎么办呢?
在~/.vimrc中添加
set nocp
set bs=2
作者: leyyer
时间: 2005-11-23 18:28
QUOTE:
原帖由 frost.wrath 于 2005-11-19 13:23 发表
请问怎么修改gvim的默认配色?
我的默认配色是"default",第次运行后我得手动将配色改成我比较习惯的"torte"。怎么才能让gvim运行后就使用torte配色呢?
多谢。
也可以在~/.gvimrc中添加
colorscheme torte
作者: Com_Net
时间: 2005-11-23 19:55
标题: =============
各位版猪:
我的问题怎没人回啊?
作者: 雨丝风片
时间: 2005-11-23 21:24
QUOTE:
原帖由 Com_Net 于 2005-11-23 19:55 发表
各位版猪:
我的问题怎没人回啊?
你的问题前面应该都有答案了。。。

作者: Com_Net
时间: 2005-11-23 22:58
标题: =====
版猪:
好难找啊。。
版猪写出来是是更好吗?
应该不会很多字的。
帮帮忙啦。。
作者: albcamus
时间: 2005-11-24 17:13
QUOTE:
原帖由
雨丝风片 于 2005-11-23 16:41 发表
老大,vim手册里的招儿你都试过了吗?
I Turned on Syntax Colors, but All I Get Is Black and White (UNIX)
A common problem affects the xterm program used on many U ... 我的机器是Linux,在KDE的konsole里 1 ,telnet到AIX5L上,AIX上也是自己装的bash;2 ,ssh到Solaris上,Solaris也是自己装的bash。 都是这个德性啊,我ssh到别的Linux上就一点问题都没有,哪怕runlevel==3
Tks,我再试试帮助文档里的吧
作者: xujie0724 时间: 2005-11-24 18:08
QUOTE:
原帖由 Com_Net 于 2005-11-23 22:58 发表
版猪:
好难找啊。。
版猪写出来是是更好吗?
应该不会很多字的。
帮帮忙啦。。
版猪:这样的错别字 可非常不礼貌
作者: lof 时间: 2005-11-24 23:21
QUOTE:
原帖由 leyyer 于 2005-11-23 18:24 发表
在~/.vimrc中添加
set nocp
set bs=2
只要第二行就行了,感谢~~~
作者: swingcoder 时间: 2005-11-25 10:02
我执行:
cp /usr/share/vim/vim62/ftplugin/c.vim /usr/share/vim/vim62/ftplugin/proc.vim
想要得到一个能解析proc扩展名的c代码,但是不行,是不是proc.vim里还要改什么东东,请指点.
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Br...@vim.org>
" Last Change: 2003 May 04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
set cpo-=C
let b:undo_ftplugin = "setl cin< fo< com<"
\ . "| if has('vms') | setl isk< | endif"
setlocal cindent
" Set 'formatoptions' to break comment lines but not other lines,
" and insert the comment leader when hitting <CR> or using "o".
setlocal fo-=t fo+=croql
" Set 'comments' to format dashed lists in comments.
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
" In VMS C keywords contain '$' characters.
if has("vms")
setlocal iskeyword+=$
endif
" Win32 can filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter")
if &ft == "cpp"
let b:browsefilter = "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
\ "C Header Files (*.h)\t*.h\n" .
\ "C Source Files (*.c)\t*.c\n" .
\ "All Files (*.*)\t*.*\n"
else
let b:browsefilter = "C Source Files (*.c)\t*.c\n" .
\ "C Header Files (*.h)\t*.h\n" .
\ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
\ "All Files (*.*)\t*.*\n"
endif
endif
作者: swingcoder 时间: 2005-11-25 10:16
解决了,只要在"/usr/share/vim/vim62/filetype.vim" 1574L, 37525C添加一行:
" swingcoder 2005-11-25
au BufNewFile,BufRead *.proc setf c
作者: swingcoder 时间: 2005-11-25 10:26 标题: vim 的所有选项
vim 的所有选项
ptions打开
附件:
[vim-options]
vim-options.zip (2005-11-25 10:26, 8.86 K) / 该附件被下载次数 17
http://bbs.chinaunix.net/attachment.php?aid=121671
作者: boyssl 时间: 2005-11-28 15:27
请问 fc3 里的vim 目录在什么地方 rh9 是在/usr/share/vim fc3 在哪呢?
作者: hkdjining 时间: 2005-11-29 09:01
QUOTE:
原帖由 benlan 于 2004-12-28 10:24 发表
vi 处理多个文件编辑有什么法子?
我一般是用vi file1 file2 file3...
然后用n N first last切换
我先vi aa.c bb.c cc.c,然后我:n N first last,比如我在aa.c编辑界面下,为什么打开的是N这个文件呀,不能切换呀!
作者: albcamus 时间: 2005-11-29 11:03
QUOTE:
原帖由 boyssl 于 2005-11-28 15:27 发表
请问 fc3 里的vim 目录在什么地方 rh9 是在/usr/share/vim fc3 在哪呢?
rpm -ql vim
作者: THEBEST 时间: 2005-11-30 10:24
如何删除一相对应{}间的所有行?
作者: assiss 时间: 2005-11-30 10:49
QUOTE:
原帖由 THEBEST 于 2005-11-30 10:24 发表
如何删除一相对应{}间的所有行?
我只会用da{,这样会把{}一起删掉。
有更好的请支招。
作者: 雨丝风片 时间: 2005-11-30 11:50
QUOTE:
原帖由 assiss 于 2005-11-30 10:49 发表
我只会用da{,这样会把{}一起删掉。
有更好的请支招。
di{

作者: leyyer 时间: 2005-11-30 15:11
QUOTE:
原帖由 THEBEST 于 2005-11-30 10:24 发表
如何删除一相对应{}间的所有行?
diB
作者: THEBEST 时间: 2005-11-30 16:56
QUOTE:
原帖由 xujie0724 于 2005-11-22 14:25 发表
在vi里make报程序有错后,我已经修改了第一个错误,我怎么显示第二个错误和调到那一行呢??难道要再重新make再跳到出错的地方??
为什么我在vim中make就不会自动跳亚?是不是要设置什么的?
作者: xwzss 时间: 2005-12-1 11:10
用vim打开一个文件,请问怎么删除里面所有的内容???呵,刚用vim。
作者: sttty 时间: 2005-12-1 11:16
问大家一个问题
:vsp 份屏操作
如何在不退出左边的情况下 在右边执行shell
如果用 :sh 的话左边的内容也将不会看到。
这个功能emacs里有, vim 能不能实现呢?
谢谢!
作者: leyyer 时间: 2005-12-1 11:50
QUOTE:
原帖由 xwzss 于 2005-12-1 11:10 发表
用vim打开一个文件,请问怎么删除里面所有的内容???呵,刚用vim。
ggVGd
你新建一个文件吧!

[ 本帖最后由 leyyer 于 2005-12-1 11:51 编辑 ]
作者: THEBEST 时间: 2005-12-1 13:10
QUOTE:
原帖由 xujie0724 于 2005-11-22 14:25 发表
在vi里make报程序有错后,我已经修改了第一个错误,我怎么显示第二个错误和调到那一行呢??难道要再重新make再跳到出错的地方??
为什么我的不会自动跳到第一个出错地方?是否要设置什么的?
作者: sttty 时间: 2005-12-1 13:34
请问装了 cscope 后还用装 cscope_macros.vim 插件么?
作者: napleon 时间: 2005-12-1 20:42
如何将整个PROJECT都整到一个tags中?
作者: 雨丝风片 时间: 2005-12-2 19:07
QUOTE:
原帖由 napleon 于 2005-12-1 20:42 发表
如何将整个PROJECT都整到一个tags中?
到PROJECT根目录下去整!
作者: 雨丝风片 时间: 2005-12-2 19:12
QUOTE:
原帖由 sttty 于 2005-12-1 13:34 发表
请问装了 cscope 后还用装 cscope_macros.vim 插件么?
看你认不认可该插件作者的习惯了。
作者: sttty 时间: 2005-12-3 17:04
我安装了 cscope 后为什么 cscope -b 可以成生数据库 , cs show 有显示 但是执行 cs find g *** 总是显示错误。 什么原因呢!
作者: sttty 时间: 2005-12-3 17:07
QUOTE:
原帖由 sttty 于 2005-12-1 11:16 发表
问大家一个问题
:vsp 份屏操作
如何在不退出左边的情况下 在右边执行shell
如果用 :sh 的话左边的内容也将不会看到。
这个功能emacs里有, vim 能不能实现呢?
谢谢!
谁能回答一下。 这个在开发和调试程序的时候很有用, 不用再开更多的窗口。
谢谢
作者: sttty 时间: 2005-12-3 17:09
QUOTE:
原帖由 THEBEST 于 2005-12-1 13:10 发表
为什么我的不会自动跳到第一个出错地方?是否要设置什么的?
是不是已经跳到了,你没有注意。 要么就是你少了什么插件。
rh9 装好后 vim 里是支持的。 
作者: THEBEST 时间: 2005-12-5 13:33
QUOTE:
原帖由 sttty 于 2005-12-3 17:09 发表
是不是已经跳到了,你没有注意。 要么就是你少了什么插件。
rh9 装好后 vim 里是支持的。
一定注意了.插件?如果默认有的话我的应该有装了的,用的是RHEL3. VIM version 6.3.34
作者: THEBEST 时间: 2005-12-5 13:35
在VIM中如何使得源码中的TAB全部用相应的空格替换?比如四空格.
在.vimrc中设置自动语法对齐后能不能设置用空格来补充前面的对齐位?
作者: weismart 时间: 2005-12-5 23:25 标题: 我也想知道
QUOTE:
原帖由 THEBEST 于 2005-12-5 13:35 发表
在VIM中如何使得源码中的TAB全部用相应的空格替换?比如四空格.
在.vimrc中设置自动语法对齐后能不能设置用空格来补充前面的对齐位?
我也想知道。我的方法是:编完代码后
:%s/\^I/\ /g
其中^I为tab
谁知道如何按TAB直接出来就四空格
因为看代码上下移动光标特别是要成段看代码时当光标经过TAB键后,不知道哪个对哪个了。比如:
begin
if
begin
if
TAB--这儿开始有个tab
tab tab --这儿有两个tab
........................
这儿有几百行代码
end if
end———我要找这个end 对应的begin,先光标移到end前然后向上移
--可是经过上面那个 tab键时,光标乱了.
end if
end;
begin
end 配对查找可用%,可行数太多了,就不灵了。
如果每次按tab都出来实质上的四空格,那按 j k 移光标就不会出现乱跳了,但不懂如何实现。
end
作者: xujie0724 时间: 2005-12-6 14:12
QUOTE:
原帖由 THEBEST 于 2005-12-5 13:35 发表
在VIM中如何使得源码中的TAB全部用相应的空格替换?比如四空格.
在.vimrc中设置自动语法对齐后能不能设置用空格来补充前面的对齐位?
:set ts=4
:set expandtab
:%retab
作者: Benson_linux 时间: 2005-12-6 16:28
请问vi中
vsp 分割窗口后怎么调整窗口的大小?
作者: wangrujun 时间: 2005-12-9 10:49
vim 中使用 ctag,可以用ctlr+] 找到 定义,但是有没有办法 跳转到调用者那儿的呢?
作者: chenyajun5 时间: 2005-12-9 18:11
楼上的这个问题我也想知道。。
作者: ____aj 时间: 2005-12-10 17:54
ctrl+o和ctrl+t都可以,但是要找到调用这个函数的列表好象不行,至少ctags不行。
*29.1* 使用tags
tag是什么? 一个位置. 记录了关于一个标识符在哪里被定义的信
息. 比如C或C++程序中的一个函数定义. 这种tag聚集在一起被放入一
个tags文件. 这个文件可以让Vim能够从任何位置起跳达到tag所指示的位
置--标识符被定义的位置.
作者: karl412 时间: 2005-12-11 13:12 标题: [新问题]有关在slackware下面设置自动缩进
在slackware10.1版本
login以root身份
vi ~/.vimrc
vi ~/.exrc
都新建 修改了 就是不起作用
修改内容如下:
set background=dark
set cindent
set cino=j1
set fileencodings=utf8,gb18030,big5
set formatoptions=rotcql
set hlsearch
set ic "ignore case
set incsearch
set nocompatible
set shiftwidth=4
set smarttab
set tabstop=4
set tags=/usr/src/linux/tags
set wildmenu
"set spell
"set mouse=a
syntax on
filetype plugin indent on
然后注销掉 重新登入 还是不起作用
只能在vi filename进入命令行 :set ai
才能自动缩进
怎么才能使VI编辑器默认换行???
作者: sttty 时间: 2005-12-12 22:28
请问: 如何在中断上 删除一个字段 ? 前后跳跃一个字段? 从e 直接跳到 第一个t然后删除test 字段。
[root@host root]# cp test ove
经常用emacs 应该对这个比较熟悉。
作者: eikes 时间: 2005-12-13 15:53 标题: 关于calendar.vim
我的这个calendar.vim,不像taglist.vim,处于打开状态再执行一次命令可以收回窗口;需要怎么修改脚本呢???肯定有人改过这个了吧?谢谢!
作者: weismart 时间: 2005-12-13 23:43 标题: 如何插入换行
1,2,3,4,5 这样的行
想变成
1,
2,
3,
4,
5
如何操作
我%s /,/,\$/g
不行
%s/,/,\n/g
也不行。
不知在vim中插入特殊字符应如何写
转义是行不通的。
作者: 雨丝风片 时间: 2005-12-14 07:46
QUOTE:
原帖由 weismart 于 2005-12-13 23:43 发表
1,2,3,4,5 这样的行
想变成
1,
2,
3,
4,
5
如何操作
我%s /,/,\$/g
不行
%s/,/,\n/g
也不行。
不知在vim中插入特殊字符应如何写
转义是行不通的。
:%s/,/,^M/g
作者: ____aj 时间: 2005-12-14 10:06
void foo()
{
g_a += FONT_WIDT;
}
比如文件中有很多这样的FONT_WIDT需要修改为FONT_WIDTH,
用命令:1,$ s/FONT_WIDT/FONT_WIDTH/g可以搞定,
在输入命令FONT_WIDT的时候可否自动补齐,如果字符串很长,也比较容易出错?谢谢
作者: leyyer 时间: 2005-12-14 17:33
QUOTE:
原帖由 ____aj 于 2005-12-14 10:06 发表
在输入命令FONT_WIDT的时候可否自动补齐,如果字符串 ...
在插入模式下试试^p or ^n
作者: bigapple2008 时间: 2005-12-15 14:59
大家都知道Crtl+%可以匹配括号和一些有对应的符号。
我现在用vi来写一种语言,能不能自己定义匹配的条件呢。比如我是用begin和end来匹配的。
我希望在begin的地方使用Crtl+%跳到end的地方。
作者: sttty 时间: 2005-12-15 19:07
QUOTE:
原帖由 sttty 于 2005-12-12 22:28 发表
请问: 如何在中断上 删除一个字段 ? 前后跳跃一个字段? 从e 直接跳到 第一个t然后删除test 字段。
[root@host root]# cp test ove
经常用emacs 应该对这个比较熟悉。
up
作者: joefun 时间: 2005-12-16 02:59
QUOTE:
原帖由 kukoo 于 2005-4-5 23:01 发表
自问自答:
第三个解决了:
map! <C-h>; <C-o>;h
map! <C-j>; <C-o>;j
map! <C-k>; <C-o>;k
map! <C-l>; <C-o>;l
这样在编辑的时候就可以不敲Esc还是用hj ...
以上我在6.4的win32版本中都不行,下面的映射才可以
map! <C-J> <ESC>ja 插入模式下,使用ctrl+J向下移动一行
map! <C-K> <ESC>ka 插入模式下,使用ctrl+K向上移动一行
map! <C-H> <ESC>ha 插入模式下,使用ctrl+H向上移动一列
map! <C-L> <ESC>la 插入模式下,使用ctrl+L向上移动一行
作者: weicr 时间: 2005-12-16 10:29 标题: match.vim
QUOTE:
原帖由 bigapple2008 于 2005-12-15 14:59 发表
大家都知道Crtl+%可以匹配括号和一些有对应的符号。
我现在用vi来写一种语言,能不能自己定义匹配的条件呢。比如我是用begin和end来匹配的。
我希望在begin的地方使用Crtl+%跳到end的地方。
到vim老家看看,下个matchit.vim
详见我的blog
作者: THEBEST 时间: 2005-12-16 11:13
QUOTE:
使 用 键 盘
如果你不喜欢使用鼠标,你可以通过两个寄存器来使用 "当前选中" 和 "真剪贴板" 两
个剪贴板。"* 寄存器用于表示当前选中。
要使文本变成 "当前选中",只要使用可视模式即可。例如,要选中一整行只要输入
"V"。
要拷贝当前选中的内容:
"*P
注意这里 "P" 是大写,表示把文字拷贝到光标的前面。
"+ 寄存器用于真剪贴板。例如,要把当前光标位置到行末的文本拷到真剪贴板:
"+y$
记得吧,"y" 是 yank,这是 Vim 的拷贝命令。
要把真剪贴板的内容拷到光标前面:
"+P
这与 "当前选中" 一样,只是用 (+) 寄存器取代了 (*) 寄存器。
为什么我试了一下在两个窗口中打开的广本中复制粘贴不了的呢?
作者: hkdjining 时间: 2005-12-19 11:05
QUOTE:
在该插件的安装说明中有:
Download the taglist.zip file and unzip the files to the $HOME/.vim or the
$HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
have the following two files (the directory structure should be preserved):
为什么我的linux(RedHat 9)这些目录都没有呀,像.vim以及.vimfiles这些目录都没有,不知道该怎么办,还是自己新创建一个这样的目录呀?我是用普通用户登陆的
作者: 盲炳 时间: 2005-12-20 18:10 标题: 如何在VIM中对多个文件执行脚本?
我新建以下的简单脚本文件 script:
%s/xxx/yyy/g
执行以下命令:
vim -s script file1 //成功把file1中的xxx替换成yyy
但我想对多个文件执行此脚本时,执行以下命令;
vim -s script file1 file2 //执行失败,对file1执行脚本后,vim会停下来,并不对file2执行脚本
请问如何对多个文件执行这个脚本?
先谢谢了……
作者: Benson_linux 时间: 2005-12-23 09:55
回楼上的:
这个时候你可能需要一个简单的shell脚本就可以了。
作者: weismart 时间: 2005-12-26 10:40 标题: 的缓冲区做成tabbrowse如何把gvim(windows)
用gvim打开多个文件时,想把它显示象ultraedit 的标签模式,即是firefox的tabbrowse方式,或者是
myIE的标签模式(打开多个文件,每个文件都在窗口中显示它的标题,我想用哪个点击标题就行了)
作者: weicr 时间: 2005-12-27 16:40 标题: 回复 329楼 weismart 的帖子如何自动将gvim窗口最大化
au GUIEnter * simalt ~x
加入到_vimrc
[ 本帖最后由 weicr 于 2005-12-27 17:31 编辑 ]
作者: weicr 时间: 2005-12-28 10:04 标题: 用外挂插件可解决你的问题
QUOTE:
原帖由 weismart 于 2005-12-26 10:40 发表
用gvim打开多个文件时,想把它显示象ultraedit 的标签模式,即是firefox的tabbrowse方式,或者是
myIE的标签模式(打开多个文件,每个文件都在窗口中显示它的标题,我想用哪个点击标题就行了)
插件名
minibufexpl.vim
在google里头找一下,在vim老家有的,我现在正在使用。
很好用
作者: weicr 时间: 2005-12-28 10:23 标题: 没用过的人是不会体会到的。确实比UE好。
QUOTE:
原帖由 playmud 于 2004-12-27 15:20 发表
第一次看见说比ue还好用的.
没用过的人是不会体会到的。确实比UE好,而且好的不止一点点。
作者: leyyer 时间: 2005-12-29 13:59
我的vim, set cindent后却不起作用了,是什么问题?怎么解决呀?
作者: xue-feng 时间: 2006-1-2 23:02
我想问两个问题
1、如何能在insert模式下,删除插入点之前的内容? 比如 it 's a fine day! ,我在 fine 的地方插入,然后输入,能不能backspace 到fine之前的内容?
2、auto indent之后,结束的 } 并没有回到 { 位置,而是和上一行一样,如何解决?
谢谢
作者: leyyer 时间: 2006-1-3 12:07
[quote]原帖由 xue-feng 于 2006-1-2 23:02 发表
1、如何能在insert模式下,删除插入点之前的内容? 比如 it 's a fine day! ,我在 fine 的地方插入,然后输入,能不能backspace 到fine之前的内容?
CRTL+U 前面一行
CTRL+W 前面一单词
作者: qyxl_cct 时间: 2006-1-3 13:10
请教个问题: vi里怎样支持中文?; vi里怎样可以阅读HEX进制文件呀?
作者: xue-feng 时间: 2006-1-3 14:43
QUOTE:
原帖由 leyyer 于 2006-1-3 12:07 发表
[quote]原帖由 xue-feng 于 2006-1-2 23:02 发表
1、如何能在insert模式下,删除插入点之前的内容? 比如 it 's a fine day! ,我在 fine 的地方插入,然后输入,能不能backspace 到fine之前的内容?
CRTL+U 前面一行
CTRL+W 前面一单词
...
不行,我是在 fine 之前插入,想把前面 a 的删除,不离开插入模式能做到吗?
作者: weismart 时间: 2006-1-4 17:55 标题: 同时使用minibuffer和TagList时开出一大堆窗口
同时使用minibuffer和TagList
如果在vim中打开几个文件,则按CTR+TAB时,每移动过一个文件名,则显示这个文件的内容。
如果此时Tlist一把,则当前窗口文件是变量就被list出来,此时再按CTR+TAB,麻烦的事来了,
文件显示窗口被分割成两个或多个窗口,每个窗口显示不同的文件。我不想文件显示窗口被分成如此多个窗口,
如何处理?????
作者: gongsx 时间: 2006-1-5 13:32 标题: 请教vi中对C代码自动缩进的方法。
我在.vimrc添加了set autoindent这一行,但使用vi写C代码时不知道怎么使用vi的缩进功能,请各位指教
作者: xue-feng 时间: 2006-1-5 20:56
set cindent
作者: weicr 时间: 2006-1-7 00:23 标题: 解决minibuffer与 Taglist乱开窗口
QUOTE:
原帖由 weismart 于 2006-1-4 17:55 发表
同时使用minibuffer和TagList
如果在vim中打开几个文件,则按CTR+TAB时,每移动过一个文件名,则显示这个文件的内容。
如果此时Tlist一把,则当前窗口文件是变量就被list出来,此时再按CTR+TAB,麻烦的事来 ...
同时打开几个文件后,只要点左边List中的一个Tag
然后随你CTL+TAB都不会乱开窗口了,我就这么用。
谁有更好的方法请跟。
[ 本帖最后由 weicr 于 2006-1-7 00:56 编辑 ]
作者: snow888 时间: 2006-1-7 14:15 标题: 这么麻烦,给你们一个!
一个使用资料,自己解压!
附件:
vim_user_manual_630.0.part1.rar (2006-1-7 14:15, 500 K) / 该附件被下载次数 16
http://bbs.chinaunix.net/attachment.php?aid=126760
作者: snow888 时间: 2006-1-7 14:19 标题: 这么麻烦,给你们一个!
一个使用资料,自己解压!
附件:
vim_user_manual_630.0.part2.rar (2006-1-7 14:19, 500 K) / 该附件被下载次数 15
http://bbs.chinaunix.net/attachment.php?aid=126761
作者: snow888 时间: 2006-1-7 14:21 标题: 这么麻烦,给你们一个!
一个使用资料,自己解压!
附件:
vim_user_manual_630.0.part3.rar (2006-1-7 14:21, 500 K) / 该附件被下载次数 18
http://bbs.chinaunix.net/attachment.php?aid=126762
作者: snow888 时间: 2006-1-7 14:23 标题: 这么麻烦,给你们一个!
一个使用资料,自己解压!
附件:
vim_user_manual_630.0.part4.rar (2006-1-7 14:23, 249 K) / 该附件被下载次数 15
http://bbs.chinaunix.net/attachment.php?aid=126763
作者: ywei_bbs 时间: 2006-1-11 10:53 标题: 怎么设置VIM的工作目录?
例如:
vim example/test1/makefile
然后在vim中
:!make
提示找不到makefile文件
:sh
发现提示符还在用户目录中
:cd %:h
进入example/test1/
:!make
一切正常
问题是:怎么设置能让我打开example/test1/makefile就自动进入example/test1/目录?
翻了一下文档用一个笨办法实现了
在.vimrc中加入下面一行
autocmd BufReadPost * cd %:h
[ 本帖最后由 ywei_bbs 于 2006-1-13 13:20 编辑 ]
作者: bigapple2008 时间: 2006-1-11 13:57
用vi打开了好多文件,都是在buffer中的。跳转是用:b 3就可以了。有时候文件很多,就需要关掉其中的几个。不知道用什么命令。
比如
:buffers显示了10个文件,我想把里面的第4个关掉。
作者: aux888 时间: 2006-1-11 15:43
老大
我也问一下,editplus中打一个if 就自动出现( ;
{........}.
vim中要怎样设置?很想知道.
作者: 大块头 时间: 2006-1-16 16:09
很高兴见到flw开的这个帖子
有个问题是在VI中回车以后光标自动跳到下一样的开始,如果要想让它自动对齐上一行应该怎么设置呢?比如:
aaaaa(回车)
bbbbb
谢谢.
作者: weismart 时间: 2006-1-17 10:23
QUOTE:
原帖由 大块头 于 2006-1-16 16:09 发表
很高兴见到flw开的这个帖子
有个问题是在VI中回车以后光标自动跳到下一样的开始,如果要想让它自动对齐上一行应该怎么设置呢?比如:
aaaaa(回车)
bbbbb
谢谢.
几百年不见flw回答问题了。
也不知是怎么回事???????????????????
作者: bigapple2008 时间: 2006-1-17 16:16
QUOTE:
原帖由 大块头 于 2006-1-16 16:09 发表
很高兴见到flw开的这个帖子
有个问题是在VI中回车以后光标自动跳到下一样的开始,如果要想让它自动对齐上一行应该怎么设置呢?比如:
aaaaa(回车)
bbbbb
谢谢.
如果你是写C代码的话,试试:set cindent
作者: 大块头 时间: 2006-1-17 17:00





感谢bigapple2008
果然可以
另外我想每次进vi的时候默认都采用这样的设置,有什么办法吗?
[ 本帖最后由 大块头 于 2006-1-17 19:09 编辑 ]
作者: bigapple2008 时间: 2006-1-18 10:54
QUOTE:
原帖由 大块头 于 2006-1-17 17:00 发表





感谢bigapple2008
果然可以
另外我想每次进vi的时候默认都采用这样的设置,有什么办法吗? 把这句话写在 .vimrc里试试看,这个隐藏文件在你的主目录下的,一般情况
作者: lahooo 时间: 2006-1-18 16:38 标题: 回复 585楼 bigapple2008 的帖子
:4 bdelete
作者: lahooo 时间: 2006-1-18 16:41
QUOTE:
原帖由 bigapple2008 于 2006-1-11 13:57 发表
用vi打开了好多文件,都是在buffer中的。跳转是用:b 3就可以了。有时候文件很多,就需要关掉其中的几个。不知道用什么命令。
比如
:buffers显示了10个文件,我想把里面的第4个关掉。
:4 bdelete or
:4 bwipeout
bdelete是隐藏 bwipeout是删除
作者: lahooo 时间: 2006-1-18 16:56
QUOTE:
原帖由 xue-feng 于 2006-1-2 23:02 发表
我想问两个问题
1、如何能在insert模式下,删除插入点之前的内容? 比如 it 's a fine day! ,我在 fine 的地方插入,然后输入,能不能backspace 到fine之前的内容?
2、auto indent之后,结束的 } 并没有回到 ...
1.不退出insert模式删除到a: Ctrl+O dFa (不删除a: Ctrl+O dTa)
2. set showmatch
作者: lahooo 时间: 2006-1-18 17:18
QUOTE:
原帖由 盲炳 于 2005-12-20 18:10 发表
我新建以下的简单脚本文件 script:
%s/xxx/yyy/g
执行以下命令:
vim -s script file1 //成功把file1中的xxx替换成yyy
但我想对多个文件执行此脚本时,执行以下命令;
vim -s script file1 file2 //执 ...
有N种方法:
1. 建立个脚本文件script
:%s/xxx/yyy/g

写个shell脚本run.sh
#!/usr/bin/ksh
for file in file*; do
vim -e -s $file < script
done
执行run.sh
2. vim file1 file2 ...
执行以下命令:
:argdo %s/xxx/yyy/ge|update
3.sed也可以实现...
4....条条大路通罗马...
作者: bluedreammer 时间: 2006-1-20 10:53 标题: 如何让taglist默认在右侧出现?
如何让taglist默认在右侧出现呢?用gvim的~~~
在网上原来有看到,现在找不到了~~~
作者: bigapple2008 时间: 2006-1-20 15:47
QUOTE:
原帖由 lahooo 于 2006-1-18 16:41 发表
:4 bdelete or
:4 bwipeout
bdelete是隐藏 bwipeout是删除
果然可以的,不过再问一句,隐藏的怎么可以恢复呢
作者: cgxu 时间: 2006-1-23 13:50
我想问一下,在vim中split分屏以后文档里面说可以用CTRL-w +来调节高度
但是我用CTRL-w时间稍微一场就跳到另外的窗口上面了,不知道还有没有别的什么
方法调节,窗口高度?
作者: lahooo 时间: 2006-1-24 10:41
QUOTE:
原帖由 cgxu 于 2006-1-23 13:50 发表
我想问一下,在vim中split分屏以后文档里面说可以用CTRL-w +来调节高度
但是我用CTRL-w时间稍微一场就跳到另外的窗口上面了,不知道还有没有别的什么
方法调节,窗口高度?
你可能按错键了吧? CTRL-w +:同时按住control和w键,松开再按shift和+键
Ctrl-w + 增加窗口高度尺寸
Ctrl-w - 减少窗口高度尺寸
Ctrl-w < 增加窗口宽度尺寸(只对垂直分割的窗口有效)
Ctrl-w > 减少窗口宽度尺寸(只对垂直分割的窗口有效)
Ctrl-w = 使窗口尺寸相等
{num}Ctrl-w _ 将窗口高度尺寸设置为num行
作者: lahooo 时间: 2006-1-24 10:56
QUOTE:
原帖由 bigapple2008 于 2006-1-20 15:47 发表
果然可以的,不过再问一句,隐藏的怎么可以恢复呢
严格地说bdelete是不是隐藏缓冲区,而是将"缓冲区"变为"非列表缓冲区",即用缓冲区列表命令 :ls or :files or :buffers查看时不显示.
要隐藏缓冲区用命令: :hide 4, 恢复 :unhide 4 ,查看所有缓冲区命令 :ls! or :files! or :buffers!
:help buffer-hidden有详细的解释
作者: lahooo 时间: 2006-1-24 11:07
QUOTE:
原帖由 bluedreammer 于 2006-1-20 10:53 发表
如何让taglist默认在右侧出现呢?用gvim的~~~
在网上原来有看到,现在找不到了~~~
在.vimrc(Unix)或_vimrc(Windows)里设置let Tlist_Use_Right_Window = 1
:help Tlist有详细说明
作者: hisher 时间: 2006-1-25 09:17
求教: 1. vi怎么实现从一段代码从一个文件复制到另一个文件呢?
2. 我怎么才能知道前面是否有人问过这问题呢?把帖子全看了好像不大可能矣
作者: lahooo 时间: 2006-1-25 11:30
QUOTE:
原帖由 hisher 于 2006-1-25 09:17 发表
求教: 1. vi怎么实现从一段代码从一个文件复制到另一个文件呢?
2. 我怎么才能知道前面是否有人问过这问题呢?把帖子全看了好像不大可能矣
1.是vi还是vim?
假如有a.c文件和b.c文件,要把a文件function一段代码复制到b.c文件
a.c:
..
..
void function()
{
...
...
}
...
..
vi操作:
vi a.c
光标定位到"void function()",按ma,做标记a
然后将光标定位到"}",按"by'a,做复制操作,复制内容是从当前光标到标记a之间的代码,复制的内容存到寄存器a
:e b.c
按"bp即可粘贴
vim操作:
vim操作与vi类似,也可以用可视模式更直观些.
可视模式:按V键选择要复制的代码,"by复制,"bp粘贴
2.用论坛的"搜索"功能呀。
作者: lahooo 时间: 2006-1-25 11:36
QUOTE:
原帖由 hisher 于 2006-1-25 09:17 发表
求教: 1. vi怎么实现从一段代码从一个文件复制到另一个文件呢?
2. 我怎么才能知道前面是否有人问过这问题呢?把帖子全看了好像不大可能矣
sorry,上面有点错误。
1.是vi还是vim?
假如有a.c文件和b.c文件,要把a.c文件function一段代码复制到b.c文件
a.c:
..
..
void function()
{
...
...
}
...
..
vi操作:
vi a.c
光标定位到"void function()",按ma,做标记a
然后将光标定位到"}",按"by'a,做复制操作,复制内容是从当前光标到标记a之间的代码,复制的内容存到寄存器b
:e b.c
按"bp即可粘贴
vim操作:
vim操作与vi类似,也可以用可视模式更直观些.
可视模式:按V键选择要复制的代码,"by复制,"bp粘贴
2.用论坛的"搜索"功能呀。
其实你有任何问题都可以用google搜索一下,google就是一个现成的大知识库。
作者: THEBEST 时间: 2006-1-25 12:44
我在.vimrc配置了一下自己喜欢的方式写代码.请问如何让系统中的所有用户都使用这个方式而不是把.vimrc同时COPY到各个用户的home下呢?是不是可以在安装目录哪里放一个?但不知道该是哪.
作者: lahooo 时间: 2006-1-26 11:07
QUOTE:
原帖由 THEBEST 于 2006-1-25 12:44 发表
我在.vimrc配置了一下自己喜欢的方式写代码.请问如何让系统中的所有用户都使用这个方式而不是把.vimrc同时COPY到各个用户的home下呢?是不是可以在安装目录哪里放一个?但不知道该是哪.
系统范围内使用:把.vimrc 改名为vimrc,拷到$VIM目录下即可。$VIM一般是/usr/local/share/vim。
其实你只要跟踪一下vim运行就可以找到答案:solaris下: truss vim tmp.c 2> truss.log,按:q退出vim,分析truss.log你就会发现vim会先找$VIM/vimrc文件再找$HOME/.vimrc文件
作者: lahooo 时间: 2006-1-26 16:23 标题: 回复 606楼 lahooo 的帖子
补充:跟踪系统调用命令:Linux下用strace ,HP-UX下用tusc(http://www.hp.com/workstations/s ... mcc/perf_tools.html下载)。看看vim的系统调用。
作者: THEBEST 时间: 2006-1-27 16:09
不过好像是在/etc/vimrc下面亚.没有找到在$VIM下的vimrc里去找.我是用strace里看的.实际上不知道如何.
作者: wshd 时间: 2006-1-27 16:15 标题: 都看完了,做个记号
发现在那个手册里,差不多都讲到了~~
怎么就不多看看手册呢~~
作者: yuhualian 时间: 2006-1-31 10:33 标题: 我初接触VIM,
不知道进入之后怎样建立一个新的文档,和如何存盘退出,帮帮忙了
作者: spearous 时间: 2006-2-2 18:22
我在windows xp地下用的,vim64,为什么运行之后,只是一开始显示帮助的那个页面,然后怎么也不动了?是不是要在命令行里面运行?
还有,插件的*.vim文件拷到\vim64\就行了吧?要不要运行什么命令?
这次懒了点,莫怪,呵呵~~~
作者: spearous 时间: 2006-2-2 18:24
还有,我看了一个在eclipse里用GTK+库的,想在vi里用,怎么也搞不好。。。ft了~~
谢谢了
作者: lahooo 时间: 2006-2-5 08:56
QUOTE:
原帖由 spearous 于 2006-2-2 18:22 发表
我在windows xp地下用的,vim64,为什么运行之后,只是一开始显示帮助的那个页面,然后怎么也不动了?是不是要在命令行里面运行?
还有,插件的*.vim文件拷到\vim64\就行了吧?要不要运行什么命令?
这次懒 ...
这属于vim使用入门问题,建议您先仔细看看vim用户手册或联机帮助,那里有非常详细的说明而且是中文的。如果联机帮助都懒得看,到这里提问也是没有人会回答的。
作者: cgxu 时间: 2006-2-6 13:21
在vim的帮助文档里说到 f,F,t,T 命令都可以利用;和, 继续查找
但是我的实验结果是f,F可以 t,T不可以
当用t或者T搜索以后就不能继续进行搜索(用;或者从新用t命令都没用)
有谁能告知一下怎么回事??
作者: lahooo 时间: 2006-2-7 16:28
QUOTE:
原帖由 cgxu 于 2006-2-6 13:21 发表
在vim的帮助文档里说到 f,F,t,T 命令都可以利用;和, 继续查找
但是我的实验结果是f,F可以 t,T不可以
当用t或者T搜索以后就不能继续进行搜索(用;或者从新用t命令都没用)
有谁能告知一下怎么回事??
确实是这样,不知道为什么会这样
。当用t或者T搜索以后要移动一下位置才能继续进行搜索(如:按一下l键)
作者: always8 时间: 2006-2-8 07:08
我的Vim不能自动换行,用了命令set textwidth=65也不行
作者: 大块头 时间: 2006-2-8 21:22
各位,我用vi时感觉TAB的距离太大,能不能调整的呢?
还有就是如何保存这个设置以后再打开vi也使用它。
我运行ctags -R命令提示没有找到,但这个不是默认安装的吗?
请指教。谢谢
[ 本帖最后由 大块头 于 2006-2-8 21:28 编辑 ]
作者: lahooo 时间: 2006-2-9 15:30
Unix/Linux下vim对二进制文件识别功能的改进
vim支持二进制文件编辑,一般在.vimrc里加入以下语句:
augroup Binary
au!
au BufReadPre *.bin let &bin=1
au BufReadPost *.bin if &bin | %!xxd
au BufReadPost *.bin set ft=xxd | endif
au BufWritePre *.bin if &bin | %!xxd -r
au BufWritePre *.bin endif
au BufWritePost *.bin if &bin | %!xxd
au BufWritePost *.bin set nomod | endif
augroup END
平常使用时比较麻烦,二进制文件要先改成.bin后缀vim才能识别,其实利用Unix/Linux的file命令就可以识别出二进制文件,上述语句改为:
augroup Binary
au!
au BufReadPre * let binf= system("file ".expand("%")) | if binf=~ "^IELF" || binf =~ "^I数据" || binf =~ "^Idata" |let &bin=1 | endif
au BufReadPost * if &bin | %!xxd
au BufReadPost * set ft=xxd | endif
au BufWritePre * if &bin | %!xxd -r
au BufWritePre * endif
au BufWritePost * if &bin | %!xxd
au BufWritePost * set nomod | endif
augroup END
二进制文件再也不需要改名了,vim借助file命令自动识别,挺方便的,大家有兴趣可试试。
注意:
"^IELF" 和 "^I数据" 里的"^I"是Tab制表符,不是"^"和"I"
file命令输出随环境参数LANG变化,export LANG=zh: (solaris)
file hello
hello: ELF 32-位 MSB 可执行 SPARC 版本 1,动态链接,没有除去
file 5ess.dat
5ess.dat: 数据
export LANG=C:
file 5ess.dat
5ess.dat: data
作者: flw 时间: 2006-2-11 16:24
QUOTE:
原帖由 大块头 于 2006-2-8 21:22 发表
各位,我用vi时感觉TAB的距离太大,能不能调整的呢?
还有就是如何保存这个设置以后再打开vi也使用它。
我运行ctags -R命令提示没有找到,但这个不是默认安装的吗?
请指教。谢谢
set tabstop=4 设置 TAB 键按 4 个空格对齐。
ctags 是外部程序,win32 下的 gvim 发布捆绑了一个 ctags.exe,不过或许你得先设置一下环境变量 PATH 才行。
linux 默认是安装有 ctags 的,不过如果你的系统是个简化过的系统那也可能没有。
无论如何,ctags.sf.net 上都可以下载 ctags,你也可以自己安装一个。
作者: 大块头 时间: 2006-2-11 21:21
flw老大终于来了,爽
作者: 大块头 时间: 2006-2-11 21:23
我用set tabstop=4 设置过了,但是关闭文件再打开以后又变成8个空格了,怎么保存这个设置啊
作者: flw 时间: 2006-2-12 01:59
QUOTE:
原帖由 大块头 于 2006-2-11 21:23 发表
我用set tabstop=4 设置过了,但是关闭文件再打开以后又变成8个空格了,怎么保存这个设置啊
进入 vim,依次输入以下字符序列
:e ~/.vimrc
Goset tabstop=4
<ESC>:x
就可以了。
作者: wflyfox 时间: 2006-2-13 14:29 标题: 如果用ssh连接远程的服务器,怎么设置语法高亮显示。
好像ssh没有提供ansi终端类型。。
作者: 大块头 时间: 2006-2-13 20:09
谢了flw老大,不知道老大的那张照片哪里弄的啊,好漂亮,呵呵
作者: flw10000 时间: 2006-2-14 16:35
请教:
怎样在一个文件中将匹配到字符串的所有行保存到另一个文件中
如 file内容如下:
1 Specify which pager to use.
2 environment variable, which aaaa
3 By default, man uses aaaa
在其中查找 “aaaa"
因为2和3行有匹配的串(实际可能有很多且不连续,所以如何将2,3行保存到另一个文件!
谢谢
作者: wflyfox 时间: 2006-2-16 09:29 标题: 用sed就可以了吧
sed -n '/aaaa/p' > file2
作者: flw10000 时间: 2006-2-16 10:09
QUOTE:
原帖由 wflyfox 于 2006-2-16 09:29 发表
sed -n '/aaaa/p' > file2
谢谢
作者: flw 时间: 2006-2-16 12:59
QUOTE:
原帖由 wflyfox 于 2006-2-16 09:29 发表
sed -n '/aaaa/p' > file2
grep aaaa file1 > file2
作者: weicr 时间: 2006-2-16 14:53 标题: 请老大解决575和579的问题
QUOTE:
原帖由 weismart 于 2006-1-4 17:55 发表
同时使用minibuffer和TagList
如果在vim中打开几个文件,则按CTR+TAB时,每移动过一个文件名,则显示这个文件的内容。
如果此时Tlist一把,则当前窗口文件是变量就被list出来,此时再按CTR+TAB,麻烦的事来 ...
同时打开几个文件后,只要点左边List中的一个Tag
然后随你CTL+TAB都不会乱开窗口了,我就这么用。
谁有更好的方法请跟。
老大一定有更好的办法。
作者: wflyfox 时间: 2006-2-16 15:46 标题: 有个正则表达式的patten看不懂,不知道能不能发到这里,如果发错了地方,请原谅。
/modules\/\([^/ ]*\)\/*/
截取sed的被替换字符串,看不明白阿
作者: morgannet 时间: 2006-2-17 23:15
请问版主如何在gvim中设置文件打开时的初始路径(Linux系统)?默认是在HOME文件夹下。应在.gvimrc文件中添加什么命令?多谢!
作者: flw10000 时间: 2006-2-19 12:57
QUOTE:
原帖由 flw 于 2006-2-16 12:59 发表
grep aaaa file1 > file2
谢谢!
作者: LnBSD 时间: 2006-2-21 21:53
跟帖一个
http://www.sysinfo.cn/index.php?action=show&id=295
作者: maqg 时间: 2006-2-27 09:03
重新安装vim可以修复此问题!
作者: nbaloverme 时间: 2006-2-27 11:33
首次使用VIM,有一个很菜的问题,但是特烦人。
当使用VIM编辑好文档后,发现每次行数对齐都不规则,当我对第cout<<"hello,world!"<<std::endl;这一行进行修改时,结果发现需要下移二行才能对齐,请问怎么解决啊?谢谢!
[ 本帖最后由 nbaloverme 于 2006-2-27 17:40 编辑 ]
图片附件:
untitled.jpg (2006-2-27 17:36, 4.09 K) / 该附件被下载次数 1
http://bbs.chinaunix.net/attachment.php?aid=130371
作者: sailer_sh 时间: 2006-2-28 10:42
rhel3里如何把vi里高亮和语法缩进打开?
我已经写了/root/.vimrc文件,内容:
set cindent
syntax on
在/etc/vimrc里也加入这两行,但是没有效果。
作者: htree 时间: 2006-3-3 16:45
我安装了ctags 和taglist
改动这个文件 /usr/local/share/vim/vim64/plugin/taglist.vim
添加了这一行let Tlist_Ctags_Cmd = "/usr/local/bin/exctags"
但我看以前的帖子说要有exctags
我下载之后,提示运行不成,请教高手
作者: htree 时间: 2006-3-3 16:47
还有一个问题请教:
我怎么配置VIM,才能在终端下在打开多个文件的情况下
可以看见它们,并可以在它们之间切换?
作者: lahooo 时间: 2006-3-3 17:20
QUOTE:
原帖由 htree 于 2006-3-3 16:45 发表
我安装了ctags 和taglist
改动这个文件 /usr/local/share/vim/vim64/plugin/taglist.vim
添加了这一行let Tlist_Ctags_Cmd = "/usr/local/bin/exctags"
但我看以前的帖子说要有exctags
我下载之后 ...
你装的ctags是exuberant ctags吗?是从http://ctags.sourceforge.net下载的吗?
出错消息是啥?
let Tlist_Ctags_Cmd = ...一般是加在$HOME/.vimrc里, :help taglist有详细说明.
作者: lahooo 时间: 2006-3-3 17:29
QUOTE:
原帖由 htree 于 2006-3-3 16:47 发表
还有一个问题请教:
我怎么配置VIM,才能在终端下在打开多个文件的情况下
可以看见它们,并可以在它们之间切换?
支持多文件显示的插件有很多,比较受欢迎的是winmanager和bufexplorer,这两个插件一起配合使用可显示目录和文件缓冲区,
到http://vim.sourceforge.net/下载这两个插件,解压后将*.vim文件copy到$HOME/.vim/plugin,*.txt文件copy到$HOME/.vim/doc目录,在$HOME/.vimrc里加入nnoremap <silent> \f :WMToggle<CR>,编辑文件时按\f就可以使用了.
作者: htree 时间: 2006-3-4 16:37
谢谢lahooo 的回复
第一个问题(exctags问题),我已经解决了。其实ctags就可以实现tag的显示
谢谢
作者: htree 时间: 2006-3-4 18:33
又有一个问题请教,vim最新版中
处理中文时出现乱码怎么处理?
(用cat查看文件时正常显示)
顺便说一下:我的LANG=en_US.uft8
改成zh_CN.utf试过了,还是不行
[ 本帖最后由 htree 于 2006-3-4 18:35 编辑 ]
作者: lahooo 时间: 2006-3-6 11:46
QUOTE:
原帖由 htree 于 2006-3-4 18:33 发表
又有一个问题请教,vim最新版中
处理中文时出现乱码怎么处理?
(用cat查看文件时正常显示)
顺便说一下:我的LANG=en_US.uft8
改成zh_CN.utf试过了,还是不行
在$HOME/.vimrc文件里加上set encoding=gb2312,试试看行不行.
作者: napleon 时间: 2006-3-6 12:03 标题: 文件解密
我在保存我的代碼的時候,本來什用
,不小心開暸大寫。用:X暸。大寫的什文件加密的。現在,我的代碼被加密暸如何解密。請賜教!
作者: lahooo 时间: 2006-3-6 15:01
QUOTE:
原帖由 napleon 于 2006-3-6 12:03 发表
我在保存我的代碼的時候,本來什用
,不小心開暸大寫。用:X暸。大寫的什文件加密的。現在,我的代碼被加密暸如何解密。請賜教! 知道密码吗?
解除密码步骤:
vim file
Enter encryption key: 输入密码
:set key=
:w!
作者: htree 时间: 2006-3-6 15:56 标题: 回复 643楼 lahooo 的帖子
设置set encoding=gb2312之后仍然不行!
作者: flw10000 时间: 2006-3-6 19:13
QUOTE:
原帖由 htree 于 2006-3-6 15:56 发表
设置set encoding=gb2312之后仍然不行!
你是用Windows下的工具连上去的,还是本来就是在LINUX下,如果是windows上连过去的可能还需要设置一下这边终端的字符集,还有你改成zh_CN.utf8试试
BTW:你是西电的吗?
作者: flw10000 时间: 2006-3-6 19:23
是否有插件将
VIM用gdb调试时设置的像emacs一样,一个窗口调试而另一个窗口可以跟踪源代码?
作者: htree 时间: 2006-3-7 17:03 标题: 回复 647楼 flw10000 的帖子
呵呵,
直接在LINUX下的,这些我都试过了,
查了很多的东西一直没找到答案!
作者: flw10000 时间: 2006-3-8 09:43
QUOTE:
原帖由 htree 于 2006-3-7 17:03 发表
呵呵,
直接在LINUX下的,这些我都试过了,
查了很多的东西一直没找到答案!
你在~/.vimrc中设一下
set encoding=utf8 或 GB2312(根据你LINUX系统的字符集)
set fileencoding=utf8 或 GB2312
再试一下!
作者: net_robber 时间: 2006-3-9 10:16
不小心不知道按住什么了,VI中的所有字符A全部高亮显示了,还有个别字符串也出现类似情况,请问是怎么回事啊??怎么解决
作者: net_robber 时间: 2006-3-9 11:13
问题原因已经找到,因为我按下了shift+# 或者 Shift+*,大概系统定义为寻找下一个相同的字符串,因而高亮标记。现在的问题是怎么取消这种状态!!
谢谢
作者: 源方 时间: 2006-3-9 15:06
QUOTE:
看不懂
在什么条件下输入:e ftp://192.168.10.76/abc.txt,“:”是怎么出来的。是先打开vim,再按Esc,再按冒号吗?
作者: 源方 时间: 2006-3-9 15:37
QUOTE:
原帖由 flw 于 2004-12-28 13:15 发表
假设你正在编辑 file1,那么用
:args <CTRL-R>;% file2 file3
就可以了。 怎么不好使,需要注意什么?
作者: htree 时间: 2006-3-9 17:49 标题: 回复 650楼 flw10000 的帖子
我都试了一下,还是不行,真奇怪呀!
我用CAT FILE的时侯显示是正常的!
实在想不出来该怎么处理!
set nu
83 set ts=2
84 set ai
85 "set encoding=gb2312
86 set encoding=gb2312
87 "set fileencoding=utf-8,gb2312,big5,latin1
88 set fileencoding=gb2312
89 "set termencoding=gb2312
作者: flw10000 时间: 2006-3-9 22:34
是否有插件将VIM设成如下图所示:
主要是边调试边可以看到源代码。
图片来源:http://bbs.chinaunix.net/viewthr ... &extra=page%3D1

请教高手,谢谢!
作者: flw10000 时间: 2006-3-9 22:36 标题: 回复 655楼 htree 的帖子
忽然发现我的vim也有乱码!
等待高手!
作者: 源方 时间: 2006-3-10 09:06
QUOTE:
原帖由 a_beginner 于 2005-2-22 11:21 发表
ctrl + o 是什么意思啊?
我用这个命令居然把我以前打开的文件又打开了
作者: 源方 时间: 2006-3-10 11:34
QUOTE:
原帖由 盲炳 于 2005-4-15 00:01 发表
网上有很多VIM帮助的文档的啊,我手上有一个ZhaoRuFei翻译的VIM MANUAL PDF版,我觉得翻译得很好,看起来很有意思,我就是看这个入的门,呵呵,现在都爱死VIM了……如果找不到可以留下EMAIL,我发给你……
另 ...
给我发一份吧,谢谢
zh...@neusoft.com
作者: 源方 时间: 2006-3-10 11:43
QUOTE:
原帖由 flw 于 2005-5-3 17:04 发表
[quote]原帖由 "evil_knight"]怎么实现vim内,打一个括号如 "("自动补全另一个括号 ")" ?[/quote 发表:
:iab ( ()
用不好,iab (()是命令吗?
作者: 源方 时间: 2006-3-10 12:22
QUOTE:
原帖由 flw 于 2005-5-13 18:20 发表
[quote]原帖由 "freepower"]请教, 如何删除所有的偶数行?[/quote 发表:
<ESC>;ggqajddq10000@a
假设你的文本有不到 20000 行,那么输入以上的命令就可以删除所有的偶数行。
怎么样能删除所有的空行
作者: 源方 时间: 2006-3-10 13:02
QUOTE:
原帖由 flw 于 2005-6-23 19:35 发表
[quote]原帖由 "waterpub"]源代码比较混乱,有没有办法格式化呢?谢谢[/quote 发表:
gg=G
(先vim test.cpp)
提示E492: Not an editor command: gg=G错误
作者: 源方 时间: 2006-3-10 13:08
QUOTE:
原帖由 albcamus 于 2005-6-26 14:01 发表
搞定!多谢
这个功能真的很好
能给讲一讲到底怎么设置吗?
作者: lahooo 时间: 2006-3-10 14:20
QUOTE:
原帖由 htree 于 2006-3-9 17:49 发表
我都试了一下,还是不行,真奇怪呀!
我用CAT FILE的时侯显示是正常的!
实在想不出来该怎么处理!
set nu
83 set ts=2
84 set ai
85 "set encoding=gb2312
86 set encodin ...
那在你的linux系统命令行下输入中文能正常显示吗?
作者: htree 时间: 2006-3-10 14:32 标题: 回复 664楼 lahooo 的帖子
可以正常显示!
我把具体情况写一下:
系统: redhat 9.0
[root@htree_linux htree]# echo $LANG
en_US.UTF-8(曾改成中文的utf8 或 gb2312试过,都失败了)
vi : v6.4
[root@htree_linux vimcdoc-0.8.0]# cat INSTALL
+-----------+
| NOTE |
+-----------+
从 6.3 版开始,Vim 加入了对翻译文档的支持。........
[root@htree_linux htree]# vi 测试
都正常,唉,郁闷啊
作者: 源方 时间: 2006-3-10 14:44 标题: 回复 503楼 Com_Net 的帖子
yy
作者: 源方 时间: 2006-3-10 15:19 标题: 回复 583楼 snow888 的帖子
居然有这么好的书,太感谢了
作者: 源方 时间: 2006-3-10 15:33
从昨天下午开始看帖子,刚刚看完
有1/5的帖子能看懂,剩下的我基本都没试出来
那本vim manual很不错,建议多看看特别是象我这样的菜鸟
再见!
作者: lahooo 时间: 2006-3-10 15:57
QUOTE:
原帖由 htree 于 2006-3-10 14:32 发表
可以正常显示!
我把具体情况写一下:
系统: redhat 9.0
[root@htree_linux htree]# echo $LANG
en_US.UTF-8(曾改成中文的utf8 或 gb2312试过, ...
奇怪,从没碰到这种情况.
vim6.4是你自己下载安装的吧?linux系统自带的vim输入中文也是乱码?
在你的vim6.4里运行:ve命令,把版本信息粘贴上来让我们瞧瞧.
作者: shappen 时间: 2006-3-10 23:40
QUOTE:
原帖由 net_robber 于 2006-3-9 11:13 发表
问题原因已经找到,因为我按下了shift+# 或者 Shift+*,大概系统定义为寻找下一个相同的字符串,因而高亮标记。现在的问题是怎么取消这种状态!!
谢谢
:set nohlsearch
作者: shappen 时间: 2006-3-10 23:41
QUOTE:
原帖由 源方 于 2006-3-10 11:43 发表
用不好,iab (()是命令吗?
注意flw老大在写这个命令的时候第一个(后面有一个空格
然后你在输入(后再按回车就看到效果了
作者: htree 时间: 2006-3-11 18:47
QUOTE:
原帖由 lahooo 于 2006-3-10 15:57 发表
奇怪,从没碰到这种情况.
vim6.4是你自己下载安装的吧?linux系统自带的vim输入中文也是乱码?
在你的vim6.4里运行:ve命令,把版本信息粘贴上来让我们瞧瞧.
是的,我把原来的卸掉了
这是我下的最新的源代码编译的!呵呵
作者: shappen 时间: 2006-3-11 23:08
QUOTE:
原帖由 flw 于 2005-5-3 17:04 发表
[quote]原帖由 "evil_knight"]怎么实现vim内,打一个括号如 "("自动补全另一个括号 ")" ?[/quote 发表:
:iab ( ()
老大,我想问一下,怎样才能在补全后让光标停在补上的字符上,因为输入一个按回车补上另一个后,光标也跑到后面去了,还得移动到字符前面
作者: htree 时间: 2006-3-12 17:19
QUOTE:
原帖由 lahooo 于 2006-3-10 15:57 发表
奇怪,从没碰到这种情况.
vim6.4是你自己下载安装的吧?linux系统自带的vim输入中文也是乱码?
在你的vim6.4里运行:ve命令,把版本信息粘贴上来让我们瞧瞧.
lahooo 谢谢你一直帮我!
我静下心来看了一下:
我把客户端的输出编码改为:简体中文
这时可以输入输出中文,一切都是正常的,用VIM处理也一切正常!
但是VIM的中文帮助是UNICODE编码的,
这些用CAT显示是正常的,但是进入VIM处理就有问题,也就是查看时也是乱码。
下面是我拷贝的VIM的版本信息:
VIM - Vi IMproved
~
~ version 6.4
~ by Bram Moolenaar et al.
~ Vim is open source and freely distributable
作者: lahooo 时间: 2006-3-13 14:36
QUOTE:
原帖由 htree 于 2006-3-12 17:19 发表
lahooo 谢谢你一直帮我!
我静下心来看了一下:
我把客户端的输出编码改为:简体中文
这时可以输入输出中文,一切都是正常的,用VIM处理也一切正常!
但是VIM的中文帮助是UNICODE编码的,
这些用CA ...
不用客气,大家一起共同交流。
VIM的中文帮助是UNICODE编码的,要在$HOME/.vimrc里设置set helplang=cn才能正常显示中文帮助,否则全是乱码。
另外在某些环境下中文帮助安装时会出错,设置不对也无法显示中文帮助.
VIM的版本信息是在vim里运行:ve命令,如我的vim版本信息是:
VIM - Vi IMproved 6.4 (2005 Oct 15, compiled Mar 6 2006 10:44:16)
Compiled by bbc@as3
Big 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 +cryptv +cscope +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
+file_in_path +find_in_path +folding -footer +fork() -gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap
+libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec +mouse_gpm
-mouse_jsbterm +mouse_netterm +mouse_xterm +multi_byte +multi_lang -netbeans_intg -osfiletype +path_extra -perl +postscript
+printer -python +quickfix +rightleft -ruby +scrollbind +signs +smartindent -sniff +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: "/home/dzw/gnu/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2
Linking: gcc -L/usr/local/lib -o vim -lncurses -lacl -lgpm -ldl
作者: HeavenTear 时间: 2006-3-15 10:18
我怎么样根据文件的后缀名来执行不同的vimrc语句。
我是这样写得。。。
if &filetype == 'cpp'
.....
else
....
endif
好象总是走到else那个block里。。。也就是总是false...
作者: lahooo 时间: 2006-3-16 10:28
QUOTE:
原帖由 HeavenTear 于 2006-3-15 10:18 发表
我怎么样根据文件的后缀名来执行不同的vimrc语句。
我是这样写得。。。
if &filetype == 'cpp'
.....
else
....
endif
好象总是走到else那个block里。。。也就是总是false...
在$HOME/.vimrc里加
augroup CPPprog
au!
au BufEnter *.cpp set makeprg=g++\ %\ -o\ %:r
augroup END
或者
filetype plugin indent on
autocmd FileType cpp set formatoptions=croql cindent makeprg=g++\ %\ -o\ %:r
也行
作者: channel5 时间: 2006-3-17 14:02 标题: vim插入模式下不认方向键是怎么回事?
就是不认上下左右。。。
作者: lahooo 时间: 2006-3-19 08:30
QUOTE:
原帖由 lahooo 于 2006-3-16 10:28 发表
在$HOME/.vimrc里加
augroup CPPprog
au!
au BufEnter *.cpp set makeprg=g++\ %\ -o\ %:r
augroup END
或者
filetype plugin indent on
autocmd FileType cpp set formatoptions=croql cind ...
augroup CPPprog
au!
au BufEnter *.cpp ......
augroup END
filetype plugin on
autocmd FileType cpp ......
"......"可以是任何命令,不管是set还是let
作者: lahooo 时间: 2006-3-19 08:33
QUOTE:
原帖由 channel5 于 2006-3-17 14:02 发表
就是不认上下左右。。。
可能是你的term类型没设置好。
作者: cgxu 时间: 2006-3-21 10:26
请问在windows下我下了一个cecscope.vim的plug放在vim64的ftplugin下,
然后怎么启动其功能?
:cecscope plugin on么?
好像不行,指教!
作者: lahooo 时间: 2006-3-22 08:56
QUOTE:
原帖由 cgxu 于 2006-3-21 10:26 发表
请问在windows下我下了一个cecscope.vim的plug放在vim64的ftplugin下,
然后怎么启动其功能?
:cecscope plugin on么?
好像不行,指教!
看看cecscope.vim里的说明,那里已经说得很清楚了:
To use this plugin you'll need to have vim 7.0aa, snapshot#188 or later,
and your version should have +cscope. To check that latter condition,
either look for +cscope through the output of >
:version
< or type >
:echo has("cscope")
< You'll need to recompile your vim if you don't have +cscope.
必须是vim 7.0aa版本
作者: 源方 时间: 2006-3-30 10:01
请问如何删除连续几行的“//”注释
作者: lahooo 时间: 2006-3-31 11:21 标题: 体验vim 7.0
各位vim fans快去ftp://ftp.home.vim.org vol/1/vim/unstable/下载vim7.0体验一把吧,新增加了标签页、拼写检查等功能,尤其值得一提的是编程输入按Ctrl+P时可弹出自动完成提示窗口,太爽了。
作者: THEBEST 时间: 2006-3-31 11:31
QUOTE:
原帖由 源方 于 2006-3-30 10:01 发表
请问如何删除连续几行的“//”注释
这个可以用一个替换吧?因为//一般都在行首或者前面都是空格或TAB。查找一下替换掉。
我也有个类似的问题,在复制带//的代码过来时,总是在第一次出现//的地方之后默认每行自动加上//
怎样去掉这个默认设置?
作者: adm1ner 时间: 2006-3-31 13:06
请问怎样将多行同时缩进一个tab位,比如
if()
{
line1
line2
...
}
变为
if()
{
line1
line2
...
}
作者: del77 时间: 2006-3-31 16:11
ctrl+v 选定,然后按>就可以
QUOTE:
原帖由 adm1ner 于 2006-3-31 13:06 发表
请问怎样将多行同时缩进一个tab位,比如
if()
{
line1
line2
...
}
变为
if()
{
line1
line2
...
}
作者: del77 时间: 2006-3-31 16:15
在字符模式下,vi窗口下的内容怎样复制到下面的:开始的命令行
怎样复制到shell命令下
作者: lahooo 时间: 2006-3-31 17:00
QUOTE:
原帖由 adm1ner 于 2006-3-31 13:06 发表
请问怎样将多行同时缩进一个tab位,比如
if()
{
line1
line2
...
}
变为
if()
{
line1
line2
...
}
如果只是单纯几行的缩进用del77 介绍的方法就可以了。如果是想作代码美化,建议还是用"="命令来操作比较方便。
个人愚见:在编码时最好不要设置tab,设置tab后在不同的系统上代码缩进不一致,看着不爽。我的设置是:
:set expandtab "取消tab,以空格代替tab
:set sw=2 "设置tab为两个空格长度
取消代码里的tab制表符
:set expandtab
:%retab!
作者: adm1ner 时间: 2006-3-31 18:53
很有帮助,谢谢楼上两位
作者: prewind 时间: 2006-4-3 11:31 标题: 怎样在设置编译时的选项,让vim64 支持 autochdir 选项啊。
怎样在设置编译时的选项,让vim64 支持 autochdir 选项啊。
我在aix上面用vim64,发现 autochdir选项不其作用。查看其帮助。
'autochdir' 'acd' 布尔型 (缺省关闭)
全局
{Vi 无此功能}
{only 仅当编译时加入了 |+netbeans_intg| 或
|+sun_workshop| 特性才有效}
如果打开,Vim 会在你打开文件、切换缓冲区、删除缓冲区或者打开/关闭窗口
时改变当前工作目录的值。它会改变到打开或者选择的文件所在的目录。该选项
为 Sun ONE Studio 4 Enterprise Edition 发行的 Vim 提供后向兼容。
那应该怎样编译呢?怎样设置才能在编译时加入 sun_workshop选项呢。还请老大们指点一下。
作者: flw 时间: 2006-4-3 11:47
QUOTE:
原帖由 del77 于 2006-3-31 16:15 发表
在字符模式下,vi窗口下的内容怎样复制到下面的:开始的命令行
怎样复制到shell命令下
在 : 模式下,可以使用 <Ctrl+R> <寄存器名> 来访问 vi 的寄存器。
而默认情况下,y 命令 d 命令会把操作对象放置到 " 寄存器中。
因此,在命令行下面输入 <Ctrl+R>" 就可以将上次 y 命令或者 d 命令的内容粘贴下来。
作者: prc 时间: 2006-4-3 17:15
如果启动的时候没有指定多个文件,只是指定了单个文件,如 vim A
那么在编辑A的过程中有没有办法把其它文件B/C/D...分别添加到args列表里?
作者: flw 时间: 2006-4-3 17:31
QUOTE:
原帖由 prc 于 2006-4-3 17:15 发表
如果启动的时候没有指定多个文件,只是指定了单个文件,如 vim A
那么在编辑A的过程中有没有办法把其它文件B/C/D...分别添加到args列表里?
可以的,在 Normal 模式下依次键入以下字符就可以了:
:args <Ctrl+R>% B C D<Enter>
<Ctrl+R> 表示将 Ctrl 和 r 两个键同时按下,<Enter> 表示回车键。
作者: THEBEST 时间: 2006-4-4 09:21
QUOTE:
原帖由 THEBEST 于 2006-3-31 11:31 发表
在复制带//的代码过来时,总是在第一次出现//的地方之后默认每行自动加上//
怎样去掉这个默认设置?
哪里设置?
作者: flw 时间: 2006-4-4 10:43
QUOTE:
原帖由 THEBEST 于 2006-3-31 11:31 发表
我也有个类似的问题,在复制带//的代码过来时,总是在第一次出现//的地方之后默认每行自动加上//
怎样去掉这个默认设置?
set fo-=r
作者: del77 时间: 2006-4-6 16:49
谢谢!我在:模式可以用,但是在命令行模式下(emacs或者 vi模式),用ctrl+r没有办法粘贴的,不止到是不是操作不对,
还有一个 问题,命令行上的内容怎样复制到reg里
QUOTE:
原帖由 flw 于 2006-4-3 11:47 发表
在 : 模式下,可以使用 <Ctrl+R> <寄存器名> 来访问 vi 的寄存器。
而默认情况下,y 命令 d 命令会把操作对象放置到 " 寄存器中。
因此,在命令行下面输入 <Ctrl+R>" 就可以将上 ...
作者: flw 时间: 2006-4-6 17:13
QUOTE:
原帖由 del77 于 2006-4-6 16:49 发表
谢谢!我在:模式可以用,但是在命令行模式下(emacs或者 vi模式),用ctrl+r没有办法粘贴的,不止到是不是操作不对,
还有一个 问题,命令行上的内容怎样复制到reg里
sorry!
我说的命令行模式就是 : 模式
,不是 shell
作者: del77 时间: 2006-4-6 20:14
接着问
怎样复制vi中的字符串,到shell下呢,或者复制shell下的命令到vi中,
QUOTE:
原帖由 flw 于 2006-4-6 17:13 发表
sorry!
我说的命令行模式就是 : 模式
,不是 shell
作者: wingger 时间: 2006-4-7 11:04
QUOTE:
原帖由 del77 于 2006-4-6 20:14 发表
接着问
怎样复制vi中的字符串,到shell下呢,或者复制shell下的命令到vi中,
我用 Pietty,用鼠标双击+右击就可以完成这个操作

作者: del77 时间: 2006-4-7 15:48
是putty吧,
QUOTE:
原帖由 wingger 于 2006-4-7 11:04 发表
我用 Pietty,用鼠标双击+右击就可以完成这个操作
作者: wingger 时间: 2006-4-7 16:31
QUOTE:
原帖由 del77 于 2006-4-7 15:48 发表
是putty吧,
难道你没有听说过世上有个网站叫做“google”吗?
作者: adiosET 时间: 2006-4-11 08:54
我在安装好FC5后,下载插件taglist.vim,在.vimrc加了2句
let Tlist_Use_Right_Window = 1
nnoremap <silent> <F7> :Tlist<CR>
使用时出现错误<E117:未定义的函数:s:Tlist_Window_Toggle>
注释了以后,还是有同样的错误,看了taglist的帮助也没有关于这个错误信息
请问该怎么解决啊,先谢谢了
作者: ppc 时间: 2006-4-14 12:02
FC4下面运行vimtutor出现乱码怎么办啊 网上说把tutor.zh.euc另存为utf8编码格式 但我改不了
作者: net_robber 时间: 2006-4-14 14:17
FC5中,vi是不会自动缩进的。
通过查资料,我知道可以使用set autoindent命令开启自动缩进
这样很不方便!
请问你修改哪个配置文件,怎么修改可以使得自动缩进 自动开启
作者: net_robber 时间: 2006-4-14 21:03
接着上一个问题
上一个问题已经解决,修改/etc/vimrc
在最后添加一行 set autoindent
作者: net_robber 时间: 2006-4-14 21:05
再问个问题,
我记得原来用VI的时候,vi有个功能,就是如果你在一行前面写 // ,回车后,下一行的起始处自动添加 //
或者如果你写 /* ,回车后,下一行的起始处自动添加 _* (这里 _ 代表空格)
这个东西怎么设置的????
作者: THEBEST 时间: 2006-4-14 23:19
set fo=r
set fo-=r
作者: winfox 时间: 2006-4-15 09:43 标题: 偶只知道VI 和VIM,其他不清楚!顶下先!
偶只知道VI 和VIM,其他不清楚!顶下先!
作者: net_robber 时间: 2006-4-15 10:39
谢谢708楼的兄弟,已经搞定,呵呵
作者: net_robber 时间: 2006-4-15 10:54
再 加一条, 再 改完所有配置后,这些配置对root用户仍然无效, 经经过件就,发现其他用户默认启动的是VIM,而root是VI
用vim ***去打开文件就好了
因此附带的引出一个问题,为什么root默认启动vi呢??如何默认启动vim???????
作者: cgxu 时间: 2006-4-17 16:44
好像听说ex里面输入vi可以进入vi里面,要返回就输入Q,但是Q返回不了,我是在vim里试的,用的是ssh
是什么原因呢?
作者: net_robber 时间: 2006-4-18 08:37
大小写敏感!
我看你打的是Q,不是q
作者: cgxu 时间: 2006-4-19 11:43 标题: 回复 713楼 net_robber 的帖子
是Q吧,是你看错了?
作者: lahooo 时间: 2006-4-22 07:40
QUOTE:
原帖由 net_robber 于 2006-4-15 10:54 发表
再 加一条, 再 改完所有配置后,这些配置对root用户仍然无效, 经经过件就,发现其他用户默认启动的是VIM,而root是VI
用vim ***去打开文件就好了
因此附带的引出一个问题,为什么root默认启动vi呢?? ...
在root的HOME目录下修改
.profile (ksh) 或.bash_profile(bash)
加上以下语句:
alias vi=vim
作者: lahooo 时间: 2006-4-22 07:46
QUOTE:
原帖由 net_robber 于 2006-4-15 10:54 发表
再 加一条, 再 改完所有配置后,这些配置对root用户仍然无效, 经经过件就,发现其他用户默认启动的是VIM,而root是VI
用vim ***去打开文件就好了
因此附带的引出一个问题,为什么root默认启动vi呢?? ...
Linux系统下vi就是vim,其它的像Solaris、AIX、HP-UX都是操作系统本身自带的vi,要vi默认启动vim就用alias命令。
作者: cgxu 时间: 2006-4-28 09:22
请教一下,在windows下怎么让gvim已打开就是最大化?
作者: lahooo 时间: 2006-4-28 09:48
QUOTE:
原帖由 cgxu 于 2006-4-28 09:22 发表
请教一下,在windows下怎么让gvim已打开就是最大化?
在_vimrc文件里加入以下语句:
au GUIEnter * simalt ~x
很多帖子都提过了。在坛子里搜搜或google搜搜就能找到答案,提问前还是先搜索一下吧。
作者: liant76 时间: 2006-4-28 14:01 标题: AIX下VI的tag CTRL+T不能返回的问题
我在AIX下用ctags创建了tag文件,在vi时用CTRL+]可以定位函数。但如果先CTRL+]定位到一个函数原型后,再CTRL+T就不能回到原来的文件了。以前我在SCO和HP上好像都是CTRL+T就回去了,但是这次在AIX上就不好使了。是不是有什么配置文件呢?(后来我又发现,好像CTRL+T的功能和CTRL+]是一样的)
作者: flw2 时间: 2006-4-29 10:03
我新编译了一vim 6.4 可是它每次都会自动保留我的源文件
比如 vi a.c更改之后多了一个a.c~
怎么办呢?
作者: net_robber 时间: 2006-4-29 10:25
你在 vimrc 里面有一个地方可以调整
好像叫 set backup
作者: wingger 时间: 2006-4-29 10:32
QUOTE:
原帖由 flw2 于 2006-4-29 10:03 发表
我新编译了一vim 6.4 可是它每次都会自动保留我的源文件
比如 vi a.c更改之后多了一个a.c~
怎么办呢?
set nobackup
作者: flw2 时间: 2006-4-29 12:31
多谢两位,改好了
作者: eagles125 时间: 2006-4-29 15:42 标题: 模式匹配
请问在vim中一个文件中如下格式:
123 fsfasfhsdahfsda
就是说前面是数字,中间是一个空白字符,后面是文本,怎么把他替换成
123 /* fsfasfhsdahfsda*/
或者
123 // fsfasfhsdahfsda
谢谢
作者: lahooo 时间: 2006-4-30 14:47
QUOTE:
原帖由 eagles125 于 2006-4-29 15:42 发表
请问在vim中一个文件中如下格式:
123 fsfasfhsdahfsda
就是说前面是数字,中间是一个空白字符,后面是文本,怎么把他替换成
123 /* fsfasfhsdahfsda*/
或者
123 // fsfasfhsdahfsda
谢谢
用命令:
:g#\(^[0-9]*\) \(.*$\)#s##\1 /*\2*/#g
或
:g#\(^[0-9]*\) \(.*$\)#s##\1 //\2#g
作者: slimzhao 时间: 2006-5-1 19:35 标题: windows平台下用 CTRL-Q 代替CTRL-V
QUOTE:
原帖由 gvim 于 2004-12-27 17:20 发表
我是windows平台,那我如何才能按照我想要得意思是用Ctrl+V呢?
如题
因为CTRL-C, CTRL-V, CTRL-X已经在windows中占据了不可撼动的位置, 所以VIM客随主便入乡随俗, 把这3个键的功能还给windows, 自己的 CTRL-V功能就用CTRL-Q代替了.
作者: eagles125 时间: 2006-5-2 08:48
QUOTE:
原帖由 lahooo 于 2006-4-30 14:47 发表
用命令:
:g#\(^[0-9]*\) \(.*$\)#s##\1 /*\2*/#g
或
:g#\(^[0-9]*\) \(.*$\)#s##\1 //\2#g
谢谢lahoo大侠,按照你的指点,根据实际情况我作了点调整,基本解决了问题
:g#\(\s\{1}\)\([0-9][0-9]*\)\(\s*\)\(.*$)#s##\1\2\3/*\4*/#g
作者: 狼牙戟 时间: 2006-5-5 09:57
flw 你好,我想问一下,我从什么都不懂开始学C,先从那里着手?还有就是有没有VC++6.0英文版的下载地址?谢谢!
作者: lahooo 时间: 2006-5-5 10:58
QUOTE:
原帖由 eagles125 于 2006-5-2 08:48 发表
谢谢lahoo大侠,按照你的指点,根据实际情况我作了点调整,基本解决了问题
:g#\(\s\{1}\)\([0-9][0-9]*\)\(\s*\)\(.*$)#s##\1\2\3/*\4*/#g
恭喜恭喜,你已掌握了vim字符替换的精髓了。
作者: 狼牙戟 时间: 2006-5-5 15:45
flw 你好,我想问一下,我从什么都不懂开始学C,先从那里着手?还有就是有没有VC++6.0英文版的下载地址?谢谢!
作者: Coolin 时间: 2006-5-6 13:03 标题: vi自动生成备份文件 如何设置去出这个功能
如题 希望斑竹帮忙
作者: cgxu 时间: 2006-5-8 16:55 标题: 帮忙看一下这是vim中文文档里的东西,这里的N有什么用?,我试过不好使
|g0| N g0 移动至屏幕行的第一个字符 (当折行时和 "0" 不同)
|g^| N g^ 移动至屏幕行的第一个非空白字符 (当折行时和 "^" 不同)
|g$| N g$ 移动至屏幕行的最后一个字符 (当折行时和 "$" 不同)
|gm| N gm 移动至屏幕行的中点
作者: chrisyan 时间: 2006-5-11 11:33
关于vim 7.0
有没有人用过的?
如果一个类是标准库中定义的,引用这个对象时我也想下拉菜单也列出所有的方法,可以设置的吗?
我还想把标准库中的类,方法都高亮,应该写个syntax吧,有没有现成的?
| http://bbs.chinaunix.net/ |