如何让VIM只显示*.c;*.h

Vim、Emacs配置和使用
回复
头像
wukunpeng858
帖子: 29
注册时间: 2008-08-16 17:17

如何让VIM只显示*.c;*.h

#1

帖子 wukunpeng858 » 2009-09-06 13:52

输入 :e ./
显示当前目录下所有文件,如何指定文件类型啊?
例如:只显示 *.c 和 *.h 文件!
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 如何让VIM只显示*.c;*.h

#2

帖子 O_O_BOT » 2009-09-06 13:56

irc <roylez_> say: :e *c<tab>
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 如何让VIM只显示*.c;*.h

#3

帖子 O_O_BOT » 2009-09-06 13:57

irc <Judson> say: ls *.c
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何让VIM只显示*.c;*.h

#4

帖子 lilydjwg » 2009-09-06 19:58

wukunpeng858 写了:输入 :e ./
显示当前目录下所有文件,如何指定文件类型啊?
例如:只显示 *.c 和 *.h 文件!
lookupfile-plugin,在vim.org上找
安装后,

代码: 全选

:LUWalk " 或者给它一个映射
可以敲任意部分文件名了
头像
wukunpeng858
帖子: 29
注册时间: 2008-08-16 17:17

Re: 如何让VIM只显示*.c;*.h

#5

帖子 wukunpeng858 » 2009-09-06 23:03

2,3楼的兄弟的方法试过,无效!而且我是在windows系统下,用LS是不可能的,就是可能也太麻烦了(在windows下不如用totalcmd来的方便)
4楼的兄弟的方法试过了,可行!不过有几个问题:
1. 加入插件后,VIM启动速度慢了好多(大概10-20秒),每次打开任意一个文件!
2. 输入有点多,:LUWalk "(也可设映射),backspace(删除 "),输入 *.c\>
3. 无法同时匹配两(或以上)种文件类型文件!

其实2,3都是小问题!第一个问题实在不爽!如何加快启动速度,欢迎指点!
多谢各位解答,如果方便继续讨论!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何让VIM只显示*.c;*.h

#6

帖子 lilydjwg » 2009-09-06 23:33

代码: 全选

