Chinaunix

标题: 使用 vim 有疑问的朋友们请在此跟贴提问 [打印本页]

作者: flw    时间: 2004-12-25 14:00
标题: 使用 vim 有疑问的朋友们请在此跟贴提问
    
本贴长期有效,尽量不要灌水,谢谢!

----------

更新:
自 2006.12.08 日起,本人不再回复此帖。谢谢大家!

[ 本帖最后由 flw 于 2006-12-8 11:18 编辑 ]
作者: gvim    时间: 2004-12-25 20:41
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我先哈,问个不是VIM 的 VI类
有的时候用minix,里面只有elvi,我想问怎么使C语法加亮。
下面是set all 的截图。

snapshot.JPG (33.88 KB, 下载次数: 752)

snapshot.JPG

作者: 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 将尽量为你解答!
原帖由 "superdoctor" 发表:
刚才看了看上面set all的启发,自己查了一下,呵呵,找到答案了

:set nolist
就可以取消set list的状态

呵呵,
所有的 bool 型的选项用 set no??? 就可以关掉。
反过来讲,有些默认是 no??? 的,用 set ??? 就可以打开。
只要掌握了这个规律就好办了。
作者: flw    时间: 2004-12-27 14:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "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 将尽量为你解答!
原帖由 "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,那么用
  1. :args <CTRL-R>;% file2 file3
复制代码

