vimrc求援
-
- 帖子: 71
- 注册时间: 2006-11-04 9:13
vimrc求援
学习了一下vim以后,发现非常喜欢这个软件,有点相见恨晚的感觉.突发奇想,打算拿它作为一个随手记录一些东西的工具.但遇到了一些问题,到这里求援了.
首先我的设想是希望一打开vim,见到如下的内容: (论坛里没法保存缩进,我用....代替了.)
=========================
新内容写在此行下:
....
2008年5月14日 23时07分57秒:
....这是已经保存的第一条信息
2008年5月14日 22时08分27秒:
....这是保存的较早的信息
2008年5月14日 21时08分57秒:
....这是保存的更早的信息.
...
...
=========================
使用的时候,基本上是这样的:
一打开文件,我会把最新的内容写在第二行,有一个缩进.
保存的时候,自动把"新内容写在此行下"替换成当时的时间.(这个我已经学会了.)
然后自动在上方插入一个"新内容写在此行下"(这个怎么弄?),
再就是所有保存的信息最好是折叠起来.(看了半天的Help,似乎是要设置foldtext,可不得要领.需要指点.)
总结一下,就是三个需要高手指点一下,
第一是如何在替换第一行为当时时间的时候,再插入一行提示.
第二是如何让记录的信息折叠..
第三是如何在打开文件的时候,光标正好在第二行缩进的位置.
首先我的设想是希望一打开vim,见到如下的内容: (论坛里没法保存缩进,我用....代替了.)
=========================
新内容写在此行下:
....
2008年5月14日 23时07分57秒:
....这是已经保存的第一条信息
2008年5月14日 22时08分27秒:
....这是保存的较早的信息
2008年5月14日 21时08分57秒:
....这是保存的更早的信息.
...
...
=========================
使用的时候,基本上是这样的:
一打开文件,我会把最新的内容写在第二行,有一个缩进.
保存的时候,自动把"新内容写在此行下"替换成当时的时间.(这个我已经学会了.)
然后自动在上方插入一个"新内容写在此行下"(这个怎么弄?),
再就是所有保存的信息最好是折叠起来.(看了半天的Help,似乎是要设置foldtext,可不得要领.需要指点.)
总结一下,就是三个需要高手指点一下,
第一是如何在替换第一行为当时时间的时候,再插入一行提示.
第二是如何让记录的信息折叠..
第三是如何在打开文件的时候,光标正好在第二行缩进的位置.
上次由 hahagood 在 2008-05-15 9:36,总共编辑 3 次。
- yaoms
- 帖子: 4952
- 注册时间: 2007-10-19 14:51
- 来自: 深圳
-
- 帖子: 71
- 注册时间: 2006-11-04 9:13
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 71
- 注册时间: 2006-11-04 9:13
我从网上抄了一段代码,可以把第一行替换成当前时间.可是不知道如何再插入新的一行.
autocmd BufWritePre,FileWritePre *.nb ks|call KeepRec()|'s
fun KeepRec()
..if line("$") > 5
....let l = 5
..else
....let l = line("$")
..endif
..exe "1," . l . "g/Keep Record: /s/Keep Record: .*/Keep Record: <Input below>" .
....\ strftime("%Y %m %d %X")
endfun
格式解析和光标位置的函数也许就是需要高手提示我的内容了.
autocmd BufWritePre,FileWritePre *.nb ks|call KeepRec()|'s
fun KeepRec()
..if line("$") > 5
....let l = 5
..else
....let l = line("$")
..endif
..exe "1," . l . "g/Keep Record: /s/Keep Record: .*/Keep Record: <Input below>" .
....\ strftime("%Y %m %d %X")
endfun
格式解析和光标位置的函数也许就是需要高手提示我的内容了.
- Strange
- 帖子: 1824
- 注册时间: 2006-05-19 9:54
- 来自: Shanghai
1.
autocmd的时候,再加入 normal ggyyp
autocmd BufWritePre,FileWritePre *.nb ks|normal ggyyp|call KeepRec()|'s
KeepRec里第一行也改成第二行
2.
折叠写函数交给 foldexpr
fun Aaa()
..if v:lnum > 3
....return 1
..else
....return 0
..endif
endfun
:set foldexpr=Aaa()
:set fdm=expr
3.
autocmd BufRead *.nb normal 2Ge
基本上就是这样了,懒得测试了
强烈支持把vim当作通用编辑器,而不是编程用的,这才是vim的正道
autocmd的时候,再加入 normal ggyyp
autocmd BufWritePre,FileWritePre *.nb ks|normal ggyyp|call KeepRec()|'s
KeepRec里第一行也改成第二行
2.
折叠写函数交给 foldexpr
fun Aaa()
..if v:lnum > 3
....return 1
..else
....return 0
..endif
endfun
:set foldexpr=Aaa()
:set fdm=expr
3.
autocmd BufRead *.nb normal 2Ge
基本上就是这样了,懒得测试了
强烈支持把vim当作通用编辑器,而不是编程用的,这才是vim的正道
ニンニク入れますか?
x60 with gentoo
x60 with gentoo
- Strange
- 帖子: 1824
- 注册时间: 2006-05-19 9:54
- 来自: Shanghai
- Strange
- 帖子: 1824
- 注册时间: 2006-05-19 9:54
- 来自: Shanghai