:LUWalk
映射(你不会连"后边的也输入了吧?)
启动慢就不知道是怎么回事了(不过Windows下肯定比Linux下慢,但也不至于10几秒啊!)
你设

代码: 全选

:set verbose=10
看看Vim到底在干什么(信息会很多,所以要单独开一个Vim来调试)

对于第三点:;lookupfile是可以用正则的(但我还不会,请:h lookupfile
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何让VIM只显示*.c;*.h

#7

帖子 lilydjwg » 2009-09-06 23:39

想了想,其实你可以考虑VimExplorer(和资源管理器差不多,浏览文件/目录的),可以按后缀排序的(当然,你要自己/\.c)。
头像
wukunpeng858
帖子: 29
注册时间: 2008-08-16 17:17

Re: 如何让VIM只显示*.c;*.h

#8

帖子 wukunpeng858 » 2009-09-06 23:46

经过研究2,3问题基本解决,
现在输入lc查找 *.c,输入lh查找 *.h ,有些小问题不确定:
1. 不知键位是否冲突(刚学VIM不熟悉)!
2. 不知有无其他简便方法!如一个快捷键打开两种文件类型!
有空我再仔细看看正则表达式,看看能否解决!当然有高手知道的话,不吝赐教,也让兄弟少走些弯路!
3. 网上的映射方法无法正常执行,不知为什么?注释部分!
4. 还是感觉加入 lookupfile 后,VIM的启动变慢了!

我的配置如下:
""""""""""""""""""""""""""""""
" lookupfile setting
""""""""""""""""""""""""""""""
let g:LookupFile_MinPatLength = 2 "最少输入2个字符才开始查找
let g:LookupFile_PreserveLastPattern = 0 "不保存上次查找的字符串
let g:LookupFile_PreservePatternHistory = 1 "保存查找历史
let g:LookupFile_AlwaysAcceptFirst = 1 "回车打开第一个匹配项目
let g:LookupFile_AllowNewFiles = 0 "不允许创建不存在的文件
"if filereadable("$vim/../project/.../tags") "设置tag文件的名字
" let g:LookupFile_TagExpr = '"$vim/../project/.../tags"'
"endif
"nmap <silent> <leader>lk <Plug>LookupFile<cr> "映射LookupFile为,lk
"nmap <silent> <leader>ll :LUBufs<cr> "映射LUBufs为,ll
"nmap <silent> <leader>lw :LUWalk<cr> "映射LUWalk为\lw
nnoremap <silent> lc :LUWalk<CR>*.c\>
nnoremap <silent> lh :LUWalk<CR>*.h\>
上次由 wukunpeng858 在 2009-09-07 0:02,总共编辑 1 次。
头像
wukunpeng858
帖子: 29
注册时间: 2008-08-16 17:17

Re: 如何让VIM只显示*.c;*.h

#9

帖子 wukunpeng858 » 2009-09-06 23:53

多谢lilydjwg,在分析VIM启动!可能需要一段时间!如果想不明白,再请您指教!感觉lookupfile应该够用了!
明天再试试VimExplorer,看看有无惊喜!多谢!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 如何让VIM只显示*.c;*.h

#10

帖子 lilydjwg » 2009-09-07 13:19

代码: 全选

:h leader
有很多人把<Leader>定义为,,但默认的是\
现在输入lc查找 *.c,输入lh查找 *.h ,有些小问题不确定:
1. 不知键位是否冲突(刚学VIM不熟悉)!
严重冲突了!
  • l --> 向右移一个字符
    h --> 向左移一个字符
    c --> change
具体请用:help命令看看(这是避免冲突最好的办法)
我常用的映射前缀是-、+、t、w、cs(cscope相关),因为这些键的本意我很少用。
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 如何让VIM只显示*.c;*.h

#11

帖子 O_O_BOT » 2009-09-07 13:33

O_O_BOT 写了:irc <roylez_> say: :e *c<tab>
正解

其实 用fuf.vim也不错
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
wukunpeng858
帖子: 29
注册时间: 2008-08-16 17:17

Re: 如何让VIM只显示*.c;*.h

#12

帖子 wukunpeng858 » 2009-09-07 19:17

明白了!
let mapleader = ","
然后就可以使用<leader>了!
gliethttp
帖子: 1
注册时间: 2008-06-24 16:27

Re: 如何让VIM只显示*.c;*.h

#13

帖子 gliethttp » 2009-11-16 12:58

1. 同时显示.c和.h文件
:e *.[ch]
2. 如故只显示c
:e *.c
头像
widon1104
帖子: 846
注册时间: 2008-07-17 10:55

Re: 如何让VIM只显示*.c;*.h

#14

帖子 widon1104 » 2012-03-24 21:57

set wildignore+=*.o,*.obj,.git,.svn
应该可以把不需要的ignore掉
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: 如何让VIM只显示*.c;*.h

#15

帖子 Fermat618 » 2012-03-26 0:48

lilydjwg 写了:

代码: 全选

:h leader
有很多人把<Leader>定义为,,但默认的是\
现在输入lc查找 *.c,输入lh查找 *.h ,有些小问题不确定:
1. 不知键位是否冲突(刚学VIM不熟悉)!
严重冲突了!
  • l --> 向右移一个字符
    h --> 向左移一个字符
    c --> change
具体请用:help命令看看(这是避免冲突最好的办法)
我常用的映射前缀是-、+、t、w、cs(cscope相关),因为这些键的本意我很少用。
前那五个,前两个我不用,后面三个是严重冲突。cs在surround插件里面用来修改surround的。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
回复