就可以了。
作者: krs    时间: 2004-12-28 16:59
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
请问楼主,如何删除连续两行之间的回车符,使连续的两行成为一行?
作者: flw    时间: 2004-12-28 17:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "krs"]请问楼主,如何删除连续两行之间的回车符,使连续的两行成为一行?[/quote 发表:
  1. Jx
复制代码

作者: aero    时间: 2004-12-29 15:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "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 将尽量为你解答!
原帖由 "flw" 发表:

什么叫“显示序列号”?
是“显示行号”的意思吗?
如果想显示行号,可以用 :set nu 试试。
能否让行号显示以0打头?像:
0001
0002
0003
这样子?
作者: flw    时间: 2005-01-03 19:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
回楼上:
这个似乎不行,
哪位知道的朋友请回答一下。
作者: albcamus    时间: 2005-01-04 09:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
flw,偶问个问题,vim中光标在C函数和系统调用上时,按K进入man手册页,可是如果应用程序也有这个名字,比方说readlink,按下K就进入那个应用程序的man页了,如果我想取得在shell中man 2 readlink这样的效果,该怎么办?谢谢~
作者: albcamus    时间: 2005-01-04 12:57
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
偶找到方法了,先按下2,然后shift+k,就进入系统调用man页了,呵呵。
作者: aero    时间: 2005-01-04 13:48
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在vi中,怎么选中指定的几行,然后进行规整格式之类的命令?

比如用V可以进入虚拟模式,然后上下就可以选中几行,然后用=规整格式。

如果我想选中的行比较多,有没有比较好的办法呢?
作者: sdemon915    时间: 2005-01-04 17:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我知道用indent *.c 可以整理整个文件的代码风格 只整理几行的话还真不清楚
作者: flw    时间: 2005-01-04 17:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "aero" 发表:
在vi中,怎么选中指定的几行,然后进行规整格式之类的命令?

比如用V可以进入虚拟模式,然后上下就可以选中几行,然后用=规整格式。

如果我想选中的行比较多,有没有比较好的办法呢?

呵呵,
V 打开"可视模式"(不是虚拟模式,虚拟是 virtual)后,可以有很多种办法移动光标的,不一定非得用 h j k l , 比如可以搜索定位, 也可以用 [[ ]] ][ [] } { 等段落定位的命令.
v]]
v[[
v}
这样就可以选中一大块,而不用一行一行地选
还有 H L 这些都可以用.
详细请 help motion

另外, vim 内置了很多以 a 打头的文本对象, 如 a{ 表示一个 {} 块, ap 表示一个段落等等。=a{ 就可以重排当前语法块.
作者: yeath    时间: 2005-01-05 14:29
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
=a{命令重排后,是按2个TAB键进行缩进的?想让它按一个TAB键缩进,该如果处理?谢谢! 在Visual状态下,如何选择整个文件?
作者: assiss    时间: 2005-01-05 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-01-05 22:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "gvim"]我是windows平台,那我如何才能按照我想要得意思是用Ctrl+V呢?[/quote 发表:

windows 下因为 Ctrl+V 被定义成粘贴了,
所以真正的 Ctrl+V 被映射成 Ctrl+Q 了,你用 Ctrl+Q 就相当于输入 Ctrl+V。
作者: ificanfly    时间: 2005-01-06 20:20
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
从win2k telnet到rh7.3使用vim编辑C文件时候,如何处理Ctrl+]呢?
作者: flw    时间: 2005-01-06 21:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vt100 不支持。
用 ansi 终端,
或者干脆改用 NetTerm 等软件,
NetTerm 的终端设置见我的原创精华。
作者: gvim    时间: 2005-01-06 21:36
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "flw" 发表:
样就可以选中一大块,而不用一行一行地选
还有 H L 这些都可以用.
详细请 help motion

另外, vim 内置了很多以 a 打头的文本对象, 如 a{ 表示一个 {} 块, ap 表示一个段落等等。=a{ 就可以重排当前语法块.


新手又学到了!

原帖由 "flw" 发表:
windows 下因为 Ctrl+V 被定义成粘贴了,
所以真正的 Ctrl+V 被映射成 Ctrl+Q 了,你用 Ctrl+Q 就相当于输入 Ctrl+V。


谢谢

另外加一问,vim里面能不能设置emacs那样的集成调试环境?我每次都用的:!gdb ,挺麻烦,除此之外还有其他的比较简单的调试方法吗?
作者: assiss    时间: 2005-01-07 00:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
问一下,vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?
比如我调用
:!objdump -S %:p:r<cr>;
怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?
作者: hoyt    时间: 2005-01-07 10:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim支持语法高亮度显示,那么vim是否支持将语法高亮度显示的结果保存为一个html文档呢?这样就可以很轻松的将源代码转换为html文档了。
作者: assiss    时间: 2005-01-07 10:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
gvim倒是有这个选项,在语法菜单里。
不知道VIM怎么做。
作者: hahubitbear    时间: 2005-01-07 14:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "assiss" 发表:
问一下,vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?
比如我调用
:!objdump -S %:p:r<cr>;
怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?

有一个办法,就是设一下grepprg或makeprg,然后用:grep或:make
不知有没有更好的办法?
作者: ificanfly    时间: 2005-01-07 16:43
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢flw
不过使用netterm后还有几个问题。
我使用的是4.2.e.4
按照你的帖子中所说,若是设置ANSI-BBS,则只显示netterm中设定的颜色。在vim中语法高亮部分只显示一道下划线。若是使用ANSI 有颜色,但是在netterm中不能更改字体颜色,不管设置什么颜色都显示蓝色(我使用的黑色底色)
作者: ificanfly    时间: 2005-01-07 21:34
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
搞定啦。只需要选中allow graphics rendition code of 0 to reset colors to default 并且改变TERM终端变量为ansi就一切OK啦
作者: flw    时间: 2005-01-08 11:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "hoyt"]vim支持语法高亮度显示,那么vim是否支持将语法高亮度显示的结果保存为一个html文档呢?这样就可以很轻松的将源代码转换为html文档了。[/quote 发表:

有,试试!
  1. :TOhtml
复制代码

作者: flw    时间: 2005-01-08 11:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "assiss" 发表:
问一下,vim如何把 “调用外部程序得到的输出” 转移到它自己一个新型的窗口里?
比如我调用
:!objdump -S %:p:r<cr>;
怎样让VIM产生一个新的BUFFER或者窗口,捕获它的输出?

这样就可以了:
  1. :split +enew | r !ls
复制代码

作者: yeath    时间: 2005-01-08 18:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
to flw:
有没有VIM全一点的资料?贴个上来啊,谢谢!
作者: flw    时间: 2005-01-08 18:50
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "yeath" 发表:
to flw:
有没有VIM全一点的资料?贴个上来啊,谢谢!

vimcdoc.sf.net
作者: redfoxlinux    时间: 2005-01-09 15:38
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
你好 我想问一下 在vim中如何 进行块复制 删除  等 块操作
作者: gvim    时间: 2005-01-09 16:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "flw" 发表:

:split +enew | r !ls


能不能麻烦你详细解释一下每个元素的用法,就像上面有人解释ggVG那样,小弟第一次看到你这样的写法,谢谢
作者: assiss    时间: 2005-01-09 16:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "gvim" 发表:


能不能麻烦你详细解释一下每个元素的用法,就像上面有人解释ggVG那样,小弟第一次看到你这样的写法,谢谢

:h split
:h enew
就应该差不多了。
我说一下我的理解:
split :分割窗口
+cmd:split的用法,表示运行一个cmd
enew:打开一个新的无名buffer
|:管道
r:read
!ls:执行外部命令
作者: aero    时间: 2005-01-09 16:56
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "redfoxlinux"]你好 我想问一下 在vim中如何 进行块复制 删除  等 块操作[/quote 发表:


嘿嘿,这个偶知道。

:v进入可视模式,hjkl选中要选中的块。y:复制、d:删除/剪切、p:粘贴。
作者: assiss    时间: 2005-01-09 17:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "redfoxlinux"]你好 我想问一下 在vim中如何 进行块复制 删除  等 块操作[/quote 发表:

v: visual mode//和普通的选择没区别
V: visual line mode//在此模式下,选择的基本单位是行,即:要么就选一行,要么就什么都不选
Ctrl-V: visual block mode//此模式下,可以选择一个块。什么概念?自己试试吧,呵呵。
作者: gvim    时间: 2005-01-09 17:10
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "assiss" 发表:

+cmd:split的用法,表示运行一个cmd


assiss 请问这个cmd是指的shell的还是vim内部的?
作者: assiss    时间: 2005-01-09 17:15
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "gvim" 发表:


assiss 请问这个cmd是指的shell的还是vim内部的?
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-01-10 12:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "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-01-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-01-10 14:53
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "flw"][/quote 发表:

那么能不能读入(解析)一个html文件呢?就是去掉html的的标记,象浏览器一样读入html??
作者: flw    时间: 2005-01-10 15:01
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vim 是个文本编辑器,不是 html 浏览器。
去掉标记很简单:
  1. :%s/<[^>;]*>;//g
复制代码

就可以了。
作者: hahubitbear    时间: 2005-01-11 10:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "flw" 发表:

这个理解基本正确,只是 | 并不是管道操作符,而是命令分割符。
split {+cmd} 这种用法表示打开一个新窗口,并且在新窗口中执行 {cmd} 这个命令,也就是说 split enew 就是打开一个新窗口,并且在其中执行 enew 这..........

发现用
:new|r !<cmd>;也可以,有什么区别吗?
作者: assiss    时间: 2005-01-12 00:54
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
好像FREEBSD下的VIM有问题。我现在在用NETBSD+FVWM+VIM,和FREEBSD下的完全一样,VIM的中文显示却不一样。
或者这可能是FREEBSD的问题吧。
作者: lisp    时间: 2005-01-13 09:30
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我想请问flw,我现在想把我的vim升级到最新版本,我该怎么做呀,在linux下面我不知道怎么uninstall我现在这个版本的,汗。。。
作者: albcamus    时间: 2005-01-13 14:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
如果是rpm安装的,就rpm -e vim;如果是源码编译的,就到源码目录下,make uninstall;make clean;make distclean;然后删除源码包就可以了。

似乎可以吧,反正我都是这么干的
作者: 独行侠1    时间: 2005-01-13 18:05
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
很好很好!很早就盼望有对VI/VIM感兴趣的高手了。

既然来了,就不客气了,先问一个很久没想出好方法的问题了:
写C的时候,如果要把一段注释掉,有什么方法?
我先Ctrl+V选择上,然后
vmap <F2>;  zfO/*<ESC>;jo*/<ESC>;zn

这样好麻烦,有没有一个更简单有效的方法呢?最好不要用折叠。
作者: smartleo    时间: 2005-01-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
以上操作第一次打开时需要输入用户名和
作者: duyunjian    时间: 2005-01-19 10:02
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
路过,向flw老大问个好!
作者: 独行侠1    时间: 2005-01-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-01-21 12:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
谢谢大家的回答^-^
现在我是通过telnet到linux服务器上去的,用vi打开文件后,所有字符的颜色都是一样的(白底黑字),感觉很郁闷呀。。。
怎么才能让字符有颜色呢?
作者: aero    时间: 2005-01-21 12:21
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "lisp" 发表:
谢谢大家的回答^-^
现在我是通过telnet到linux服务器上去的,用vi打开文件后,所有字符的颜色都是一样的(白底黑字),感觉很郁闷呀。。。
怎么才能让字符有颜色呢?


其实是有颜色的,你的发到终端就没颜色了。你可以设置一下你的telnet工具让它显示颜色,也可以将终端类型设置正确,这样就可以看到颜色了。
作者: benlan    时间: 2005-01-21 12:36
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
终端类型设置正确后,还没颜色,试试
:syntax on
看看vim手册里的颜色设置
作者: ificanfly    时间: 2005-01-21 13:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "benlan" 发表:
终端类型设置正确后,还没颜色,试试
:syntax on
看看vim手册里的颜色设置

不会吧,要设置两处的终端类型。一处是主机上~./bashrc中的TERM,另一处是telnet客户端的TERM都设置好(可能不同的客户端软件还需要其他设置,例如netterm就需要设定颜色)。当然你的终端机器要支持彩色还要在vim中打开语法着色
作者: lisp    时间: 2005-01-21 15:37
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我用的是secureCRT,现在有颜色了
但是syntax on之后,int 等关键字下面只有一道横线,没有显示为其它颜色;而注释部分、字符串部分和if、return 等关键字显示为同一种颜色(我设置为红色)
想问问大家还有其他的办法改善效果吗?多谢拉。。。
ps:我不太习惯用NetTerm
作者: aero    时间: 2005-01-21 15:42
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "lisp" 发表:
我用的是secureCRT,现在有颜色了
但是syntax on之后,int 等关键字下面只有一道横线,没有显示为其它颜色;而注释部分、字符串部分和if、return 等关键字显示为同一种颜色(我设置为红色)
想问问大家还有其他的办..........


可以在session菜单里修改apearcance部分的显示。也可以设置正确的终端类型。好像选上ANSI color就好了。呵呵, 我喜欢自己设置的,就是第一种方法。
作者: lisp    时间: 2005-01-21 16:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
多谢aero帮忙
俺都试过了,好像没有改善,还是只有两种颜色加下划线,你的是这样的吗?
作者: aero    时间: 2005-01-21 16:08
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "lisp" 发表:
多谢aero帮忙
俺都试过了,好像没有改善,还是只有两种颜色加下划线,你的是这样的吗?


呵呵,是啊,自己设就是这样。如果设置了正确的终端类型就好了。不过偶嫌那样太暗了。
作者: benlan    时间: 2005-01-21 16:17
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
太暗可以试试
:set background=dark

:set backgruond=light
只有两种颜色加下划线,可能是终端的颜色还没设好,看看ificanfly   说的   的终端设置。
再查查vim手册
作者: lisp    时间: 2005-01-21 16:19
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
呵呵,偶找到了
在options ->; Session Options 对话框中编辑当前颜色,注意在Color Scheme对话框中选中Advanced复选框,就可以有多种颜色了
大家试试吧,注意我说的是secureCRT中哈
基本上都搞定了,但是现在我每次进vim都要syntax on,设定的颜色才生效,好麻烦呀,可不可以一劳永逸呢?
大家在教教我哈,多谢多谢
作者: assiss    时间: 2005-01-21 16:58
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "lisp" 发表:
呵呵,偶找到了
在options ->; Session Options 对话框中编辑当前颜色,注意在Color Scheme对话框中选中Advanced复选框,就可以有多种颜色了
大家试试吧,注意我说的是secureCRT中哈
基本上都搞定了,但是现在?.........

手册啊手册。
编辑
~/.vimrc
加入你的命令
作者: lisp    时间: 2005-01-21 17:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "assiss" 发表:

手册啊手册。
编辑
~/.vimrc
加入你的命令

好了,多谢assiss
偶呀开始看手册了,不好意思再麻烦大家了   
作者: assiss    时间: 2005-01-21 22:03
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
刚才用google搜索vim backspace,哈哈,找到的第一个网页,里面的人也叫问问题的先google.太好笑了。
顺便提供google的结果:
set backspace=0/1/2,可以改变backspace键在vim里的行为。
具体请:h 'backspace'注意前后有单引号。
作者: hahubitbear    时间: 2005-01-26 10:09
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "独行侠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-01-26 13:22
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "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-01-27 18:24
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
原帖由 "flw" 发表:

先 :vmap <F2>; :s/^/\/\//<CR>;
然后选中一段内容,按 F2。


不对啊!选上的内容被清掉了!!

  1. /*  */
复制代码



    
作者: jourmen    时间: 2005-01-31 15:25
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
share 一个vi的tips:)
缩写
:ab cu chinaunix

以后就可以自己写cu(空格 or 回车 or tab后)vi自动把cu替换成chinaunix
作者: czyf2001    时间: 2005-02-02 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-02-03 13:18
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我在编辑模式中按方向键移动,当按到边界时,就会发出哗的一声,推出到命令模式,郁闷阿??
作者: flw    时间: 2005-02-03 23:04
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
应该是“哔”的一声吧?
“哗”声没有听到过。
你现在想要怎么样呢?
作者: xxbview    时间: 2005-02-03 23:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
比如在编辑模式中,按forward键,光标一直向前移,移到一行最后继续按forward键,光标不会移动到下一行的开头,而是会发出一声,就像是按了几次Esc时那样的声音,然后退出到命令模式,要再按个"i"才能继续进入编辑模式。上下左右四个方向都是这样。
所以很郁闷,经常按过了头,就退出到命令模式,要再按个"i"。
作者: china_forrest    时间: 2005-02-17 08:14
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
在vi中,如果我不小心按错了键,跑到文件头或者文件尾了,怎么能快速回到刚才光标所在的位置?
作者: flw    时间: 2005-02-17 11:27
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
vi 中不知道。
vim 中可以用 Ctrl+o(欧) 回来。
作者: china_forrest    时间: 2005-02-18 05:40
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
自己回答一下自己的问题,vi中用``就可以回到刚才的位置。
作者: china_forrest    时间: 2005-02-18 05:44
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
再问一个问题,我原来都是用emacs的,但是觉得emacs太大了,启动非常慢,现在改用vi,用emacs的时候,如果我键入if,再回车,下一行就自动缩进,直到输入endif再和if对齐,vi中不知道怎么实现这个功能,还有vi可以根据后缀自动识别文件类型吗?
作者: 老蒋    时间: 2005-02-21 22:06
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
我想从其它地方(比如说网页)COPY到正在用VIM编辑的文件中,要用什么命令啊?
无论我怎样复制,用DI命令查不到相应寄存器中有相应 的内容
作者: aero    时间: 2005-02-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-02-22 11:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: a_beginner    时间: 2005-02-22 11:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: flw    时间: 2005-02-22 12:52
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "a_beginner"]同时打开了多个文件,怎么close其中的一个呢?[/quote 发表:

:q
作者: a_beginner    时间: 2005-02-22 13:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: Aprils    时间: 2005-02-22 16:31
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
如题!
作者: aero    时间: 2005-02-22 16:33
标题: 使用 vim 有疑问的朋友们请在此跟贴提问,flw 将尽量为你解答!
[quote]原帖由 "Aprils"]如题![/quote 发表:


为啥要这样使用呢?vim本来就使区分编辑模式和命令模式的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2